《第三章 作业分析.ppt》由会员分享,可在线阅读,更多相关《第三章 作业分析.ppt(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库系统原理数据库系统原理数据库系统原理数据库系统原理第三章第三章 作业分析作业分析12/30/2022第第 1 页页制作:华中科技大学计算机学院制作:华中科技大学计算机学院 谢美意谢美意问题问题1:完整性约束定义(主键):完整性约束定义(主键)CREATE TABLE S(SNOCHAR(4)PRIMARY KEYPRIMARY KEY,SNAMECHAR(20),STATUSSMALLINT,CITYCHAR(20);NOT NOT NULL NULL UNIQUEUNIQUE可可以以达达到到与与PRIMARY PRIMARY KEYKEY相相同同的的约约束束效效果果,不不同同之之处处在
2、在于于:前前者者可可以以在在一一个个表表中中多多次次出出现现;而而后后者只能出现一次。者只能出现一次。12/30/20222制作:华中科技大学计算机学院制作:华中科技大学计算机学院 谢美意谢美意问题问题2:完整性约束定义(外键):完整性约束定义(外键)CREATE TABLE SPJ(SNOCHAR(4),PNOCHAR(4),JNOCHAR(4),QTYINT,PRIMARY KEY(SNO,PNO,JNO),PRIMARY KEY(SNO,PNO,JNO),FOREIGN KEY(SNO)REFERENCES S(SNO),FOREIGN KEY(SNO)REFERENCES S(SNO)
3、,FOREIGN KEY(PNO)REFERENCES P(PNO),FOREIGN KEY(PNO)REFERENCES P(PNO),FOREIGN KEY(JNO)REFERENCES J(JNO)FOREIGN KEY(JNO)REFERENCES J(JNO);12/30/20223制作:华中科技大学计算机学院制作:华中科技大学计算机学院 谢美意谢美意问题问题3:求没有使用天津供应商生产的红色零件的工程号:求没有使用天津供应商生产的红色零件的工程号JNOSELECT JNOFROM J JWHERE JNO NOT IN(SELECT JNOFROM JSP,S,PWHERE JSP
4、.SNO=S.SNOJSP.SNO=S.SNOAND JSP.PNO=P.PNOAND JSP.PNO=P.PNOAND S.CITY=天津天津AND P.COLOR=红红);SELECT JNOFROM J JWHERE NOT EXISTS(SELECT*FROM JSP,S,PWHERE JSP.SNO=S.SNOJSP.SNO=S.SNOAND JSP.PNO=P.PNOAND JSP.PNO=P.PNOAND S.CITY=天津天津AND P.COLOR=红红AND JSP.JNO=J.JNOAND JSP.JNO=J.JNO);习题习题3.5(7)找出没有使用天津产的零件的工程号与
5、此题类似。找出没有使用天津产的零件的工程号与此题类似。12/30/20224制作:华中科技大学计算机学院制作:华中科技大学计算机学院 谢美意谢美意问题问题4:求至少使用了供应商:求至少使用了供应商S1所供应的全部零件的工程号所供应的全部零件的工程号与与教教材材P111例例47类类似似,这这类类查查询询应应转转换换为为另另一一种种等等价价形形式式来来表表达达,即即:不不存存在在这这样样的的零零件件Y,它它是是供供应应商商S1供供应应的的,而而工工程程X没有使用。没有使用。SELECT JNOFROM JSP X X WHERE NOT EXISTS(SELECT*FROM JSP Y YWHER
6、E Y.SNO=S1 AND NOT EXISTS(SELECT*FROM JSP Z ZWHERE Z.PNO=Y.PNO AND Z.JNO=X.JNO);12/30/20225制作:华中科技大学计算机学院制作:华中科技大学计算机学院 谢美意谢美意问题问题5:从表:从表S中删除中删除S2的记录,并从表的记录,并从表JSP中删除相应记录中删除相应记录由由于于JSP与与S之之间间的的引引用用关关系系,当当JSP中中存存在在SNO为为S2的的记记录录时,删除时,删除S中的记录可能导致两种结果:中的记录可能导致两种结果:t t 删除失败删除失败删除失败删除失败(解决办法,先删除(解决办法,先删除J
7、SP中的记录)中的记录)t t JSPJSP中的记录同时被删除中的记录同时被删除中的记录同时被删除中的记录同时被删除(如何定义违约动作?)(如何定义违约动作?)12/30/20226制作:华中科技大学计算机学院制作:华中科技大学计算机学院 谢美意谢美意问题问题6:为三建工程项目建立供应情况视图:为三建工程项目建立供应情况视图CREATE VIEW V_SANJIAN(SNO,PNO,QTY)ASSELECT SNO,PNO,QTYFROM JSP,J JWHERE JSP.JNO=J.JNO AND J.JNAME=WHERE JSP.JNO=J.JNO AND J.JNAME=三建三建三建三建 12/30/20227制作:华中科技大学计算机学院制作:华中科技大学计算机学院 谢美意谢美意