数据库复习与习题课Word文档格式.docx
《数据库复习与习题课Word文档格式.docx》由会员分享,可在线阅读,更多相关《数据库复习与习题课Word文档格式.docx(5页珍藏版)》请在冰豆网上搜索。
数据库的建立和删除;
表、视图和索引的创建、修改和删除;
数据查询和更新及其优化。
8.数据库系统设计:
需求分析(数据字典)、概念结构设计(E-R图)、逻辑结构设计(E-R图向关系模型的转换、关系模型优化、设计视图)、物理结构设计。
9.数据的事务机制与并发控制,数据库的故障和处理
6.1.2数据库技术课程习题示例
1.填空题(每空2分,共20分)
(1)在Transact-SQL中,与“NOTIN”等价的操作符是______。
(2)在关系数据库中,关系模式至少满足______范式。
(3)两个函数依赖集F和G等价的充分必要条件是_F+=G+_。
(4)数据库设计的概念模型充分表达了用户的要求,并且应该独立于硬件和_DBMS_。
(5)判断一个并发调度是否正确,可以使用______概念来衡量。
(6)SQL语句中,与GRANT语句相反操作的语句主要用来进行授权管理,维护数据库系统的安全性。
(7)E-R方法的三要素是。
(8)在数据库技术发展过程中,文件系统和数据库系统的本质区别是数据库系统的数据具有。
(9)关系中能够唯一标识元组的属性或者属性组称为______。
(10)有两个关系R(A,B,C)和S(B,C,D),经过自然连接运算后得到的关系的属性个数是。
答案:
(1)<
>
ALL;
(2)1NF;
(3)F+=G+;
(4)DBMS;
(5)并行调度可串行化;
(6)REVOKE;
(7)实体、属性、联系;
(8)结构化;
(9)超码;
(10)4。
2.判断题(每小题1分,共15分)
(1)在查询优化策略中,正确的策略是尽可能早地执行笛卡尔积操作。
()
(2)已知关系模式R(A,B,C)的函数依赖集F={A→B,C→B},且R1(A,B)和R2(A,C)是R的一个分解,则该分解丢失了C→B。
()
(3)在关系数据库设计中,子模式设计是在程序设计阶段进行的。
(4)数据库在磁盘上的基本组织形式是二维表。
(5)如果9个不同的实体集之间存在12个不同的联系,其中3个1:
1联系,3个1:
N联系,6个M:
N联系,则根据关系模型的转化规则,转换成的关系模式为10个。
(6)在Transact-SQL中,“DELETEFROMSC”表示删除SC的所有元组。
(7)关系数据库规范化是为了解决关系数据库中的提高查询速度问题而引入的。
(8)在数据库技术中,未提交的随后被撤消了的数据称为脏数据。
(9)关系中的每一列都是不可再分的要求不属于关系完整性约束。
(10)数据库管理系统DBMS是一个完整的数据库应用系统。
(11)在分布式数据库系统中,数据传输量是衡量查询时间的一个主要指标,导致数据传输量大的主要原因是场地间距离过大。
(12)SQL语言是一种高度非过程化语言。
(13)数据库系统就是DBMS。
(14)在关系数据库的实际应用中,关系模式的范式级别一定是越高越好。
(15)突然停电属于介质故障。
答案:
×
(尽可能早地执行选择操作),√,×
(逻辑结构设计),×
(文件),×
(15);
√,×
,√,√,×
;
(不同表间的连接操作),√,×
,×
(系统故障)。
3.简答题(每小题4分,共20分)
(1)在层次、网状、关系等数据模型中,简述数据之间联系的实现方法。
(2)已知关系R(A,B,C)和S(B,C,D),写出与
等价的Transact-SQL语句及其查询含义。
(3)已知学生表S(SNO,SNAME,AGE,SEX)和选课表SC(SNO,CNO,GRADE),简述如下Transact-SQL语句的查询含义。
SELECTSEX,AGE,AVG(GRADE)FROMS,SCWHERES.SNO=SC.SNO
GROUPBYSEX,AGEORDERBY3DESC;
(4)简述事务的特性。
(5)简述数据库系统的三级模式结构。
解答:
(1)对于层次和网状模型,数据之间的联系通过指针实现;
对于关系模型,数据之间的联系通过外码与主码的联系来实现;
(2)SELECTR.B,R.CFROMR,SWHERER.B=S.BANDR.C=S.CANDA>
D;
含义:
从R和S中查询出满足条件R.B=S.B、R.C=S.C和A>
D的元组在R.B和R.C(或者S.B和S.C)上的投影信息。
(3)查询每类性别和年龄的学生的平均成绩,并且查询结构按平均成绩降序排列。
(4)原子性、一致性、隔离性和持续性。
(5)外模式、模式、内模式;
外模式/模式映像,模式/内模式映像。
4.关系代数和Transact-SQL查询(每小题4分,共20分)
已知关系表职工(工号,姓名,年龄,工资,部门编号)和部门(部门编号,部门名称,部门经理),则:
(1)给出职工和部门的主键和外键,并写出创建每个表语句中的外键子句。
(2)查询每个部门经理的工资,并显示其部门编号、部门名称、经理工号、经理姓名和经理工资。
要求给出关系代数表达式和SQL语句。
(3)创建年龄大于50岁的职工视图,属性为(部门编号,部门名称,工号,姓名,年龄,工资)。
(4)在职工中添加一个新职工(‘A2010001’,‘张三’,26,‘C006’)。
(5)把每一个年龄大于26而且小于36的职工工资提高20%,其他提高10%。
(1)职工的主键为工号,外键为部门编号;
部门的主键为部门编号,外键为部门经理;
在职工的创建语句中,外键子句:
FOREIGNKEY(部门编号)REFERENCES部门(部门编号);
在部门的创建语句中,外键子句:
FOREIGNKEY(部门经理)REFERENCES职工(工号)。
(2)
SELECT部门编号,部门名称,工号经理工号,姓名经理姓名,工资经理工资
FROM部门,职工WHERE工号=部门经理;
(3)CREATEVIEWAgeGT50AS
SELECT部门.部门编号,部门名称,工号,姓名,年龄,工资
FROM部门,职工
WHERE部门.部门编号=职工.部门编号ANDAGE>
50;
(4)INSERTINTO职工(工号,姓名,年龄,部门编号)
VALUES(‘A2010001’,‘张三’,26,‘C006’)
(5)UPDATE职工SET工资=工资*1.2WHERE年龄>
=26AND年龄<
=36
UPDATE职工SET工资=工资*1.1WHERE年龄<
26OR年龄>
36
5.综合题(共25分)
(1)已知关系模式R(队员编号,比赛场次,进球数,球队名,队长名),而且规定每个队员只能属于一个球队,每个球队只有一个队长。
(10分)
1)写出R的函数依赖集和候选键。
2)把R分解成满足2NF的关系模式,说明R不满足2NF的原因。
3)把R分解成满足3NF的关系模式,并说明原因。
(1)FD={队员编号→球队名,球队名→队长名,(队员编号,比赛场次)→进球数};
R的候选键为(队员编号,比赛场次)。
(2)因为存在部分依赖:
(队员编号,比赛场次)→(球队名,队长名),队员编号→(球队名,队长名)。
所以R不满足2NF。
分解R如下:
R1(队员编号,球队名,队长名);
R2(队员编号,比赛场次,进球数)。
(3)因为对于R2,FD={(队员编号,比赛场次)进球数},候选键为(队员编号,比赛场次),所以R2满足3NF。
因为对于R1,存在传递依赖:
队员编号球队名;
球队名队长名;
所以R1不满足3NF。
分解如下:
R11(队员编号,球队名)和R12(球队名,队长名)。
因此,R的3NF关系模式集:
{R11,R12,R2}。
(2)已知运输公司数据库中的三个实体集。
1车队,属性有车队号、车队名;
2车辆,属性有车号、厂家、出厂日期;
3司机,属性有司机号、姓名、电话。
要求:
车队与司机之间存在聘用联系,每个车队可聘用多个司机,但是每个司机只能应聘于一个车队,车队聘用司机有个聘期;
车队与车辆之间存在拥有联系,每个车队拥有多辆汽车,但是每辆车只能属于一个车队;
司机与车辆之间存在着驾驶联系,司机驾驶车辆有驾驶日期和里程,每个司机可以驾驶多辆汽车,每辆汽车可以被多个司机驾驶。
1)绘制该应用的E-R图。
(5分)
2)把E-R图转换成关系模型,并说明主键和外键。
3)判断关系模型是否BCNF,如果是说明原因,否则分解到BCNF。
(1)E-R图如图6.1所示。
图6.1E-R图
(2)关系模式:
车队(车队号,车队名);
主键:
车队号。
车辆(车号,厂家,生产日期,车队号);
车号;
外键:
司机(司机号,姓名,电话,车队号,聘期);
司机号;
驾驶(司机号,车号,日期,里程);
(司机号,车号);
车队号,车号。
(3)因为不存在非主属性对候选键的部分依赖和传递依赖,所以满足3NF。
又因为不存在主属性对候选键的部分依赖和传递依赖,所以满足BCNF。