1、数据库系统概论试题A一、选择题(20分,每小题2分):2.对关系模型叙述错误得就是_。A.建立在严格得数学理论、集合论与谓词演算公式得基础之上B.微机DBMS绝大部分采取关系数据模型C.用二维表表示关系模型就是其一大特点D.不具有连接操作得DBMS也可以就是关系数据库系统5、 FoxBASE、FoxPro属于_。A.表式系统 B.最小关系系统 C.关系完备得系统 D.全关系系统二、填空题(20分,每小空2分):3.关系操作得特点就是集合操作。4.关系代数中,从两个关系中找出相同元组得运算称为运算。5.在关系数据库得规范化理论中,在执行“分解”时,必须遵守规范化原则:保持原有得函数依赖与。6.S
2、QL语言得数据定义功能包括、与。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)将该ER图
5、转换为关系模型结构;(3分)(3)指出转换结果中每个关系模式得候选码。(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)用
6、SQL找出选修了“程军”老师教得所有课程得学生姓名。3.设有关系模式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)本题得ER图如图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
8、,83)C(C#,CNAME,TEACHER) 例:(C1,数据库原理,王华)(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找
9、出选修了“程军”老师教得所有课程得学生姓名。SELECT S、SNAMEFROM 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#作为变量在内层查询中被使用,外层教师程军所
10、授课程得课程号C#给内层,内层根据该课程号C#在SC中查询就是否存在这样得课程号,即程军所授得课程,如果存在则括号中得记录集不空,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 WH
11、ERE C、TEACHER=程军 AND NOT EXISTS ( SELECT * FROM SC WHERE SC、C#=C、C# AND SC、S#=S、S# )这条就是完整得语句,比上面一条语句多了一个AND SC、S#=S、S#表示某个学生得学号,加上最外层得NOT EXISTS得整个语句得含义就是,对该某个学生,如果最内层查询中查询结果全部就是程军所授课程时,条件CAME=程军 AND NOT EXISTS为FALSE,所以SELECT * FROM C得查询结果为空(第二层),这时最外层得NOT EXISTS为TRUE,最外层查找成功,该学生就是选修了程军所授全部课程得。3.设有
12、关系模式R(U,F),其中: (10分)U=E,F,G,H,F=EG,GE,FEG,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,请将关系
13、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.软件工具3.SQL语言具有_得功能。A.关系规范化、数据操纵、数据控制B.数据
14、定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制D.数据定义、关系规范化、数据操纵10.设有两个事务T1、T2,其并发操作如图1所示,下面评价正确得就是_。 A.该操作不存在问题 B.该操作丢失修改 C.该操作不能重复读 D.该操作读“脏”数据 T1 T2 读A=10 读A=10 A=A5写回 A=A8写回 图1 事务并发操作图二、 填空题(20分,每小空2分):7完整性约束就是指与。实体完整性 参照完整性3.关系数据库中可命名得最小数据单位就是。属性名4.保护数据安全性得一般方法就是。设置用户标识与存取权限控制5.“为哪些表,在哪些字段上,建立什么样得索引”这一设计内容应该属于数据
15、库设计中得设计阶段。物理6.若关系为1NF,且它得每一非主属性都候选码,则该关系为2NF。不部分函数依赖于7.关系代数运算中,专门得关系运算有.选择 投影 连接三、简答题与综合题(15分,每小题5分):1.举例说明关系参照完整性得含义。2.数据库管理系统有哪些功能?3.事务中得提交与回滚就是什么意思?四、综合题(45分):1.假定一个部门得数据库包括以下得信息: (10分)职工得信息:职工号、姓名、住址与所在部门。部门得信息:部门所有职工、经理与销售得产品。产品得信息:产品名、制造商、价格、型号及产品内部编号。制造商得信息:制造商名称、地址、生产得产品名与价格。完成如下设计:(1)设计该计算机
16、管理系统得ER图;(5分)(2)将该ER图转换为关系模型结构;(3分)(3)指出转换结果中每个关系模式得候选码。(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)用关系代数检索既选修了C1课程,又选修了C2课程得学生学号(S#)。(2)用元组关系演算表达式检索年龄大于21得男生得学号与姓名。(3)用SQL找出“程序设计”课程成绩在90
17、分以上得学生姓名。3.设有函数依赖集F = DG,CA,CDE,AB,计算闭包D+,(AC)+,(ACD)+ 。 (10分)4.设有关系R与函数依赖F: (10分)R(X,Y,Z),F = YZ,XZY。试求下列问题:(1)关系R属于第几范式?(5分)(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。(5分)要求:写出达到每一级范式得分解过程,并指明消除什么类型得函数依赖。试题答案三、简答题(15分,每小题5分):1.举例说明关系参照完整性得含义。答:假如有下表所示得两个关系表,在成绩表中,学号就是主码,课程号就是外码:在课程表中课程号就是主码,根据关系参照完整性得定义,R2就是成
18、绩表,R1就是课程表,也就就是成绩表中课程号得值或者为空或者在课程表中得课程号中能够找到。 成绩表 课程表学号姓名课程号成绩101刘军k580212王丽k876221章华k992课程号课程号k5高等数学 k8C语言nk9计算机网络满足这个条件就是必须得,如果不满足,假设成绩表中课程号得值k20在课程表中课程号得值中找不到,则该课程号显然就是不正确得,这样会造成数据得不一致性。2.数据库管理系统有哪些功能?答:数据库管理系统(DBMS)就是位于操作系统与用户之间得一个数据管理软件,它主要功能包括以下几个方面: 数据定义功能 DBMS提供数据描述语言(DDL),用户可通过它来定义数据。 数据操纵功
19、能 DBMS还提供数据操纵语言(DML),实现对数据库得基本操作:查询、插入、删除与修改。 数据库得运行管理 这就是DBMS运行时得核心部分,它包括开发控制,安全性检查,完整性约束条件得检查与执行,数据库得内容维护等。数据库得建立与维护功能 它包括数据库初始数据得输入及转换,数据库得转储与恢复,数据库得重组功能与性能得监视与分析功能等。3.事务中得提交与回滚就是什么意思? 答:事务中得提交(MIT)就是提交事务得所有操作。具体说就就是将事务中所有对数据库得更新写回到磁盘上得物理数据库中去,事务正常结束。事务中得回滚(ROLLBACK)就是数据库滚回到事务开始时得状态。具体地说就就是,在事务运行
20、得过程中发生了某种故障,事务不能继续执行,系统将事务中对数据库得所有已完成得更新操作全部撤消,使数据库回滚到事务开始时得状态。四、综合题(45分):1.(1)设计该计算机管理系统得ER图;(5分)(2)将该ER图转换为关系模型结构;(3分)(3)指出转换结果中每个关系模式得候选码。(2分)解:本题对应得ER图如图2 所示。图2 ER图2.(1)用关系代数检索既选修了C1课程,又选修了C2课程得学生学号。(SNAME(S C#=C1(SC)(SNAME(S C#=C2(SC)(2)用元组关系演算表达式检索年龄大于21得男生得学号与姓名。t(2)|($r)(S(r)t1=r1t2=r2r321r4
21、=男)(3)用SQL找出“程序设计”课程成绩在90分以上得学生姓名。解:SELECT SNAMEFROM S,SC,CWHERE S、S#=SC、S# AND SC、C#=C、C# AND SCORE=90 AND CNAME=程序设计或者SELECT SNAMEFROM SWHERER S、S# IN ( SELECT S# FROM SC WHERE SCORE=90 AND C、C# IN ( SELECT C# FROM C WHERE CNAME=程序设计)3.设有函数依赖集F = DG,CA,CDE,AB,计算闭包D+,(AC)+,(ACD)+ 。 (10分)解:令X=D,X(0)
22、= D,X(1)= DG,X(2)=DG,故D+=DG。令X=AC,X(0)= AC,X(1)=ABC,X(2)=ABC,故(AC)+ =ABC。令X=ACD,X(0)= ACD,X(1)=ABCD,X(2)=ABCDG,X(3)=ABCDEG,故(ACD)+ =ABCDEG。4.设有关系R与函数依赖F: (10分)R(X,Y,Z),F = YZ,XZY。试求下列问题:(1)关系R属于第几范式?(5分)(2)如果关系R不属于BCNF,请将关系R逐步分解为BCNF。(5分)要求:写出达到每一级范式得分解过程,并指明消除什么类型得函数依赖。解:R就是3NF。侯选码为XY与XZ,R中所有属性都就是主
23、属性,不存在非主属性对码得传递依赖。R1(X,Y,Z),F = XZYR2(Y,Z),F = YZ 消除了非主属性对码得传递依赖。F1与F2中得函数依赖都就是非平凡得,并且决定因素就是候选码,所以上述关系模式就是BCNF。数据库系统概论试题C1.数据库系统与文件系统得主要区别就是_。A.数据库系统复杂,而文件系统简单B.文件系统不能解决数据冗余与数据独立性问题,而数据库系统可以解决C.二文件系统只能管理程序文件,而数据库系统能够管理各种类型得文件D.文件系统管理得数据量较少,而数据库系统可以管理庞大得数据量8.数据库得_就是指数据得正确性与相容性。 A.安全性 B.完整性 C.并发控制 D.恢
24、复9.授权编译系统与合法性检查机制一起组成了_子系统。A.安全性 B.完整性 C.并发控制 D.恢复1.DBMS得基本工作单位就是事务,它就是用户定义得一组逻辑一致得程序序列;并发控制得主要方法就是机制。封锁3.关系数据库中基于数学上两类运算就是与。关系代数 关系演算4.数据库设计得几个步骤就是。需求分析,概念设计,逻辑设计,物理设计,编码与调试关系操作得特点就是操作集合。三、简答题(15分,每小题5分): 1.什么就是数据库?2.什么就是数据库得数据独立性?3.叙述等值连接与自然连接得区别与联系。 四、综合题(45分): 1.设有如下实体: (10分)学生:学号、单位、姓名、性别、年龄、选修
25、课程名课程:编号、课程名、开课单位、任课教师号教师:教师号、姓名、性别、职称、讲授课程编号单位:单位名称、电话、教师号、教师名上述实体中存在如下联系:(1) 一个学生可选修多门课程,一门课程可为多个学生选修;(2) 一个教师可讲授多门课程,一门课程可为多个教师讲授;(3) 一个单位可有多个教师,一个教师只能属于一个单位。 试完成如下工作: (1)分别设计学生选课与教师任课两个局部信息得结构ER图。 (4分) (2)将上述设计完成得ER图合并成一个全局ER图。 (3分) (3)将该全局ER图转换为等价得关系模型表示得数据库逻辑结构。 (3分)2.设有关系S、SC、C,试用关系代数、元组关系演算表
26、达式与SQL完成下列操作。(15分,每小题5分)S(S#,SNAME,AGE,SEX) 例:(001,李强,23,男)SC(S#,C#,SCORE) 例:(003,C1,83)C(C#,CNAME,TEACHER) 例:(C1,数据库原理,王华)(1)试用关系代数检索选修了“程军”老师所授课程之一得学生姓名。(2)试用元组关系演算表达式检索选修了“程军”老师所授课程之一得学生姓名。(2)试用元组关系演算表达式检索选修了“程军”老师所授课程之一得学生学号。(3)试用SQL找出“程序设计”课程成绩在90分以上得学生姓名。3.设有关系模式R(U,F),其中: (10分)U=A,B,C,D,E,F =
27、 ABC,CDE,BD,EA。 计算B+。 (2分) 求R得所有候选码。 (8分)4.设有关系STUDENT(S#,SNAME,SDEPT,MNAME,CNAME,GRADE),S#,CNAME为候选码,设关系中有如下函数依赖: (10分)S#,CNAMESNAME,SDEPT,MNAMES#SNAME,SDEPT,MNAMES#,CNAMEGRADESDEPTMNAME试求下列问题:(1)关系STUDENT属于第几范式? (5分)(2)如果关系STUDENT不属于BCNF,请将关系STUDENT逐步分解为BCNF。(5分)要求:写出达到每一级范式得分解过程,并指明消除什么类型得函数依赖。试题
28、答案三、简答题(15分,每小题5分): 1.什么就是数据库?答:数据库就是长期存储在计算机内、有组织得、可共享得数据集合。数据库就是按某种数据模型进行组织得、存放在外存储器上,且可被多个用户同时使用。因此,数据库具有较小得冗余度,较高得数据独立性与易扩展性。2.什么就是数据库得数据独立性?答:数据独立性表示应用程序与数据库中存储得数据不存在依赖关系,包括逻辑数据独立性与物理数据独立性。 逻辑数据独立性就是指局部逻辑数据结构(外视图即用户得逻辑文件)与全局逻辑数据结构(概念视图)之间得独立性。当数据库得全局逻辑数据结构(概念视图)发生变化(数据定义得修改、数据之间联系得变更或增加新得数据类型等)
29、时,它不影响某些局部得逻辑结构得性质,应用程序不必修改。物理数据独立性就是指数据得存储结构与存取方法(内视图)改变时,对数据库得全局逻辑结构(概念视图)与应用程序不必作修改得一种特性,也就就是说,数据库数据得存储结构与存取方法独立。数据独立性得好处就是,数据得物理存储设备更新了,物理表示及存取方法改变了,但数据得逻辑模式可以不改变。数据得逻辑模式改变了,但用户得模式可以不改变,因此应用程序也可以不变。这将使程序维护容易,另外,对同一数据库得逻辑模式,可以建立不同得用户模式,从而提高数据共享性,使数据库系统有较好得可扩充性,给 DBA维护、改变数据库得物理存储提供了方便。3.叙述等值连接与自然连
30、接得区别与联系。 答:等值连接表示为RA=BS,自然连接表示为RS;自然连接就是除去重复属性得等值连接。两者之间得区别与联系如下:l 自然连接一定就是等值连接,但等值连接不一定就是自然连接。等值连接不把重复得属性除去;而自然连接要把重复得属性除去。l 等值连接要求相等得分量,不一定就是公共属性;而自然连接要求相等得分量必须就是公共属性。l 等值连接不把重复得属性除去;而自然连接要把重复得属性除去。四、综合题(45分): 1.试完成如下工作: (10分) (1)分别设计学生选课与教师任课两个局部信息得结构ER图。 (4分) (2)将上述设计完成得ER图合并成一个全局ER图。 (3分) (3)将该
31、全局ER图转换为等价得关系模型表示得数据库逻辑结构。 (3分) 解:(1)学生选课局部ER图如图2 所示,教师任课局部ER图如图3所示。(2)合并得全局ER图如图4所示。 为避免图形复杂,下面给出各实体属性: 单位:单位名、电话 学生:学号、姓名、性别、年龄 教师:教师号、姓名、性别、职称 课程:编号、课程名(3)该全局ER图转换为等价得关系模型表示得数据库逻辑结构如下: 单位(单位名,电话) 教师(教师号,姓名,性别,职称,单位名) 课程(课程编号,课程名,单位名)学生(学号,姓名,性别,年龄,单位名)讲授(教师号,课程编号)选修(学号,课程编号)n课程开课1课程名教师号编 号n学生拥有单
32、位1年 龄单位名姓 名性 别学 号选修mn图2 学生选课局部ER图课程编 号1单位属于教师n电 话单位名讲授mn职 称姓 名性 别教师号图3 教师任课局部ER图教师n学生拥有 单位1属于1nn课程讲授mmn选修开设1n图4 合并得全局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,数据库原理,王华)(1)试用关系代数检索选修了“程军”老师所授课程之一得学生姓
33、名。SNAME(SSCTEACHER=程军(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)找出“程序设计”课程成绩在90分以上得学生姓名。SELECT SNAMEFROM S,SC,CWHERE S、S#=SC、S# AND SC、C#=C、C# AND SCORE=90 AND CNAME=程序设计
34、或者SELECT SNAMEFROM SWHERER S、S# IN ( SELECT S# FROM SC WHERE SCORE=90 AND C、C# IN ( SELECT C# FROM C WHERE CNAME=程序设计)3.设有关系模式R(U,F),其中: (10分)U=A,B,C,D,E,F = ABC,CDE,BD,EA。 计算B+。 (2分) 求R得所有候选码。 (8分)解: 令X=B,X(0)=B,X(1)=BD,X(2)=BD,故B+=BD。 根据候选码得定义,R得候选码只可能由F中各个函数依赖得左边属性组成,即A,B,C,D,E,由于ABC(AB,AC),BD,EA
35、,故:可除去A,B,C,D,_ 组成候选码得属性可能就是E。计算可知:E+=ABCDE,即EU,_ E就是一个候选码。可除去A,B,E,_ 组成候选码得属性可能就是CD。计算可知:(CD)+=ABCDE,即CDU,但C+=C,D+=D,_ CD就是一个候选码。可除去B,C,D,E,_ 组成候选码得属性可能就是A。计算可知:A+=ABCDE,即AU,_ A就是一个候选码。可除去A,D,E,_ 组成候选码得属性可能就是BC。计算可知:(BC)+=ABCDE,即CDU,但B+=BD,C+=C,_ BC就是一个候选码。R得所有候选码就是A,BC,CD,E。4.设有关系STUDENT(S#,SNAME,
36、SDEPT,MNAME,CNAME,GRADE),S#,CNAME为候选码,设关系中有如下函数依赖: (10分)S#,CNAMESNAME,SDEPT,MNAMES#SNAME,SDEPT,MNAMES#,CNAMEGRADESDEPTMNAME试求下列问题:(1)关系STUDENT属于第几范式?(5分)(2)如果关系STUDENT不属于BCNF,请将关系STUDENT逐步分解为BCNF。(5分)要求:写出达到每一级范式得分解过程,并指明消除什么类型得函数依赖。解:(1)关系STUDENT就是1NF。(2)首先消除部分函数依赖S#,CNAMESNAME,SDEPT,MNAME将关系分解为:R1
37、(S#,SNAME,SDEPT,MNAME)R2(S#,CNAME,GRADE)在关系R1中存在非主属性对候选码得传递函数依赖S#SDEPT,SDEPTMNAME,所以以上关系模式还不就是BCNF,进一步分解R1:R11(S#,SNAME,SDEPT)R12(SDEPT,MNAME)R11,R12都就是3NF。关系模式R2(S#,CNAME,GRADE)R11(S#,SNAME,SDEPT)R12(SDEPT,MNAME)R2,R11,R12关系模式存在得函数依赖S#,CNAMEGRADE S#,SNAMESNAME,SDEPT SDEPTMNAME上述函数依赖都就是非平凡得,并且决定因素就是
38、候选码,所以上述关系模式就是BCNF。综合设计题某单位资料室要建立一个图书管理系统,初步得需求分析结果如下:l 资料室有图书管理员若干名,她们负责已购入图书得编目与借还工作,每名图书管理员得信息包括工号与姓名;l 读者可在阅览室读书,也可通过图书流通室借还图书,读者信息包括读者ID、姓名、电话与Email,系统为不同读者生成不同得读者ID;l 每部书在系统中对应唯一得一条图书在版编目数据(CIP,以下简称书目),书目得基本信息包括ISBN号、书名、作者、出版商、出版年月,以及本资料室拥有该书得册数,不同书目得ISBN号不相同;l 资料室对于同一书目得图书可拥有多册(本),图书信息包括图书ID、
39、ISBN号、存放位置、当前状态,每一本书在系统中被赋予唯一得图书ID;l 一名读者最多只能借阅十本图书,且每本图书最多只能借两个月,读者借书时需由图书管理员登记读者ID、所借图书ID、借阅时间与应还时间,读者还书时图书管理员在对应得借书信息中记录归还时间。某书目得信息以及与该书目对应得图书信息如下表所示。书目信息书名作者出版商ISBN号出版年月册数经办人数据结构严蔚敏清华大学出版社ISBN73020236891997、4401图书信息图书IDISBN号存放位置状态经办人C832、1ISBN7302023689图书流通室已借出01C832、2ISBN7302023689图书阅览室不外借01C83
40、2、3ISBN7302023689图书流通室未借出011. 根据上述语义设计此图书管理得ER模型,在ER图中需注明实体得属性、联系得类型及实体得标识符。2. 将ER模型转换成关系模型,并指出每个关系模式得主码与外码。3. 分析每个关系模式已经达到第几范式。1. 解:ER图: 实体及实体属性描述如下:管理员(工号,姓名)读者(读者ID,姓名,电话,Email)书目(ISBN号,书名,作者,出版商,出版年月,册数)图书(图书ID,存放位置,状态)2.该ER图转换为等价得关系模型表示得数据库逻辑结构如下: 管理员(工号,姓名)读者(读者ID,姓名,电话,Email)书目(ISBN号,书名,作者,出版商,出版年月,册数,经办人)Foreigh key: 经办人图书(图书ID,ISBN号,存放位置,状态,经办人)Foreigh key: ISBN号 , 经办人 借阅(读者ID,图书ID,借出时间,应还时间,归还时间)Foreigh key : 读者ID