数据库习题作业_第1页
数据库习题作业_第2页
数据库习题作业_第3页
数据库习题作业_第4页
数据库习题作业_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、数据库习题作业重点(第 2-3-4 章)RABC3672577234432.6设有关系R和S:S |A B C计算 RU S, R-S, Rn S,RU SABCR-SABC367367257257723443443345RX S,解:n 3,2 ( S),5 (R),R 空 S,時 S。Rn s| A B C23RX SR.AR.BR.CS.AS.BS.C3673453677232573452577237233457237234433454437232 (S) CB5432冗3,(T B5 ( R)ABC陰SR.AR.BR.CS.AS.BS.C72372334544 3R? S2.7设有关系

2、RABSBCabbccbeadebdR和S:a=c(R X S),计算 R ? S, R ? S,cBCS ? R。ABCabcabdcbccbddeaAK. BS. BCbbc呂bbdcbhcCbbd2.8假设关系U和V分别有m个元组和n个元组,给出下列表达式中可能的 最小和最大的元组数量:U n VU? V(T F(U) X V(F为某个条件)n L(U) V (其中L为某属性集) 解:u n V0mi n( m, n)U U Vmax(m, n)m+nU?V0mX n b F(U) X V0mX n n L(U) V0m操作最小元组数最大元组数2.17设有三个关系:T (T#,TNMAE

3、,TITLEC(C#, CNAMET#)S (S#, SNAM, AGE SEX) SC( S#, C#, SCORE试用关系代数表达式表示下列查询语句: 检索年龄小于17岁的女学生的学号和姓名。 检索男学生所学课程的课程号和课程名。 解: (7)检索男学生所学课程的任课教师的工号和姓名。检索至少选修两门课的学生学号。检索至少有学号为S2和S4学生选修的课程的课程号。 检索WAN同学不学的课程的课程号。检索全部学生都选修的课程的课程号与课程名。 检索选修课程包含LIU老师所授全部课程的学生学号。 n S#, SNAME(C AGE 17人SEX= F ( S)n#, CNAME (c SEX=

4、M ( S?SC?C)Hr#, TNAME (c SEX=M ( S?SC?C?T)n 1 (c 1=4 A 2 =5 (sex SC)n 2 (c 1=S2 A 4=S4A 2=5 ( SCX SC)n# ( C)n C# (c SNAME=WANG (S?SC)n#, CNAME (C? (n S#, C# ( SC)*n s# (S)n# C# (SC)*n C# (c tname=liu (C?T)2.21在教学数据库的关系 S、SC C T中,用户有一查询语句:检索女同 学选修课程的课程名和任课教师名。 试写出该查询的关系代数表达式。 画出查询表达式的语法树。 使用启发式优化算法,对

5、语法树进行优化,并画出优化后的语法树。 解:【3.2】设教学数据库中有 4个关系:教师关系 课程关系 学生关系 选课关系T(T# , TNAME , TITLE) C(C# , CNAME,T#)S(S#, SNAME,AGE,SEX)SC(S#, C#, SCORE)试用SQL查询语句表示下列查询。解: 检索年龄小于17岁的女学生的学号和姓名。SELECT S# . SNAMEFROM SWHERE AGE10ORDER BY 2 DESC,1;检索学号比 WANG同学大,而年龄比他小的学生姓名。SELECT SNAMEFROM SWHERE S#ALL(SELECT S# FROM SWH

6、ERE SNAME= W ANG )AND AGE(SELECT A VG(AGE)FROM SWHERE SEX= F;求年龄大于所有女同学年龄的男学生的姓名和年龄。SELECT SNAME, AGEFROM SWHERE SEX= MAND AGEALL(SELECT AGEFROM SWHERE SEX= F;【3. 12】解: INSERT INTO CVALUES( C8; VC+, T6;)法一:INSERT INTO FACULTY(TNAME)SELECT DISTINCT TNAMEFROM (SELECT TNAME , C. C#, AVG(SCORE) FROM T,

7、C, SCWHERE T . T#=C .T# AND C . C#=SC . C#GRO UP BY TNAMEAS RESULT(TNAMEWHERE 80=ALL( SELECT AVG SCOREFROM RESULT AS Y,C. C#),C#, AVG SCORE) AS XWHERE Y . TNAME=X . TNAME);法二INSERT INTO FACULTY(TNAME)SELECT DISTINCT TNAMEFROM T, C, SCWHERE C . C#=SC. C# AND T . T#=C . T#AND T# NOT IN (SELECT T# FROM

8、 CWHERE C# IN(SELECT C# FROM SCGROUP BY C# HA VING A VG(SCORE)=80) DELETE FROM SC WHERE SCORE IS NULL DELETE FROM SCWHERE S# IN(SELECT S# FROM S WHERE SEX= F)AND C# IN(SELECT C# FROM C, T WHERE C.T#=T.T# AND TNAME= UPDATE SCSET SCORE=60WHERE SCORE60AND C# IN(SELECT C#FROM C WHERE CNAME= MA THS)UPDAT

9、E SCSET SCORE=SCORE * 1.05WHERE S # IN(SELECT S# FROM S WHERE SEX=F )AND SCORE7QUPDATE SCSET SCORE=SCORE * 1.05WHERE C#= C4 AND SCORE70 THEN 1.04ELSE l.05ENDWHERE C#= C4; UPDATE SCSET SCORE=SCORE * 1.05WHERE SCORE50 AND SEX= M ; SELECT EMP . E#, ENAMEFROM EMP, WORKSWHERE EMP.E#=WORKS . E# AND SALARY

10、1000 AND SEX= M)SELECT A . E#, A . ENAMEFROM EMP A , WORKS B , WORKS CWHERE A . E#=B . E# AND B . E#=C. E#AND B . C#= C4AND C . C#= C8 SELECT A . E#, A . ENAMEFROM EMP A , WORKS B , COMP CWHERE A . E#=B . E# AND B . C#=C . #AND CNAME= 联华公司 AND SALARY1000 AND SEX=M ; SELECT E# , COUNT(C#) AS NUM ,FRO

11、M WORKSSUM(SALARY) AS SUM_SALARYGRO UP BY E#; SELECT X.E#FROM WORKS XWHERE NOT EXISTS(SELECT *FROM WORKS YWHERE E#= E6AND NOT EXISTS(SELECT *FROM WORKS ZWHERE Z . E#=X . E# AND Z . C#=Y. SELECT A . E#, A . ENAME FROM EMP A , WORKS B , COMP C WHERE A . E#=B . E# AND B . C#=C . AND SALARY50) DELETE FR

12、OM WORKSWHERE E# IN (SELECT E# FROM EMP WHERE AGE60)DELETE FROM EMPWHERE AGE60 ;4.8 设关系模式R (ABCD ), F是R上成立的FD集,F= A - B, C - B , 则相对于F,试写出关系模式R的关键码。并说明理由。解:4.9解:R的关键码为ACD。因为从已知的F,只能推出ACD-ABCD。设关系模式R(ABCDE上 FD集为F,并且F= A4C, CCHE, DE B,试判 断AB是R的候选键吗? ABD呢?请做出解释。 从已知的F ,可推出AB-ABC,但不能推出AB ABCDE ,因此不是。 从已

13、知的F,可推出ABDABCD , ABD ABCDE,因此是的。4.13设关系模式R( ABCD , F是R上成立的FD集,F= A B, B C, 试写出属性集BD的闭包(BD)+o 试写出所有左部是B的函数依赖(即形为“ B?”)。解:从已知的F,可推出BDBCD,所以(BD)+=BCD o由于B+=BC,因此左部是B的FD有四个:B , B B, BC , BBCo 4.14 设关系模式 R(ABCDE上 FD集为 F ,并且 F= A BC, CE , B D, E A。 试求R的候选键。 试求B+的值。解:R的候选键有四个:A、E、CD和 BC B+=BD 4.26 设关系模式 R( ABCD ), F是R上成立的FD集,F= AB CD, A D o 试说明R不是2NF模式的理由。 试把R分解成2NF模式集。答:从已知FD集F,可知R的候选键是AB o另外,AB D是一个局部依赖,因此 R不是2NF模式。此时R应分解成P = AD , ABC ,卩是2NF模式集。4.27设关系模式R (ABC ) , F是R上成立的FD集,F= C B , BA 。 试说明R不是3NF模式的理由。 试把R分解成3NF模式集。答:从已知FD集F,可知R的候选键是CoBA ,卩是3NF模式集。从C B和BA,可知CA是一个传递依赖,因此 R不是3NF模式。 此时R应分解成

温馨提示

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

评论

0/150

提交评论