像关系使数据模式不变化,从而保证从模式中导出的外模式也不变化,最终使得根据外模式设计的应用程序也不用改动。
3.请简述数据库管理系统的主要功能及各功能的作用。 ★考核知识点:DBMS的主要功能 附2.1.3:(考核知识点解释)
(1)数据定义功能:定义数据库中的数据对象。
(2)数据操纵功能:对数据进行增、删、改、查询、统计等操作。
(3)数据库的建立和维护功能:建立数据库包括数据库初始数据输入等;维护数据库包括数据库转储、恢复、重组以及数据库结构的修改和扩充等。
(4)数据库的运行管理:DBMS的核心功能;对数据库的建立、运行、维护进行统一管理,保证数据的安全性、完整性、并发行和故障排除。 4.请简述用户访问数据库中数据的过程。 ★考核知识点:用户访问数据库中数据的过程 附2.1.4:(考核知识点解释)
(1)用户用某种特定的数据操作语言向DBMS发出存取请求;
(2)DBMS接收请求并解释请求,然后检查用户是否有该操作权限,如果有则进行第3步,否则撤销该操作;
(3)DBMS依次检查外模式、外模式/模式映像、模式、模式/内模式映像及存储结构定义; (4)DBMS对数据库执行必要的存取操作。
在用户访问数据库的过程中,DBMS还要进行完整性检查,确保数据库中数据的合法性。 5.请简述数据库系统的组成。 ★考核知识点:DBS的组成 附2.1.5:(考核知识点解释)
6.请简述关系模型中关系、元组、属性、域、候选码和主码的概念。 ★考核知识点:关系模型的基本术语 附2.1.6:(考核知识点解释)
(1)关系:关系数据库中的一个二维表 (2)元组:表中的一行 (3)属性:表中的一列 (4)域:属性的取值范围
(5)候选码:关系中能唯一标识一个元组的某一属性组
(6)主码:若一个关系有多个候选码,则选定其中一个用以唯一标识元组 7.请简述关系的性质。
★考核知识点:关系模型的基本术语 附2.1.7:(考核知识点解释) (1)列是同质的;
(2)不同的列可出自同一个域; (3)列的顺序无关性; (4)行的顺序无关性; (5)不能有两个完全相同的行。
8.请举例说明实体完整性、参照完整性和用户自定义完整性。 ★考核知识点:关系的完整性 附2.1.8:(考核知识点解释) (1)实体完整性
举例:对于学生(学号, 姓名, 性别, 年龄, 系别, 身份证号) 关系,每一名学生学号必须不同且不能为空 (2)参照完整性
举例:对于学生(学号, 姓名, 性别, 年龄, 系别, 身份证号)、选修(学号, 课程号, 成绩)这两个关系,选修表中学号取值或者为空,或者为学生表中某一名学生的学号 (3)用户自定义完整性
举例:性别只能取值为“男”或“女”,课程成绩的取值为0~100 9.请简述索引的正面作用和负面作用。 ★考核知识点:索引的创建与删除 附2.1.9:(考核知识点解释)
(1)创建索引的正面作用:加快数据检索速度;通过创建唯一性索引,可以保证每一行
数据的唯一性;减少分组和排序的时间;加速表与表之间的连接速度。
(2)创建索引的负面作用:创建和维护索引要消耗时间;索引本身也需要占用存储空间;对基本表中的数据进行增加、删除和修改操作时,系统要对索引进行动态维护,降低了数据的维护速度。
10.请简述创建索引的原则。 ★考核知识点:索引的创建与删除 附2.1.10:(考核知识点解释) (1)为主键创建索引;
(2)为经常需要检索的列创建索引;
(3)为经常用于连接操作的列创建索引,即在定义为外键的列上创建索引;
(4)为经常需要根据范围进行检索搜索的列创建索引,因为索引已经有序,其指定范围是连续的;
(5)为经常需要排序的列创建索引,同样因为索引已经有序,可以加快排序速度; (6)为经常使用到WHERE子句上的列创建索引;
(7)对于那些只有很少取值的列不要创建索引,例如人事表中的性别列;
(8)对于那些定义为TEXT、IMAGE和BIT数据类型的列不要创建索引,因为这些列的数据量或者相当大,或者取值很少;
(9)当对UPDATE(修改)性能要求远多于SELECT(查询)性能要求时,不应该创建索引,因为增加索引时,虽然会提高SELECT的性能,但同时会降低UPDATE的性能。 11.请简述关系数据库中视图的作用。 ★考核知识点:视图的作用 附2.1.11:(考核知识点解释) (1)使用视图可以简化用户操作;
(2)视图机制使不同的用户能以不同的角度看待同一数据,当不同用户使用同一个数据库时,具有较强的灵活性;
(3)视图对于数据库的重构提够了一定程度的逻辑独立性;
(4)利用视图可以把对数据库的访问限制在一定范围内,有利于对机密数据的保护。 12.请举例说明插入异常和删除异常。 ★考核知识点:关系数据库的模式设计 附2.1.12:(考核知识点解释)
对于学生选课(学号,姓名,系别,年龄,课程号,课程名,成绩,先修课号)这一关系模式,学号、课程号为主码。
(1)插入异常:如果新转来一名学生还没有选课,则会由于课程号为空而无法将其插入。 (2)删除异常:如果某门课程只有一名学生选修,该名学生转学后,就会由于没有其他学生选修该课程而将课程信息同时删除。 13.请简述数据库中事务的概念及其特点。 ★考核知识点:事务
附2.1.13:(考核知识点解释)
(1)事务的概念:由用户定义的一个数据库操作序列,这些操作或者全部执行成功,或者一个也不执行,它是一个不可分割的逻辑工作单元 (2)事务的特点:原子性、一致性、独立性、永久性。 14.请简述数据库系统中故障的类型。 ★考核知识点:故障的类型 附2.1.14:(考核知识点解释)
(1)事务故障:非预期的故障,即不能由事务程序处理的故障;可预期的故障,即应用程序可以发现的事务故障。
(2)系统故障:指由于硬件故障或者软件错误造成系统停止运行,系统需要重新启动。 (3)介质故障:指磁盘故障。
(4)计算机病毒:一种人为的破坏性程序,它可以像生物病毒一样繁殖、传播,并造成对包括数据库在内的计算机系统的破坏。 15.请简述数据库恢复的基本技术。 ★考核知识点:恢复的实现技术 附2.1.15:(考核知识点解释)
(1)定期数据转储:指数据库管理员(DBA)定期将数据库复制到磁带或另一个磁盘上保存起来的过程。
(2)建立日志文件:记录事务对数据库的更新操作。 16.请简述数据库系统中一般日志文件的记录内容。 ★考核知识点:恢复的实现技术 附2.1.16:(考核知识点解释) (1)执行操作的事务标识;
(2)操作类型(插入、删除或修改); (3)操作对象;
(4)更新前数据的旧值(对插入操作,此项为空); (5)更新后数据的新值(对删除操作,此项为空);
(6)更新日期和时间。
17.请简述数据库系统中事务故障的恢复步骤。 ★考核知识点:恢复的策略方法 附2.1.17:(考核知识点解释)
(1)从日志文件最后向前扫描,查找该事务的更新操作;
(2)对该事务的更新操作执行逆操作,即将日志记录中的“更新前数据的旧值”写入数据库;
(3)若记录中是插入操作,则相当于作删除操作;若记录中是删除操作,则作插入操作;若记录中是修改操作,则用修改前值代替修改后值;
(4)继续从后向前扫描日志文件,查找该事务的其他更新操作,并作同样处理; (5)重复上述步骤,直到读到该事务的开始标记,则事务故障恢复完成。 18.请简述数据库系统中系统故障的恢复步骤。 ★考核知识点:恢复的策略方法 附2.1.18:(考核知识点解释)
(1)从日志文件开头向后扫描,找出故障发生时尚未完成的事务(这些事务只有BEGIN TRANSACTION记录,而没有COMMIT记录),将它们的事务标记送入撤销(UNDO)队列。同时找出故障发生前已经提交的事务(这些事务既有BEGIN TRANSACTION记录,也有COMMIT记录),将它们的事务标记送入重做(REDO)队列;
(2)对撤销队列中的各个事务进行撤销(UNDO)处理,即从后向前扫描日志文件,对每个UNDO事务的更新操作执行逆操作;
(3)对重做队列中的事务进行重做(REDO)处理,即从前向后扫描日志文件,对每个REDO事务重新执行日志文件记录的操作。
19.请简述数据库系统中介质故障的恢复步骤。 ★考核知识点:恢复的策略方法 附2.1.19:(考核知识点解释)
(1)装入离故障发生时刻最近的静态转储后备副本,或者动态转储的后备副本和日志文件副本并执行撤销和重做操作,使数据库恢复到最近一次转储时的一致性状态; (2)装入转储结束时刻的日志文件副本,重做已完成的所有事务。 20.请简述SQL Server 2000中提供的三种恢复模型的备份策略。 ★考核知识点:SQL Server 2000的恢复技术 附2.1.20:(考核知识点解释)
(1)简单恢复模型:数据库备份;差异备份(可选)。