数据库复习题

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

3.设有如下图所示的关系R和S,计算:⑴R1=R-SRS⑵R2=R∪S⑶R3=R∩S⑷R4=R×S解:本题各小题的结果如下图所示。R-SR∪SR∩SR×S4.设有如下图所示的关系R,S,计算:⑴R1=R-SRS⑵R2=R∪S⑶R3=R∩S⑷R4=))((1,RbBBA解:本题各小题的结果如下图所示。R1R2R3R45.设有如下图所示的关系R,S和T,计算:⑴R1=R∪SRST⑵R2=R-S⑶R3=RT⑷R4=CART⑸R5=AR(R)⑹R6=CA(R×T)解:本题各小题的结果如图2.13所示。R1R2R3R4R5R6ABCabcbabcfdABCbdaafdABCacbbcdABCabcdbabacfddABCbafABCA’B’C’aabbccbbaabbccffddbdbdbdaaaaaafdfdfdABCa1a1a2b1b2b2c1c2c1ABCa1a2a1b2b2b3c2c1c2ABCa1b1c1ABCa1a1a2a1b1b2b2b3c1c2c1c2ABCa1a2b2b2c2c1ABa1b1ABabcdecABdbdaacBCbcbbcdABabcdbddecaacAabcABCcccABB’CaaabbcdddeecbcbcbbbcdcddABabcdecABB’Cbcecbcbc6.设有如下图所示的关系R,S,计算:⑴R1=RSRS⑵R2=]2[]2[SR⑶R3=SRDB解:本题各小题的结果如下图所示。R1R2R311.设有关系模式:SB(SN,SNAME,CITY)其中:SB表示供应商,SN为供应商代号,SNAME为供应商名字,CITY为供应商所在城市,主关键字为SN。PB(PN,PNAME,COLOR,WEIGHT)其中:P表示零件,PN为零件代号,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量,主关键字为PN。JB(JN,JNAME,CITY)其中:JB表示工程,JN为工程编号,JNAME为工程名字,CITY为工程式所在城市,主关键字为JN。SPJB(SN,PN,JN,QTY)其中:SPJ表示供应关系,SN是为指定工程提供零件的供应商代号,PN为所提供的零件代号,JN为工程编号,QTY表示提供的零件数量,主关键字为SN,PN,JN,外关键字为SN,PN,JN。如图所示表示供应商(S)—零件(P)—工程(J)数据库表,写出实现以下各题功能的SQL语句:(1)取出所有工程的全部细节:SELECT*FROMJB(2)取出所在城市为上海的所有工程的全部细节;SELECT*FROMJBWHERECETY=“上海”ABC347465247733CDE374253ABCDE34746524773322443355ABCC’DE723345ABCC’DE742433732435(3)取出重量最轻的零件代号;SELECTPNFROMPBWHERHWEIGHT=(SELECTMIN(WEIGHT)FROMPB)(4)取出为工程式J1提供零件的供应商代号;SELECTSNFROMSPJBWHEREJN=“J1”(5)取出为工程J1提供P1的供应商代号;SELECTSNFROMSPJBWHEREJN=“J1”ANDPN=“P1”(6)取出由供应商S1提供零件的工程名称;SELECTJB.JNAMEFROMJB,SPJBWHEREJB.JN=SPJB.JNANDSPJB.SN=“S1”(7)取出供应商S1提供的零件的颜色;SELECTDISTINCTPB.COLORFROMPB,SPJBWHEREPB.PN=SPJB.PNANDSPJB.SN=“1”(8)取出为工程J1或J2提供零件的供应商代号;SELECTDISTINCTSNFROMSPJBWHEREJN=“J1”ORJN=“J2”(9)取出为工程J1提供红色零件的供应商代号;SELECTDISTINCTSPJB.SNFROMSPJB,PBWHEREPB.PN=SPJB.PNANDSPJB.JN=“J1”ANDPB.COLOR=“红”(10)取出为所在城市为上海的工程提供零件的供应商代号;SELECTDISTINCTSPJB.SNFROMSPJB,JBWHERESPJB.JN=JB.JNANDJB.CITY=“上海”(11)取出为所在城市为上海或北京的工程提供红色零件的供应商代号;SELECTSPJB.SNFROMPB,JB,SPJBWHERESPJB.PN=PB.PNANDJB.JN=SPJB.JNANDPB.COLOR=‘红’AND(JB.CITY=“上海”ORJB.CITY=“北京”(12)取出供应商与工程所在城市相同的供应商提供的零件代号;SELECTDISTINCTSPJB.PNFROMSB,JB,SPJBWHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITY=JB.CITYTOSCREEN;(13)取出上海的供应商提供给上海的任一工程的零件的代号;SELECTSPJB.PNFROMSB,JB,SPJBWHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITY=“上海”ANDJB.CITY=“上海”(14)取出至少由一个和工程式不在同一城市的供应商提供零件的工程代号;SELECTDISTINCTSPJB.JNFROMSB,JB,SPJBWHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITYJB.CITY(15)取出上海供应商不提供任何零件的工程的代号SELECTDISTINCTJNFROMSPJBWHEREJNNOTIN(SELECTDISTINCTSPJB.JNFROMSB,SPJBWHERESB.SN=SPJB.SNANDSB.CITY=“上海”)(16)取出这样一些供应商代号,它们能够提供至少一种由红色零件的供应商提供的零件;SELECTDISTINCTSPJB.SNFROMPB,SPJBWHERESPJB.PNIN(SELECTSPJB.PNFROMSPJB,SB,PBWHERESB.SN=SPJB.SNANDPB.PN=SPJB.PNANDPB.COLOR=“红”(17)取出由供应商S1提供零件的工程的代号:SELECTDISTINCTSPJB.JNFROMSB,PB,SPJBWHIERESB.SN=SPJB.SNANDPB.PN=SPJB.PNANDSB.SN=“S1”(18)取出所有这样的一些CITY,CITY二元组,使得第1个城市的供应商为第2个城市的工程提供零件;SELECTDISTINCTSB.CITY,JB.CITYFROMSB,JB,SPJBWHERESB.SN=SPJB.SNANDJB.JN=SPJB.JN(19)取出所有这样的三元组CITY,PN,CITY,使得第1个城市的供应商为第2个城市的工程提供指定的零件;SELECTDISTINCTSB.CITY,SPJB.PN,JB.CITYFROMSB,JB,SPJBWHERESB.SN=SPJB.SNANDJB.JN=SPJB.JN(20)重复(19)题,但不检索两个CITY值相同的三元组。SELECTDISTINCTSB.CITY,SPJB.PN,JB.CITYFROMSB,JB,SPJBWHERESB.SN=SPJB.SNANDJB.JN=SPJB.JNANDSB.CITYJB.CITY12.有样本表student、teacher、course和score(如图),写出实现以下各题功能的SQL语句,并给出执行结果。Studentscore-------------------------------------------------------------------------------------NONAMESEXBIRTHDAYCLASSNOCNODEGREE108曾华男09/01/77950331033-24586105匡明男10/02/75950311053-24575107王丽女01/23/76950331093-24568101李军男02/20/76950331033-10592109王芳女02/10/75950311053-10588103陆军男06/03/74950311093-105761013-105641013-105911013-105781016-166851016-166791016-16681teachercourse--------------------------------------------------------------------------------------------------NONAMESEXBRITHDAYPROFDEPARTCNOCNAMETNO804李诚男12/02/58副教授计算机3-103计算机导论825856张旭男03/12/69讲师电子3-245操作系统825825王萍女05/05/72助教计算机6-166数字电路825831刘冰女08/14/77助教电子9-888高等数学825列出至少有2名男生的班号。SELECTclassFROMstudentWHEREsex=“男”GROUPBYclassHAVINGCOUNT(*)=2屏幕显示student表中不姓“王”的同学记录。SELECT*FROMstudenWHEREnamenotlike“王%”屏幕显示student表示每个学生的姓名和年龄。SELECTnameas“姓名”,year(date())-year(birthday)as“年龄”FROMstudent屏幕显示student表中最大和最小的birthday日期值。SELECTname,max(birthday),min(birthday)FROMstudent屏幕显示“男”教师及其所上的课程。SELECTx.name,y.cnameFROMteacherx,courseyWHEREx.no=y.tnoANDx.sex=“男”在屏幕上列出最高分同学的no、cno和degree列。SELECTno,cno,degreeFROMscoreWHEREdegree=(SELECTmax(degree)FROMscore)在屏幕上列出和“李军”同性别并同班的同学name。SELECTnameFROMstudentWHEREsex=(SELECTsexFROMstudentWHEREname=“李军”)ANDclass=(SELECTclassFROMstudentWHEREname=“李军”)在屏幕上列出所有选修“计算机导论”课程的“男”同学的成绩表。SELECTno,cno,degreeFROMscoreWHEREnoIN(SELECTnoFROMstudentWHEREsex=‘男’)ANDcno=(SELECTcnoFROMcourseWHEREcname=“计算机导论”)-----------------------------------------------**************************************************************************设有一教学管理数据库,其属性为:学号(S#),课程号(C#),成绩(G),任课教师(TN),教师所在的系(D)。这些数据有下列语义:·学号和课程号分别与其代表的学生和课程——对应;·一个学生所修的每门课程至多只能修一次,且都有一个成绩;·每门课程只有一位任课教师,但每位教师可以有多门课程;·教师中没有重名,每个教师只属于一个系。(1)试根据上述语义确定函数依赖集。(2)如果用上面所有属性组成一个关系模式,那么该关系模式为何模式?并举例说明在进行增、删操作时的异常现象。(3)分解为具有依赖保持和无损连接的3NF。解:(1)F={(S#,C#)→G,C#→TN,TN→D}(2)关系模式为1NF,因为该关系模式的候选关键字为(S#,

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功