《数据库系统概论试题与答案教学试题》由会员分享,可在线阅读,更多相关《数据库系统概论试题与答案教学试题(27页珍藏版)》请在金锄头文库上搜索。
1、数据库系统概论试题A一、选择题(20分,每小题2分): 2对关系模型叙述错误的是_。A建立在严格的数学理论、集合论和谓词演算公式的基础之上B微机DBMS绝大部分采取关系数据模型C用二维表表示关系模型是其一大特点D不具有连接操作的DBMS也可以是关系数据库系统5. FoxBASE、FoxPro属于_。A表式系统 B最小关系系统 C关系完备的系统 D全关系系统二、填空题(20分,每小空2分):3关系操作的特点是集合操作。4关系代数中,从两个关系中找出相同元组的运算称为运算。5在关系数据库的规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有的函数依赖和。6SQL语言的数据定义功能包括、和。
2、4交5无损连接6定义数据库 定义基本表 定义视图 定义索引三、简答题(15分,每小题5分): 1使用数据库系统有什么好处?答查询迅速、准确,而且可以节约大量纸面文件;数据结构化,并由DBMS统一管理;数据冗余度小:具有较高的数据独立性;数据的共享性好;DBMS还提供了数据的控制功能。 2 叙述数据字典的主要任务和作用?答:数据字典的任务就是管理有关数据的信息,所以又称为“数据库的数据库”。它的任务主要有:(1)描述数据库系统的所有对象,并确定其属性。如一个模式中包含的记录型与一个记录型包含的数据项;用户的标识、口令;物理文件名称、物理位置及其文件组织方式等。数据字典在描述时赋给每个对象一个惟一
3、的标识。(2)描述数据库系统对象之间的各种交叉联系。如哪个用户使用哪个子模式,哪些模式或记录型分配在哪些区域及对应于哪些物理文件、存储在何种物理设备上。(3)登记所有对象的完整性及安全性限制等。(4)对数据字典本身的维护、保护、查询与输出。数据字典的主要作用是:(1)供数据库管理系统快速查找有关对象的信息。数据库管理系统在处理用户存取时,要经常查阅数据字典中的用户表、子模式表和模式表等。(2)供数据库管理员查询,以掌握整个系统的运行情况。(3)支持数据库设计与系统分析。3简要叙述关系数据库的优点?答:关系数据库是以关系模型作为数据的组织方式,关系模型是建立在严格的数学概念基础上的,关系数据库的
4、主要优点是概念简单清晰,用户不需了解复杂的存取路径,不需说明“怎么干”,只需说明“干什么”,易懂易学。四、综合题(45分): 1某医院病房计算机管理中需要如下信息:(10分)科室:科名,科地址,科电话,医生姓名病房:病房号,床位号,所属科室名医生:姓名,职称,所属科室名,年龄,工作证号病人:病历号,姓名,性别,诊断,主管医生,病房号其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。完成如下设计:(1)设计该计算机管理系统的ER图;(5分)(2)将该E-R图转换为关系模型结构;(3分)(3)指出转换结果中每个
5、关系模式的候选码。(2分)2设有关系S、SC、C,试用关系代数、元组关系演算表达式和SQL完成下列操作。(15分,每小题5分)S(S#,SNAME,AGE,SEX) 例:(001,李强,23,男)SC(S#,C#,SCORE) 例:(003,C1,83)C(C#,CNAME,TEACHER) 例:(C1,数据库原理,王华)(1)用关系代数检索选修课程号(C#)为C1和C2的学生学号(S#)。(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生姓名。(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生学号。(3)用SQL找出选修了“程军”老师教的所有课程的学生姓名。3
6、设有关系模式R(U,F),其中: (10分)U=E,F,G,H,F=EG,GE,FEG,HEG,FHE求F的最小依赖集。4设有关系R和函数依赖F:(10分)R(W,X,Y,Z),F = XZ,WXY 。试求下列问题:(1)关系R属于第几范式?(5分)(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。(5分)要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。四、综合题(45分): 1 解:(1)本题的E-R图如图2所示。 (2)对应的关系模型结构如下: 科室(科名,科地址,科电话) 病房(病房号,床位号,科室名) 医生(工作证号,姓名,职称,科室名,年龄) 病人(病历
7、号,姓名,性别,诊治,主管医生,病房号) (3)每个关系模式的候选码如下: 科室的候选码是科名; 病房的候选码是科室名十病房号; 医生的候选码是工作证号; 病人的候选码是病历号。n病人入住病房1病房号床位号工作证号姓 名性 别病历号n医生从属科室1科 名科电话科地址职 称年 龄姓 名诊治组成n1n1图2 ER图2设有关系S、SC、C,试用关系代数、元组关系演算表达式和SQL完成下列操作。(15分,每小题5分)S(S#,SNAME,AGE,SEX) 例:(001,李强,23,男)SC(S#,C#,SCORE) 例:(003,C1,83)C(C#,CNAME,TEACHER) 例:(C1,数据库原
8、理,王华)(1)用关系代数检索选修课程号(C#)为C1和C2的学生学号(S#)。S,C(SC)C(C=C1 C=C2(C)-C#C1 C# C2(S,C(SC)C(C=C1 C=C2(C)(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生姓名。T(1)|($U)($V)($W)(S(U)SC(V)C(W)T1=U1U1=V1V2=W1W3=程军)(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生学号。T(1)| ($V)($W)( SC(V)C(W)T1=V1V2=W1W3=程军)(3)用SQL找出选修了“程军”老师教的所有课程的学生姓名。SELECT S.SN
9、AMEFROM SWHERE NOT EXISTS ( SELECT * FROM C WHERE C.TEACHER=程军 AND NOT EXISTS ( SELECT * FROM SC WHERE SC.C#=C.C# AND SC.S#=S.S# ) )本题解释:SELECT *FROM CWHERE C.TEACHER=程军 AND EXISTS ( SELECT * FROM SC WHERE SC.C#=C.C# )这条SQL是查询程军所授的所有课程,外层查询中C.C#作为变量在内层查询中被使用,外层教师程军所授课程的课程号C#给内层,内层根据该课程号C#在SC中查询是否存在这
10、样的课程号,即程军所授的课程,如果存在则括号中的记录集不空,EXISTS条件为TRUE。因此,执行结果是显示程军所授的所有课程。SELECT *FROM CWHERE C.TEACHER=程军 AND NOT EXISTS ( SELECT * FROM SC WHERE SC.C#=C.C# )这条SQL语句在刚才语句的EXISTS前加了NOT,变成当内层查询全部是程军所授课程时NOT EXISTS条件为假。SELECT S.SNAMEFROM SWHERE NOT EXISTS (SELECT * FROM C WHERE C.TEACHER=程军 AND NOT EXISTS ( SEL
11、ECT * FROM SC WHERE SC.C#=C.C# AND SC.S#=S.S# )这条是完整的语句,比上面一条语句多了一个AND SC.S#=S.S#表示某个学生的学号,加上最外层的NOT EXISTS的整个语句的含义是,对该某个学生,如果最内层查询中查询结果全部是程军所授课程时,条件C.CNAME=程军 AND NOT EXISTS为FALSE,所以SELECT * FROM C的查询结果为空(第二层),这时最外层的NOT EXISTS为TRUE,最外层查找成功,该学生是选修了程军所授全部课程的。3设有关系模式R(U,F),其中: (10分)U=E,F,G,H,F=EG,GE,F
12、EG,HEG,FHE求F的最小依赖集。解: 将F中右部属性单一化: (2分)F1= EG,GE,FE,FG,HE,HG,FHE 去掉左部冗余的属性。对于FHE,由于有FE,则为多余的。F2= EG,GE,FE,FG,HE,HG (2分) 去掉冗余的函数依赖。F2中的FE和FG,以及HE,HG之一是冗余的,则: F3= EG,GE,FG,HG (6分)4设有关系R和函数依赖F:(10分)R(W,X,Y,Z),F = XZ,WXY 。试求下列问题:1.关系R属于第几范式?(5分)2.如果关系R不属于BCNF,请将关系R逐步分解为BCNF。(5分)要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。解:R是1NF。侯选码为WX,则Y,Z为非主属性,又由于XZ,因此F中存在非主属性对侯选码的部分函数依赖。WXYYZY将关系分解为:R1(W,X,Y),F1 = WXY R2(X,Z),F2 = XZ 消除了非主属性对码的部分函数依赖。F1和F2中的函数依赖都是非平凡的,并且决定因素是候选码,所以上述关系模式是BCNF。数据库系统概论试题B1数据库系统的核心是_。A数据库 B数据库管理系统C数据模型 D软件工具3SQL语言具有_的功能。A关系规范化、数据操纵、数据控制B数据定义、数据操