数据库习题解答-new_第1页
数据库习题解答-new_第2页
数据库习题解答-new_第3页
数据库习题解答-new_第4页
数据库习题解答-new_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

数据库习题解答-new第一页,编辑于星期六:十九点三十六分。第1页,共24页。第二页,编辑于星期六:十九点三十六分。第2页,共24页。[P74]习题5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:1)求供应工程J1零件的供应商号码SNO:πSno(σSno=‘J1’(SPJ))2)求供应工程J1零件P1的供应商号码SNO:πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))3)求供应工程J1零件为红色的供应商号码SNO:πSno(σPno=‘P1‘(σCOLOR=’红‘(P)SPJ))4)求没有使用天津供应商生产的红色零件的工程号JNO:πJno(SPJ)-πJNO(σcity=‘天津’∧Color=‘红‘(SSPJP))5)求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))

第三页,编辑于星期六:十九点三十六分。第3页,共24页。除(Division)给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算得到一个新的关系P(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X上分量值x的象集Yx包含S在Y上投影的集合,记作:

R÷S={tr[X]|tr

R∧πY(S)

Yx}Yx:x在R中的象集,x=tr[X]第四页,编辑于星期六:十九点三十六分。第4页,共24页。除(续)[例6]设关系R、S分别为下图的(a)和(b),R÷S的结果为图(c)

第五页,编辑于星期六:十九点三十六分。第5页,共24页。分析在关系R中,A可以取四个值{a1,a2,a3,a4}a1的象集为{(b1,c2),(b2,c3),(b2,c1)}a2的象集为{(b3,c7),(b2,c3)}a3的象集为{(b4,c6)}a4的象集为{(b6,c6)}S在(B,C)上的投影为{(b1,c2),(b2,c1),(b2,c3)}只有a1的象集包含了S在(B,C)属性组上的投影所以R÷S={a1}第六页,编辑于星期六:十九点三十六分。第6页,共24页。综合举例以学生-课程数据库为例(P56)[例7]查询至少选修1号课程和3号课程的学生号码

首先建立一个临时关系K:

然后求:πSno,Cno(SC)÷K

Cno

1

3第七页,编辑于星期六:十九点三十六分。第7页,共24页。综合举例(续)例7续πSno,Cno(SC) 95001象集{1,2,3} 95002象集{2,3}K={1,3}于是:πSno,Cno(SC)÷K={95001}SnoCno950011950012950013950022950023第八页,编辑于星期六:十九点三十六分。第8页,共24页。[P127]习题3.用sQL语句建立第二章习题5(P74)中的4个表。答:对于S表:S(SNO,SNAME,STATUS,CITY);建S表:CREATETABLES(SnoC(2)UNIQUE,SnameC(6),StatusC(2),CityC(4));对于P表:P(PNO,PNAME,COLOR,WEIGHT);建P表:CREATETABLEP(PnoC(2)UNIQUE,PnameC(6),COLORC(2),WEIGHTINT);对于J表:J(JNO,JNAME,CITY);建J表:CREATETABLEJ(JnoC(2)UNlQUE,JNAMEC(8),CITYC(4));对于SPJ表:SPJ(sNo,PNo,JNo,QTY);建SPJ表:SPJ(SNO,PNO,JNO,QTY)CREATETABLESPJ(SnoC(2),PnoC(2),JNOC(2),QTYINT));第九页,编辑于星期六:十九点三十六分。第9页,共24页。【P127】4.针对上题中建立的4个表试用SQL语言完成第二章习题5中的查询。(l)求供应工程Jl零件的供应商号码SNO; SELECTDISTINCTSNO FROMSPJ WHEREJNO=’J1’;(2)求供应工程Jl零件Pl的供应商号码SNO;SELECTDISTINCTSNOFROMSPJWHEREJNO='J1'ANDPNO='P1‘;(3)求供应工程Jl零件为红色的供应商号码SNO;SELECTSNOFROMSPJ,PWHEREJNO='J1'ANDSPJ.PNO=P.PNOANDCOLOR='红‘;第十页,编辑于星期六:十九点三十六分。第10页,共24页。(4)求没有使用天津供应商生产的红色零件的工程号JNO;SELECTDISTINCTJNOFROMSPJWHEREJNONOTIN(SELECTJNOFROMSPJ,P,SWHERES.CITY='天津'ANDCOLOR='红'ANDS.SNO=SPJ.SNOANDP.PNO=SPJ.PNO);第十一页,编辑于星期六:十九点三十六分。第11页,共24页。(5)求至少用了供应商S1所供应的全部零件的工程号JNO;p:供应商S1供应了零件yq:工程x选用了零件y找这样的x,使得对于所有的零件y,p->q都成立等价转换为:不存在零件y,供应商S1供应了y,而工程x没有选用ySELECTDISTINCTJNOFROMSPJSPJXWHERENOTEXISTS(SELECT*FROMSPJSPJYWHERESPJY.SNO='S1'ANDNOTEXISTS(SELECT*FROMSPJSPJZWHERESPJZ.SNO=SPJX.SNOAND

SPJZ.PNO=SPJY.PNO));第十二页,编辑于星期六:十九点三十六分。第12页,共24页。5.(1)找出所有供应商的姓名和所在城市。

