自考高级数据库技术自考复习资料总结.docx
《自考高级数据库技术自考复习资料总结.docx》由会员分享,可在线阅读,更多相关《自考高级数据库技术自考复习资料总结.docx(14页珍藏版)》请在冰豆网上搜索。
自考高级数据库技术自考复习资料总结
1.数据库特点:
数据共享,数据完整性,数据独立性高,数据安全性
2.数据库管理技术经历的三个阶段:
人工管理阶段,文件系统阶段,数据库管理阶段。
3.数据库的三级模式结构指:
概念模式(模式),内模式,外模式(子模式或用户模式)。
概念模式简称模式:
对全局数据逻辑结构和特征的描述。
模式DDL用来描述整体逻辑结构。
外模式(子模式或用户模式):
用户与数据库系统的接口,是用户用到的那部分数据的描述。
单个用户作用的数据视图的描述。
外模式DDL用来描述局部逻辑结构。
内模式:
数据库在物理存储方面的描述,定义所有的内部记录类型,索引和文件的组织方式,以及数据控制方面的细节。
内模式DDL用来描述物理存储结构。
4.两级数据独立性:
物理数据独立性(内模式改变),逻辑数据独立性(概念模式改变)
5.数据库系统采用三级模式结构和两级映象(模式/内模式,外模式/模式)功能,从而系统具有较高的数据独立性。
6.广泛应用的两种数据模型:
概念数据模型和结构数据模型
7.概念数据模型中著名的模型是实体联系模型(简称ER模型),结构数据模型中广泛应用的是面向对象模型。
8.ER图中:
矩形框表示实体类型,菱形框表示联系类型,椭圆形框表示实体类型和联系类型的属性。
9.结构数据模型包括:
层次,网状,关系,面向对象模型。
DBMS可以分成:
层次型,网状型,关系型,面向对象型
10.层次模型和网状模型中通过指针实现实体之间联系,关系模型用二维表结构表达实体集,用外键表示实体间联系。
11.结构数据模型包含三个部分:
数据结构,数据操作和数据完整性约束。
12.数据库的完整性控制:
保证数据及语义正确和有效的功能。
13.数据库保护控制功能:
恢复,并发控制,完整性控制,安全性控制。
14.数据库操纵功能(DML):
检索(查询),更新(插入,删除,修改)
15.DBS中,DBMS调用OS,DBS包括DB和DBMS。
16.DBA职责:
概念模式定义,内模式定义,修改概念模式和内模式,对数据库访问的授权,完整性约束的说明。
17.[简答]DBMS的功能包括:
数据库定义,操纵,保护,存储管理,维护。
18.DBS组成:
DB,硬件,软件(DBMS,OS),数据库管理员(DBA)
19.数据库用户中权限最高的是DBA。
20.数据库用户包括:
DBA,专业用户,应用程序员,最终用户。
21.关系模型中,关系的基数是指元组个数(行数)。
关系的元数是指属性个数(列数)。
元组为行,属性为列。
22.概念模式是关系模式的集合,外模式是关系子模式的集合,内模式是存储模式的集合。
23.关系模型的三类完整性规则:
实体完整性规则,参照完整性规则,用户定义的完整性规则。
24.参照完整性规则是指关系的外键只充许是参照表的有效值或空值。
25.实体完整性规则是指关系的主键不能有空值且唯一标识元组。
26.关系代数中,交:
选取两个关系中相同元组的操作。
选择:
选取关系中符合条件的元组操作。
投影:
选取关系中某些列并去掉重复元组的操作。
27.SQL语言优点:
方便,功能丰富,语言简洁易学,数据独立性好,高度非过程化,功能一体化,高度描述性,基于集合的操作方式,交互与嵌入方式的统一性。
28.[简答]SQL语言功能:
数据定义,数据查询,数据控制,数据操纵。
29.SQL主要组成部分:
数据定义,数据操纵,数据控制,嵌入式SQL作用规定。
30.SQL语言的三级模式:
关系模式称为基本表,存储模式称为存储文件,子模式称为视图。
31.%:
代表零个或多个任意字符的通配符,_:
代表任意单个字符匹配的通配符。
[]:
代表指定范围或集合中的任何单个字符的通配符。
32.通配符与运算符LIKE一起使用。
33.WHERE子句称为行条件子句:
对关系的元组进行筛选,GROUP子句称为分组子句,HAVING子句称为组条件子句:
对分组结果进行筛选,ORDER子句称为排序子句。
34.关系代数中的笛卡尔积运算对应SELECT语句上的FROM子句。
选择运算对应SELECT语句中的WHERE子句。
投影运算对应SELECT语句中的SELECT子句。
35.完整性约束主要有三种子句:
主键子句(PRIMARYKEY)――实现实体完整性规则,检查子句(CHECK)――实现用户定义完整性规则,外键子句(FOREIGNKEY)――实现参照完整性规则
36.DDL:
CREATE,ALTER,DROP。
DML:
INSERT,DELETE,UPDATE。
DCL:
GRANT,REVOKE
37.WHERE条件表达式用来筛选满足条件的行。
38.为了所查询的列值唯一,在使用SELECT语句查询时应使用的保留字是DISTINCT。
39.为了使索引键的值在基本表中唯一,在建立索引的语句中应使用的保留字是UNIQUE。
40.为了建立聚簇索引,在建立索引的语句中应使用的保留字是CLUSTER。
41.计算一列中非空值的个数时可使用的聚合函数是COUNT,不忽略空值。
42.SELECT语句的执行结果是表(关系)。
视图提高了系统的完整性。
视图不充许包含ORDERBY,COMPUTE,COMPUTEBY。
视图是一个虚表,视图的构造基于基本表或视图。
视图不能更新。
在视图上定义新视图或者新的基本表。
不可以在临时表上创建视图。
43.修改表结构语句:
ALTERTABLE。
44.IN等价于(=SOME),NOTIN等价于(<>ALL),SUM(列名):
计算一列值的总和。
COUNT(列名):
对一列中的值计算个数。
COUNT(*):
计算元组的个数。
45.任何一个三目关系都属于第二范式。
满足特定要求的模式称为范式。
46.软件生存期:
规划,需求分析,设计,程序编制,调试,运行维护。
47.数据库系统的生存期:
规划,需求分析(DD:
数据与业务关系的描述),概念设计(ER模型)[主要步骤:
进行数据抽象,设计局部概念模式,将局部概念模式综合成全局概念模式,评审。
],逻辑设计[主要步骤:
初始模式的形成,子模式设计,应用程序设计梗概,模式评价,修正模式],物理设计[主要步骤:
存储记录结构设计,确定数据存储安排,访问方法的设计,完整性和安全性,程序设计],实现和维护阶段。
48.事务的性质:
原子性(事务管理子系统实现),一致性,隔离性,持久性。
49.在数据库作为并发控制与恢复的基本单位是事务。
50.数据库的完整性是指数据的正确性和相容性。
51.SQLSERVER2000是一个支持客户/服务器模式的关系数据库。
它由多个数据文件(一个主数据文件.mdf,多个次要数据库文件.ndf)和多个日志文件(至少一个日志文件,记录事件发生情况,事件日志文件的扩展名.ldf)组成。
其系统数据库:
msdb,model,master.
52.SQL2000触发器生效操作:
UPDATE,DELETE,INSERT。
53.SQL2000数据类型:
CHAR,VARCHAR,TEXT,NTEXT,IMAGE,BIGINT,NCHAR,FLOAT。
54.触发器是一种特殊类型的存储过程。
55.SQL2000的数据恢复模型:
简单恢复(不涉及事务日志备份),完全恢复(涉及数据库备份和事务日志备份),批日志恢复。
56.SQL2000的数据库角色:
db_owner等以db_开头的。
服务器角色:
sysadmin等不以db_开头的。
57.SQL2000中的完全备份可以实现备份整个数据库。
差异备份实现自上次备份以来对数据库所作的修改。
58.SQL2000备份类型:
完全备份,事务日志备份,差异备份,文件备份。
59.ODBC数据源:
用户DSN,系统DSN,文件DSN。
60.SQLSERVERAGENT是一个任务规划器和警报管理器。
61.[简答]SQL2000特性:
INTERNET集成,可伸缩性,企业级数据库功能,易用性。
62.[简答]SQL2000提供的服务器启动方式:
通过SQLSERVER服务管理器启动,通过企业管理器启动,通过命令行方式启动,通过NT/2000操作系统的服务管理程序启动。
63.[简答]SQL2000的安全身份验证模式:
WINDOWS身份验证模式,混合模式。
64.[简答]ODBC:
可以使用开放数据库连接来访问来自多种数据库管理系统的数据,ODBC是一个函数库,提供了一个连接到底层数据库系统的公共应用程序接口,通过一个库驱动程序与数据库进行通信。
根据数据库类型的不同,借助网络驱动程序可以实现连接远程的数据库。
65.[简答]存储过程:
一组编译在单个执行计划中的TRANSACT-SQL语句。
其优点:
允许模块程序设计,存储过程帮助在不同的应用程序之间实现一致的逻辑。
存储过程可以提高性能。
允许更快执行,减少网络流量。
存储过程还可以使用户不必知道数据库内表的详细信息。
可作为安全机制使用。
66.[简答]WEB数据库的结构:
两层(C/S)客户机,服务器,三层(B/S)浏览器,WEB服务器,数据库服务器。
67.[简答]SQL语言的三级模式结构:
三级模式分别为外模式,模式和内模式。
外模式对应的是视图和部分的基本表。
模式对应的是基本表的集合,而内模式则对应具体的存储文件。
68.[简答]索引:
表示数据的另外一种方式。
它提供的数据顺序不同于数据在磁盘上的物理存储顺序。
索引的特殊作用是在表内重新排列记录的物理位置。
索引可以建立在表的一列上,或者是建立在表的几列的组合之上。
当使用索引的时候,数据就以一种分类排序的方式提供给用户。
一般说来,索引的创建和删除都是由数据库管理员或者是建表人来完成的。
而索引的作用则是系统在存储和查询数据时自动完成的。
用户不必也不能选择索引。
69.[简答]WEB数据库:
动态网页开发所使用的数据库。
与普通数据库的不同点:
WEB数据库是通过其他WEB应用程序,标准化的HTML标记开发的特殊形式的应用程序来访问的数据库。
70.[简答]SQL语言特点:
功能一体化,高度的描述性,基于集合的操作方式,两种使用方式语法结构的统一性,语言的简洁性,易学性。
71.[简答]SQL2000架构:
数据库架构,关系数据库引擎构架,管理架构,复制架构,应用程序开发架构。
72.[简答]DSN:
DATASOURCENAME,ODBC数据源。
类型:
用户DSN,系统DSN,文件DSN。
73.[简答]控制事务方式:
自动提交事务,显示事务,隐性事务。
74.[简答]WEB数据库C/S结构:
客户机/服务器。
特点:
两层结构。
75.[简答]WEB数据库的B/S结构:
浏览器,WEB服务器,数据库服务器。
特点:
三层结构。
76.[简答]视图:
基于基本表的一种虚拟表,也就是说,视图看起来像表,而且也像表一样操作。
但是视图并不像表一样是包含数据的,存储一个视图只是存储它的定义。
实际上,视图可以被理解为是保存在数据库的SELECT查询,当基本表本身发生变化的时候,视图也会产生相应的变化。
视图的作用是提高表的完整性。
77.[简答]触发器:
一种特殊类型的存储过程,当使用UPDATE,INSERT或DELETE语句对数据进行修改时,触发器会生效。
触发器可以查询其他表,而且可以包含复杂的SQL语句。
他们主要用于强制复杂的业务规则或要求。
触发器还有助于强制引用完整性,以便在添加、更新或删除表中的行时保留表之间已经定义的关系。
然而,强制引用完整性的最好方法是在相关表中定义主键和外键约束。
78.数据库三层结构的优点:
集中式管理。
集中式计算,分布式的资源共享,更便捷的安全管理。
79.SQLSERVER权限管理的三种状态:
授予,撤消,拒绝。
80.存储过程的四种返回数据方式:
输出参数,返回代码,始终是整型值,SELECT语句的结果集,可从存储过程外引用的全局游标。
81.在学生选课信息中,一名学生可选修多门课程,而每门课程有多名学生选修,学生学习一站课程有一个分数,学生有属性学号,姓名,年龄和性别,课程有属性课程号,课程名,任课教师名和学时,根据语义设计ER模型,要求画出属性和标注联系的类型,并将ER模型转换成关系模式。
ER图
关系模式集学生关系模式S(S#,SNAME,AGE,SEX)
学习关系模式SC(S#,C#,GRADE)
课程关系模式C(C#,CNAME,TEACHER,STUDYTIME)
82.根据上面关系有如下数据结构:
字段名
类型
长度
特殊性质
主键
外键及参照表
含义
S#
CHAR
4
NOTNULL
PRIMARY
KEY
学号
SNAME
CHAR
8
NOTNULL
姓名
AGE
SMALLINT
年龄
SEX
CHAR
1
性别
字段名
类型
长度
特殊性质
主键
外键及参照表
含义
C#
CHAR
4
NOTNULL
PRIMARY
KEY
课程号
CNAME
CHAR
10
NOTNULL
课程名
TEACHER
CHAR
8
任课教师名
STUDYTIME
SMALLINT
学时
字段名
类型
长度
特殊性质
主键
外键及参照表
含义
S#
CHAR
4
NOTNULL
PRIMARY
KEY
S(S#)
学号
C#
CHAR
4
NOTNULL
PRIMARY
KEY
C(C#)
课程号
GRADE
SMALLINT
0-100
分数
1>创建SC数据表(假设S和C数据表已经创建)
createtablesc
(
s#char(4),
c#char(4),
gradesmallint,
primarykey(s#,c#),
foreignkey(s#)referencess(s#),
foreignkey(c#)referencesc(c#),
check(gradebetween0and100)
)
2>在S表中插入数据(‘s7’,’wan’,21,’M’):
insertintosvalues('s7','wan',21,'M')
3>查询学号为’S1’的学生所选课程的课程号及课程名。
SELECTC#,CNAMEFROMCWHEREC#IN(SELECTC#FROMSCWHERES#='S1')
4>查询姓名为’CHEN’的课程总数及总分数。
SELECTCOUNT(C#),SUM(GRADE)FROMSCWHERES#=(SELECTS#FROMSWHERESNAME=’CHEN’)
5>将课程名为’maths’的成绩提高5分。
UPDATESCSETGRADE=GRADE+5WHEREC#IN(SELECTC#FROMCWHERECNAME=’MATHS’)
6>将学生‘DONG’的成绩从SC表中删除。
DELETEFROMSCWHERES#IN(SELECTS#FROMSWHERESNAME=’DONG’)
7>创建S表中的S#,SNAME,AGE,SEX,C表中的CNAME,及SC表中的GRADE列数据组成的视图S_C_SC。
CREATEVIEWS_C_SCAS
SELECTX.S#,X.SNAME,X.AGE,X.SEX,Y.CNAME,Z.GRADEFROMSX,CY,SCZWHEREX.S#=Z.S#ANDY.C#=Z.C#
8>把对SC表中的成绩的修改权限授给用户LIU.
GRANTUPDATEONSC(GRADE)TOLIU
注意回收:
REVOKEUPDATEONSC(GRADE)FROMWEN
--createatempdatabase
createdatabase"X8023Z"
--USEthedatabase"x8023z"
usex8023z
--createatablefors
createtables
(
s#char(4)notnull,--此处notnull多余,可删除
snamechar(8)notnull,
agesmallint,
sexchar
(1),
primarykey(s#)
)
--createatableforc
createtablec
(
c#char(4),
cnamechar(10)notnull,
teacherchar(8),
studytimesmallint,
primarykey(c#)
)
--createatableforsc
createtablesc
(s#char(4),
c#char(4),
gradesmallint,
primarykey(s#,c#),
foreignkey(s#)referencess(s#),
foreignkey(c#)referencesc(c#),
check(gradebetween0and100))
--insertsomedatafors,c,sc
insertintosvalues('s1','wang',20,'M')
insertintosvalues('s4','wu',19,'M')
insertintosvalues('s2','liu',21,'F')
insertintosvalues('s3','chen',22,'M')
insertintosvalues('s8','dong',18,'F')
insertintocvalues('c1','maths','ma',12)
insertintocvalues('c2','physics','shi',24)
insertintocvalues('c3','chemistrys','zhou',44)
insertintocvalues('c4','database','li',4)
insertintoscvalues('s1','c1',80)
insertintoscvalues('s3','c1',90)
insertintoscvalues('s1','c2',70)
insertintoscvalues('s3','c2',85)
insertintoscvalues('s3','c3',95)
insertintoscvalues('s4','c4',70)
insertintoscvalues('s8','c3',90)
SELECTC#,CNAMEFROMCWHEREC#IN(SELECTC#FROMSCWHERES#='S1')
SELECTCOUNT(C#),SUM(GRADE)FROMSCWHERES#IN(SELECTS#FROMSWHERESNAME='chen')
UPDATESCSETGRADE=GRADE+5WHEREC#IN(SELECTC#FROMCWHERECNAME='MATHS')
DELETEFROMSCWHERES#IN(SELECTS#FROMSWHERESNAME='DONG')
CREATEVIEWS_C_SCAS
SELECTX.S#,X.SNAME,X.AGE,X.SEX,Y.CNAME,Z.GRADEFROMSX,CY,SCZWHEREX.S#=Z.S#ANDY.C#=Z.C#
GRANTUPDATEONSC(GRADE)TOLIU
REVOKEUPDATEONSC(GRADE)FROMWEN