数据库课后习题答案.doc_第1页
数据库课后习题答案.doc_第2页
数据库课后习题答案.doc_第3页
数据库课后习题答案.doc_第4页
数据库课后习题答案.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

P103 第十题(3) SELECT 职工号,姓名 FROM 职工 WHERE 职工号 IN (SELECT 职工号 FROM 参加 WHERE 编号 IN (SELECT 编号 FROM 社会 团体 WHERE 名称=唱歌队 OR 名称=篮球队)(4) SELECT * FROM 职工 WHERE 职工号 NOT IN (SELECT 职工号 FROM 参加) (5) SELECT * FROM 职工 WHERE NOT EXISTS (SELECT * FROM 社团 WHERE NOT EXISTS(SELECT * FROM 参加 WHERE 职工.职工号=职工号 AND 社团.编号=编号)(6) SELECT * FROM 职工 WHERE NOT EXISTS (SELECT * FROM 参加 A Where A.职工号=1001 and not exists (select * From 参加 B Where 职工.职工号=B.职工号 and A.编号=B.编号) (7)select 编号,count(职工号)as 人数 From 参加 Group by 编号 (8)select 名称 from 社团, 参加 Group by 编号 having count(*)=all(select count(职工号) From 参加 Group by 编号 )select Cno,Cnamefrom Coursewhere Cno in (select Cno from elective Group by elective.Cno having count(*)=all(select count(Sno) From elective Group by Cno )(9) select 名称,负责人 From 社团 Where 编号 in (select 编号 From 参加 Group by 编号 having count(职工号)100)(10) Grant select,insert, delete on table 社团,参加 to 李平 with grant option11(1) select 姓名,联系电话 From 供应商 Where 所在城市=天津(2)Select * From 工程Where 预算=50000 and 预算=3)select Sno, Sname From Student Where Sno in (select Sno From elective Group by Sno having count(Cno)=3)(7) select学号,姓名 From 学生 Where 学号 in (select 学号,sum( From 选课,课程 Where 选课.课程号= 课程.课程号 Group by 学号 having sum(学分)30)(8) Update 选课 Set 成绩=成绩*1.2 Where 课程号 in (select 课程号 From 课程 Where 课程名=数据库)and 成绩60(9) delete from选课 where 学号 in (select 学号 From 选课 Where 成绩60 and 课程号 in (select 课程号 From 课程 Where 课程名=数据库) 1、已知学生关系模式S(Sno,Sname,SD,Sdname,Course,Grade)其中:Sno学号、Sname姓名、SD系名、Sdname系主任名、Course课程、Grade成绩。(1)写出关系模式S的基本函数依赖和主码。(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么? (3)将关系模式分解成3NF,并说明为什么? (1)写出关系模式S的基本函数依赖和主码。答: 关系模式S的基本函数依赖如下: SnoSname,SDSdname,SnoSD,(Sno,Course) Grade关系模式S的码为:(Sno,Course)。(2)原关系模式S为几范式?为什么?分解成高一级范式,并说明为什么?答: 原关系模式S是属于1NF的,码为(Sno,Course),非主属性中的成绩完全依赖于码,而其它非主属性对码的函数依赖为部分函数依赖,所以不属于2NF。消除非主属性对码的函数依赖为部分函数依赖,将关系模式分解成2NF如下:S1(Sno,Sname,SD,Sdname)、S2(Sno,Course,Grade) (3)将关系模式分解成3NF,并说明为什么? 答: 将上述关系模式分解成3NF如下: 关系模式S1中存在SnoSD,SDSdname,即非主属性Sdname传递依赖于Sno,所以S1不是3NF。进一步分解如下: S11(Sno,Sname,SD) S12(SD,Sdname) 分解后的关系模式S11、S12满足3NF。 对关系模式S2不存在非主属性对码的传递依赖,故属于3NF。所以,原模式S(Sno,Sname,SD,Sdname,Course,Grade)按如下分解满足3NF。S11(Sno,Sname,SD) S12(SD,Sdname)S2(Sno,Course,Grade) n 2、设有如图所示的学生关系Sn 试问S是否属于3NF? 为什么?若不是,它属于几范式? 并将其规范化为3NF. 解:S不属于3NF,它属于2NF。S的候选关键字为“学号”。依赖关系:学号系号, 系号系名,系号 学号所以: 学号系名,即存在非主属性系名对候选关键字“学号”的传递依赖,S不是3NF.在S中所有非主属性均依赖于码学号,所以S是2NF。将S分解成: S1(学号,学生名,年龄,性别,系号)、S2(系号,系名),分解后的Sl与S2如图所示: 关系模式S1如下: 关系模式S2如下:关系模式S1、S2上无传递依赖,它们是3NF。 2建立一个关于系、学生、班级、学会等诸信息的关系数据库。学生:学号、姓名、出生年月、系名、班号、宿舍区。班级:班号、专业名、系名、人数、入校年份。系:系名、系号、系办公地点、人数。学会:学会名、成立年份、办公地点、人数。 语义如下:一个系有若干专业,每个专业每年只招一个班,每个班有若干学生。一个系的学生住在同一宿舍区。每个学生可参加若干学会,每个学会有若干学生。学生参加某学会有一个入会年份。 请给出关系模式,写出每个关系模式的极小函数依赖集,指出是否存在传递函数依赖,对于函数依赖左部是多属性的情况讨论函数依赖是完全函数依赖,还是部分函数依赖。指出各关系模式的候选码、外部码,有没有全码存在? 解:(1)关系模式如下: 学生:S(Sno,Sname,Sbirth,Dept,Class,Rno) 班级:C(Class,Pname,Dept,Cnum,Cyear) 系:D(Dept,Dno,Office,Dnum) 学会:M(Mname,Myear,Maddr,Mnum) (2)每个关系模式的最小函数依赖集如下: A、学生S (Sno,Sname,Sbirth,Dept,Class,Rno) 的最小函数依赖集如下:SnoSname,SnoSbirth,SnoClass,ClassDept,DEPTRno 传递依赖如下:由于SnoDept,而DeptSno ,DeptRno(宿舍区)所以Sno与Rno之间存在着传递函数依赖。 由于ClassDept,Dept Class,DeptRno 所以Class与Rno之间存在着传递函数依赖。 由于SnoClass,ClassSno,ClassDept 所以Sno与Dept之间存在着传递函数依赖。 B、班级C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下: ClassPname,ClassCnum,ClassCyear,PnameDept. 由于ClassPname,PnameClass,PnameDept 所以C1ass与Dept之间存在着传递函数依赖。 C、系D(Dept,Dno,Office,Dnum)的最小函数依赖集如下: DeptDno,DnoDept,DnoOffice,DnoDnum 根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖。 D、学会M(Mname,Myear,Maddr,Mnum)的最小函数依赖集

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论