SELECTSNAME,CITYFROMS;(2)找出所有零件的名称、颜色、重量。

SELECTPNAME,COLOR,WEIGHTFROMP;(3)找出使用供应商S1所供应零件的工程号码。

SELECTDISTJNOFROMSPJWHERESNO='S1‘;(4)找出工程项目J2使用的各种零件的名称及其数量。SELECTPNAME,QTYFROMSPJ,PWHEREP.PNO=SPJ.PNOANDSPJ.JNO='J2‘;第十三页,编辑于星期六:十九点三十六分。第13页,共24页。(5)找出上海厂商供应的所有零件号码。SELECTPNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDCITY='上海';(6)找出使用上海产的零件的工程名称。SELECTJNAMEFROMSPJ,S,JWHERES.SNO=SPJ.SNOANDS.CITY='上海'ANDJ.JNO=SPJ.JNO;第十四页,编辑于星期六:十九点三十六分。第14页,共24页。(7)找出没有使用天津产的零件的工程号码。SELECTDISTINCTJNOFROMSPJWHEREJNONOTIN(SELECTDISTINCTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDS.CITY='天津');第十五页,编辑于星期六:十九点三十六分。第15页,共24页。(8)把全部红色零件的颜色改成蓝色。UPDATEPSETCOLOR='蓝'WHERECOLOR='红‘;(9)由S5供给J4的零件P6改为由S3供应。

UPDATESPJSETSNO='S3'WHERESNO='S5'ANDJNO='J4'ANDPNO='P6‘;第十六页,编辑于星期六:十九点三十六分。第16页,共24页。(10)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。A、DELETEFROMSPJWHERESNO=‘S2’;B、DELETEFROMSWHERESNO=’S2’;(11)请将(S2,J6,P4,200)插入供应情况关系。

INSERTINTOSPJVALUES(‘S2’,‘J6’,‘P4’,200);第十七页,编辑于星期六:十九点三十六分。第17页,共24页。习题解答请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:(d)用户刘星对职工表有SELECT权力,对工资字段具有更新权力:GRANTSELECT,UPDATE(工资)ON职工 TO刘星;第十八页,编辑于星期六:十九点三十六分。第18页,共24页。(e)用户张新具有修改这两个表的结构的权力。GRANTALTERTABLEON职工,部门TO张新;第十九页,编辑于星期六:十九点三十六分。第19页,共24页。(f)用户周平具有对两个表所有权力(读,插,改,删数据),并具有给其他用户授权的权力GRANTALLPRIVILIGESON职工,部门 TO周平 WITHGRANTOPTION;第二十页,编辑于星期六:十九点三十六分。第20页,共24页。(g)用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权力,他不能查看每个人的工资。CREATEVIEW部门工资AS SELECT部门.名称,MAX(工资),MIN(工资),AVG(工资) FROM职工,部门 WHERE职工.部门号=部门.部门号 GROUPBY职工.部门号 GRANTSELECTON部门工资 TO杨兰;第二十一页,编辑于星期六:十九点三十六分。第21页,共24页。假设有下面两个关系模式:职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;部门(部门号,名称,经理名,电话),其中部门号为主码。用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:定义每个模式的主码;定义参照完整性;定义职工年龄不得超过60岁。CREATETABLEDEPT(DeptnoNUMBER(2),DeptnameVARCHAR(10),ManagerVARCHAR(10),PhoneNumberChar(12)

CONSTRAINTPK_SCPRIMARYKEY(Deptno));第二十二页,编辑于星期六:十九点三十六分。第22页,共24页。CREATETABLEEMP(EmpnoNUMBER(4),EnameVARCHAR(10),

温馨提示

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

评论

0/150

提交评论