一、选择题 (每小题1分,共10分)
1.在数据库技术中,独立于计算机系统的模型是___A_____。
A.E-R模型 B.层次模型 C.关系模型 D.面向对象的模型
2.取出关系中的某些列,并消去重复的元组的关系运算称为___B_____。
A.取列运算 B.投影运算 C.联结运算 D.选择运算
3.SQL基本表的创建中是通过___B______实现参照完整性规则的。
A.主键子句 B.外键子句 C.检查子句 D.NOT NULL
4.设计性能较优的关系模式称为规范化,规范化的主要理论依据是___A____。 A.关系规范化理论 B.关系运算理论 C.代数运算理论 D.数理逻辑理论
5.在E-R模型转换成关系模型的过程中,下列叙述不正确的是___C_______。 A.每个实体类型转换成一个关系模式 B.每个M∶N联系类型转换一个关系模式 C.每个联系类型转换成一个关系模式
D.在处理1∶1和1∶N联系类型时,不生成新的关系模式。
6.系统死锁属于____A_______。
A.事务故障 B.程序故障 C.系统故障 D.介质故障
7.与分散式DB相比,分布式DB具有_____C______。
A.数据分散性 B.数据分布性 C.逻辑整体性 D.数据透明性
8.在面向对象数据模型中,下列叙述不正确的是____C_______。 A.类相当于E-R模型中实体类型 B.类本身也是一个对象 C.类相当于E-R模型中实体集 D.类的每个对象也称为类的实例
9.假如采用关系数据库系统来实现应用,在数据库设计的___C____阶段,需要将E-R模型转换为关系数据模型。
A.概念设计 B.物理设计 C.逻辑设计 D.运行阶段
10.数据库镜像可以用于_____C______。
A.保证数据库的完整性 B.实现数据库的安全性 C.进行数据库恢复或并发操作 D.实现数据共享
二、填空题 (每小题1分,共10分)
1.数据库系统中常用的三种数据模型有层次模型、__网状模型__和_关系模型___。 2.关系模式的三类完整性约束条件分别是_实体完整性约束_、参照完整性约束和__用户定义完整性约束_。
3.聚合函数“count(列名)”的语义是__统计本列列值个数__。
4.对于属性X的每个具体值,属性Y都有唯一的具体值与之对应,称Y_函数依赖__X,或称X决定Y,记为__X→Y________。
5.在数据抽象中,概括层次表示___继承__联系,聚集层次表示_包含_联系。
6.如果对数据库的并发操作不加以控制,则会带来三类问题:_丢失更新_,不一致分析问题,_读“脏”数据_。
7.在定义数据分片时,必须遵守三个条件:_完备性条件__,重构性条件和__不相交条件__。
8.继承性可以发生在__类型___一级或___表___一级。
9.与数据库系统相比较,文件管理系统的数据共享性___差___,数据独立性_差__。 10.视图是定义在__基本表__之上的,对视图的一切操作最终要转换为对__基本表__的操作。
三、简答题 (每小题4分,共20分)
1. 什么是并发处理?数据库系统中为什么要具有并发控制的功能? ①在单处理机上,利用分时方法实行多个事务同时做
②数据库是共享资源,通常有许多个事务同时在运行。当多个事务并发地存取数据库时就会产生同时存取同一数据的情况。若对并发操作不加控制就可能会存取和存储不正确的数据,破坏数据库的一致性。所以数据库管理系统必须提供并发控制机制 2. 什么是数据库的恢复?恢复的基本原则是什么?恢复如何实现?
①数据库的恢复是指数据库系统发生故障时,通过一些技术,使数据库从被破坏、不正确的状态恢复到最近一个正确的状态
②恢复的基本原则就是冗余,即数据的重复存储
③定期对整个数据库进行复制或转储;建立日志文件;恢复用REDO或UNDO处理 3. 关系规范化过程实质上是对关系不断分解的过程。分解关系的基本规则是什么? 分解具有“无损连接性” 分解要“保持函数依赖” 4.为什么要对关系代数表达式进行优化?
查询优化是由DBMS对关系代数表达式进行优化组合,以提高DBMS的系统效率。要对关系对数进行优化的原因是:由于关系代数表达式是由关系代数操作组合而成。在关系代数操作中,执行笛卡尔积和连接运算最费时间,并且在执行过程中将产生大量的中间结果,
以使系统执行效率较低。在执行前,由DBMS查询处理子系统先对关系代数表达式进行优化,尽可能早地执行选择和投影操作,以得到较小的中间关系,减少运算量和读外存块的次数,节省系统的执行时间,提高执行效率。
5.为什么说数据冗余会引起数据操作异常?
数据冗余是指数据重复。由于文件之间缺乏联系,造成每个应用程序都有对应的文件,有可能同样的数据在多个文件中重复存储。它通常会引起数据插入、数据删除、数据更新异常
四、综合题 (共60分)
1.(10分)设有关系模式 R(课程号,教师姓名,学生学号,学生姓名,成绩) 规定:每一门课由一名教师讲授,每个学生每门课只有一个成绩,学生的学号决定学生的姓名。请回答下列问题:
(1).请列出该关系模式中包含的所有函数依赖;(2分) (2).指出该关系模式的候选码;(2分)
(3).关系模式R符合第几范式?说明理由;(3分) (4).将R分解符合第三范式,并说明理由;(3分)
答:(1).课程号->教师姓名 学生号,课程号->成绩 学生号->学生姓名(2).候选码是 课程号,学生号(3.)关系模式R符合第一范式。因为非关键字“学生姓名”部分依赖于关键字“学生号”不符合第二范式,因此只符合第一范式(1NF)(4.)将R分解为3个表——S(学生学号,学生姓名) C(学生学号,课程号,成绩)T(课程号,教师姓名)这样一来 消除了非关键字对关键字的部分依赖,也没有关键字与非关键字的传递依赖。符合第三范式。
2. (18分)现有如下关系:
职工(职工号,姓名,性别,职务,家庭地址,部门编号) 部门(部门编号,部门名称,地址,电话)
保健(保健卡编号,职工号,检查身体日期,健康状况)
(1).用关系代数表达式写出,查找所有女科长的姓名和家庭地址;
(2).用关系代数表达式写出,查找“办公室”的科长姓名和家庭地址;
(3).用关系代数表达式写出,查找“财务科”中健康状况为“良好”的职工姓名和家庭地址。
(4).用SQL语句写出,删除职工关系表中职工号为“3016”的记录;
(5).用SQL语句写出,将职工号为“3061”的职工的健康状况改为“一般”; 答:update 保健 set 健康状况 = '一般' where 职工号 = '3061' (字母大写!!!!!) (6).用SQL语句写出,建立健康状况为“差”的职工的视图。 答:create view \"差\" as
select * from 职工 where 职工号 = (select 职工号 from 保健 where 健康状况 = '差')
3.(10分)假设某公司的业务规则如下:
1公司下设几个部门,如技术部、财务部、市场部等。 2每个部门承担多个工程项目,每个工程项目属于一个部门。 3每个部门有多名职工,每一名职工只能属于一个部门。
4一个部门可能参与多个工程项目,且每个工程项目有多名职工参与施工。根据职工在工程项目中完成的情况发放酬金。
5工程项目有工程号、工程名两个属性;部门有部门号、部门名称两个属性;职工有职工号、姓名、性别属性; 问题:
(1).根据上述规则设计E-R模型。 答:(如下图)
(2).将E-R模型转换成关系数据模型,并指出每个关系的主键和外键。
4.(10分)设有如图的关系R 职工号 E1 E2 E3 E4 职工名 ZHAO QIAN SEN LI 年龄 20 25 38 25 性别 F M M F 单位号 D3 D1 D3 D3 单位名 CCC AAA CCC CCC 试问关系R属于第几范式?说明原因。
5.(12分)设教学数据库有三个关系:学生关系:S(S#,SNAME,AGE,SEX);
选课关系:SC(S#,C#,GRADE);课程关系:C(C#,CNAME,TEACHER)。数据库上的一个查询为“检索选修了张红老师讲授的课程并且成绩高于90分的女同学名字”。
(1)写出该查询初始关系代数表达式。
(2)画出初始关系代数表达式对应的查询树。
(3)使用启发式代数优化规则对该查询进行优化,画出优化的过程和最后结果。
因篇幅问题不能全部显示,请点此查看更多更全内容