数据库参考文献

上传人:206****923 文档编号:37507825 上传时间:2018-04-17 格式:DOC 页数:11 大小:94KB
返回 下载 相关 举报
数据库参考文献_第1页
第1页 / 共11页
数据库参考文献_第2页
第2页 / 共11页
数据库参考文献_第3页
第3页 / 共11页
数据库参考文献_第4页
第4页 / 共11页
数据库参考文献_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《数据库参考文献》由会员分享,可在线阅读,更多相关《数据库参考文献(11页珍藏版)》请在金锄头文库上搜索。

1、一:1某医院病房计算机管理中需要如下信息:(10 分)科室:科名,科地址,科电话,医生姓名病房:病房号,床位号,所属科室名医生:姓名,职称,所属科室名,年龄,工作证号病人:病历号,姓名,性别,诊断,主管医生,病房号其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。完成如下设计:(1)设计该计算机管理系统的 ER 图;(5 分)(2)将该 E-R 图转换为关系模型结构;(3 分)(3)指出转换结果中每个关系模式的候选码。 (2 分)2设有关系 S、SC、C,试用关系代数、元组关系演算表达式和 SQL 完成下列

2、操作。(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设有关系模式 R(U,F) ,其中: (10 分)U=E,F,G,H,F=EG,

3、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 分) 要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。答案1解:(1)本题的 E-R 图如图 2 所示。(2)对应的关系模型结构如下:科室(科名,科地址,科电话)病房(病房号,床位号,科室名)医生(工作证号,姓名,职称,科室名,年龄)病人(病历号,姓名,性别,诊治,主管医生,病房号)(3)每个关系模

4、式的候选码如下:科室的候选码是科名;病房的候选码是科室名十病房号;医生的候选码是工作证号;病人的候选码是病历号。图 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,数据库原理,王华)(1)用关系代数检索选修课程号(C#)为 C1 和 C2 的学生学号(S#)。S,C(SC)C(C=C1 C=C2(C) )-C#C1 C# C2(S,C(SC)

5、C(C=C1 C=C2(C) ) )n病人入住病房1病房号床位号工作证号姓 名性 别病历号n医生从属科室1科 名科电话科地址职 称年 龄姓 名诊治组成n1n1(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.SNAMEFROM SWHERE NOT

6、 EXISTS (SELECT *FROM CWHERE C.TEACHER=程军 AND NOT EXISTS (SELECT *FROM SCWHERE SC.C#=C.C# AND SC.S#=S.S# )本题解释:SELECT *FROM CWHERE C.TEACHER=程军 AND EXISTS(SELECT *FROM SCWHERE SC.C#=C.C#)这条 SQL 是查询程军所授的所有课程,外层查询中 C.C#作为变量在内层查询中被使用,外层教师程军所授课程的课程号 C#给内层,内层根据该课程号 C#在 SC 中查询是否存在这样的课程号,即程军所授的课程,如果存在则括号中的

7、记录集不空,EXISTS 条件为 TRUE。因此,执行结果是显示程军所授的所有课程。SELECT *FROM CWHERE C.TEACHER=程军 AND NOT EXISTS(SELECT *FROM SCWHERE SC.C#=C.C#)这条 SQL 语句在刚才语句的 EXISTS 前加了 NOT,变成当内层查询全部是程军所授课程时 NOT EXISTS 条件为假。SELECT S.SNAMEFROM SWHERE NOT EXISTS (SELECT *FROM CWHERE C.TEACHER=程军 AND NOT EXISTS(SELECT *FROM SCWHERE SC.C#=

8、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,FEG,HEG,FHE求 F

9、 的最小依赖集。解: 将 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 分)要求:写出达到每一

10、级范式的分解过程,并指明消除什么类型的函数依赖。解:R 是 1NF。侯选码为 WX,则 Y,Z 为非主属性,又由于 XZ,因此 F 中存在非主属性对侯选码的部分函数依赖。将关系分解为:R1(W,X,Y),F1 = WXY R2(X,Z),F2 = XZ 消除了非主属性对码的部分函数依赖。F1 和 F2 中的函数依赖都是非平凡的,并且决定因素是候选码,所以上述关系模式是 BCNF。WX YYZ Y二:1设有如下实体: (10 分)学生:学号、单位、姓名、性别、年龄、选修课程名课程:编号、课程名、开课单位、任课教师号教师:教师号、姓名、性别、职称、讲授课程编号单位:单位名称、电话、教师号、教师名上

11、述实体中存在如下联系:(1) 一个学生可选修多门课程,一门课程可为多个学生选修;(2) 一个教师可讲授多门课程,一门课程可为多个教师讲授;(3) 一个单位可有多个教师,一个教师只能属于一个单位。试完成如下工作:(1)分别设计学生选课和教师任课两个局部信息的结构 E-R 图。 (4 分)(2)将上述设计完成的 E-R 图合并成一个全局 E-R 图。 (3 分)(3)将该全局 E-R 图转换为等价的关系模型表示的数据库逻辑结构。 (3 分)2设有关系 S、SC、C,试用关系代数、元组关系演算表达式和 SQL 完成下列操作。(15 分,每小题 5 分)S(S#,SNAME,AGE,SEX) 例:(0

12、01,李强,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 = ABC,CDE,BD,EA。 计算 B+。 (2 分) 求 R 的所有候选码。 (8

13、 分)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 分)要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。答案 1试完成如下工作: (10 分)(1)分别设计学生选

14、课和教师任课两个局部信息的结构 E-R 图。 (4 分)(2)将上述设计完成的 E-R 图合并成一个全局 E-R 图。 (3 分)(3)将该全局 E-R 图转换为等价的关系模型表示的数据库逻辑结构。 (3分)解:(1)学生选课局部 E-R 图如图 2 所示,教师任课局部 E-R 图如图 3 所示。(2)合并的全局 E-R 图如图 4 所示。为避免图形复杂,下面给出各实体属性:单位:单位名、电话学生:学号、姓名、性别、年龄教师:教师号、姓名、性别、职称课程:编号、课程名(3)该全局 E-R 图转换为等价的关系模型表示的数据库逻辑结构如下:单位(单位名,电话)教师(教师号,姓名,性别,职称,单位名

15、)课程(课程编号,课程名,单位名)学生(学号,姓名,性别,年龄,单位名)讲授(教师号,课程编号)选修(学号,课程编号)图 2 学生选课局部 ER 图图 3 教师任课局部 ER 图图 4 合并的全局 ER 图n课程开课1课程名教师号编 号n学生拥有单 位1年 龄单位名姓 名性 别学 号选修mn课程编 号1单位属于教师n电 话单位名讲授mn职 称姓 名性 别教师号教师n学生拥有单位1属于1nn课程讲授mmn选修开设1n2设有关系 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)试用关系代数检索选修了“程军”老师所授课程之一的学生姓名

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号