1 / 11
文档名称:

数据库参考文献.doc

格式:doc   大小:137KB   页数:11页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库参考文献.doc

上传人:wyj15108451 2017/3/25 文件大小:137 KB

下载得到文件列表

数据库参考文献.doc

文档介绍

文档介绍:一: :(10分) 科室:科名,科地址,科电话,医生姓名病房:病房号,床位号,所属科室名医生:姓名,职称,所属科室名,年龄,工作证号病人:病历号,姓名,性别,诊断,主管医生,病房号其中,一个科室有多个病房、多个医生,一个病房只能属于一个科室,一个医生只属于一个科室,但可负责多个病人的诊治,一个病人的主管医生只有一个。完成如下设计: (1)设计该计算机管理系统的 E-R图;(5分) (2)将该 E-R 图转换为关系模型结构;(3分) (3)指出转换结果中每个关系模式的候选码。(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 找出选修了“程军”老师教的所有课程的学生姓名。 R(U,F),其中: (10分) U= {E ,F,G, H} , F={ E→G,G→E,F→ EG ,H→ EG , FH →E} 求F的最小依赖集。 R和函数依赖 F:(10分) R(W,X,Y,Z),F={X→Z, WX →Y}。试求下列问题: (1) 关系 R 属于第几范式?( 5 分) (2) 如果关系 R 不属于 BCNF ,请将关系 R 逐步分解为 BCNF 。(5 分) 要求:写出达到每一级范式的分解过程,并指明消除什么类型的函数依赖。答案 :(1)本题的 E-R 图如图 2所示。(2)对应的关系模型结构如下: 科室(科名,科地址,科电话) 病房(病房号,床位号,科室名) 医生(工作证号,姓名,职称,科室名,年龄) 病人(病历号,姓名,性别,诊治,主管医生,病房号) (3)每个关系模式的候选码如下: 科室的候选码是科名; 病房的候选码是科室名十病房号; 医生的候选码是工作证号; 病人的候选码是病历号。图2E-R图 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 )?Π C # (σ C #=’C1’? C #=’ C2 ’(C))) (2)用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生姓名。 n 病人入住病房 1 病房号床位号工作证号姓名性别病历号 n 医生从属科室 1 科名科电话科地址职称年龄姓名诊治组成 n1n1 {T (1) |(? U)( ? V)( ? W)(S(U) ∧ SC(V) ∧ C(W) ∧ T[1]=U[1] ∧ U[1]=V[ 1]∧ V[2]=W[1] ∧ W[3]=' 程军')}(2)用元组关系演算表达式检索选修了“程军”老师所授课程之一的学生学号。{T (1)|(? V)( ? W)( SC(V) ∧ C(W) ∧ T[1]=V[ 1]∧ V[2]=W[1] ∧ W[3]=' 程军')} (3)用 SQL 找出选修了“程军”老师教的所有课程的学生姓名。 SELECT FROM SWHERE NOT EXISTS (SELECT *FROM CWHERE C. TEACHER ='程军'AND NOT EXISTS (SELECT *FROM SC WHERE #=C. C#AND #=S. S# ))本题解释:SELECT *FROM CWHERE C. TEACHER ='程军'AND EXISTS (SELECT *FROM SC WHERE #=C. C#)这条SQL是查询'程军'所授的所有课程,#作为变量在内层查