资源描述:
《萨王数据库系统概论第三版习题解答第1-11章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第1章绪论(P38)11.试给出一个实际情况的E一R图,要求有三个实体型,而且3个实体型之间有多对多联系。3个实体型之间的多对多联系和三个实体型两两之间的三个多对多联系等价吗?为什么?答:3个实体型之间的多对多联系和3个实体型两两之间的3个多对多联系是不等价,因为它们拥有不同的语义。3个实体型两两之间的三个多对多联系如下图所示。12.学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生;每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。请用E一R图画出此学校的概念模
2、型。答:13.某工厂生产若干产品,每种产品由不同的零件组成,有的零件可用在不同的产品上。这些零件由不同的原材料制成,不同零件所用的材料可以相同。这些零件按所属的不同产品分别放在仓库中,原材料按照类别放在若干仓库中。请用E一R图画出此工厂产品、零件、材料、仓库的概念模型。答:第2章关系数据库(P74)5.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式,用关系代数完成如下查询:1)求供应工程J1零件的供应商号码SNO:πSno(σJno=‘J1’(SPJ))2)求供应工程J1零件P1的供应商号码SNO:πSno(σJno=
3、‘J1’∧Pno=‘P1‘(SPJ))3)求供应工程J1零件为红色的供应商号码SNO:πSno(πSno,Pno(σJno=‘J1’(SPJ))∞πPno(σColor=‘红’(P)))4)求没有使用天津供应商生产的红色零件的工程号JNO:πJno(J)-πJNO(πSno(σcity=‘天津’(S))∞πSno,Pno,Jno(SPJ)∞πPno(σColor=‘红‘(P)))5)求至少用了供应商S1所供应的全部零件的工程号JNO:πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ))第3章关系数据库标准语言SQ
4、L(P127)3.用SQL语句建立第二章习题5中的4个表。答:对于S表:S(SNO,SNAME,STATUS,CITY);建S表:CREATETABLES(SNOCHAR(2)PRIMARYKEY,SNAMECHAR(6),STATUSCHAR(2),CITYCHAR(4));对于P表:P(PNO,PNAME,COLOR,WEIGHT);建P表:CREATETABLEP(PNOCHAR(2)PRIMARYKEY,PNAMECHAR(6),COLORCHAR(2),WEIGHTINT);对于J表:J(JNO,JNAME,CITY)
5、;建J表:CREATETABLEJ(JNOCHAR(2)PRIMARYKEY,JNAMECHAR(8),CITYCHAR(4))对于SPJ表:SPJ(SNO,PNO,JNO,QTY);建SPJ表:SPJ(SNO,PNO,JNO,QTY)CREATETABLESPJ(SNOCHAR(2),PNOCHAR(2),JNOCHAR(2),QTYINT,PRIMARYKEY(SNO,PNO,JNO),FOREIGNKEY(SNO)REFERENCES(SNO),FOREIGNKEY(PNO)REFERENCEP(PNO),FOREIGNK
6、EY(JNO)REFERENCEJ(JNO))5.针对习题3中的四个表试用SQL语言完成以下各项操作:(1)找出所有供应商的姓名和所在城市。SELECTSNAME,CITYFROMS(2)找出所有零件的名称、颜色、重量。SELECTPNAME,COLOR,WEIGHTFROMP(3)找出使用供应商S1所供应零件的工程号码。SELECTJNOFROMSPJWHERESNO='S1'(4)找出工程项目J2使用的各种零件的名称及其数量。SELECTP.PNAME,SPJ.QTYFROMSPJ,PWHEREP.PNO=SPJ.PNOAN
7、DSPJ.JNO='J2'(5)找出上海厂商供应的所有零件号码。SELECTPNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDCITY='上海'(6)找出使用上海产的零件的工程名称。SELECTJNAMEFROMSPJ,S,JWHERES.SNO=SPJ.SNOANDJ.JNO=SPJ.JNOANDS.CITY='上海'(7)找出没有使用天津产的零件的工程号码。SELECTJNOFROMSPJWHEREJNONOTIN(SELECTJNOFROMSPJ,SWHERES.SNO=SPJ.SNOANDS.CITY='
8、天津')(8)把全部红色零件的颜色改成蓝色。UPDATEPSETCOLOR='蓝'WHERECOLOR='红'(9)由S5供给J4的零件P6改为由S3供应。UPDATESPJSETSNO='S3'WHERESNO='S5'ANDJNO='J4'ANDPNO='P