资源描述:
《数据库系统概论sqlch03_sql_作业解答》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、第三章关系数据库标准语言SQL1v试述SQL语言的特点。答:(1)综合统一。SQL语言集数据定义语言DDL、数据库操纵语言DML、数据控制语言的功能于一体。(2)高度非过程化。用SQL语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及SQL语句的操作过程由系统自动完成。(3)面向集合的操作方式。SQL语言采用集合操作方式,不仅操作对象、查询结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。(4)以同一种语法结构提供两种使用方式。SQL语言既是自含式语言,又是嵌入式语言
2、。作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。(5)语言简捷,易学易用。2、试述SQL的定义功能。*答:SQL的数据定义功能包括定义表、定义视图和定义索引。SQL语言使用CREATETABLE语句建立基本表,ALTERTABLE语句修改基本表,DROPTABLE语句删除基本表;使用CREATEINDEX语句建立索引,DROPINDEX语句删除索引;使用CREATEVIEW语句建立视图,DROPVIEW语句删除视图。3、用SQL语句建立第二章习题5中的4个表。答:S(S
3、NO,SNAME,STATUS,CITY):CREATETABLES(SNOCHAR(3)PRIMARYKEY,SNAMECHAR(20),STATUSCHAR(2),CITYCHAR(12));P(PNO,PNAME,COLOR,WEIGHT):CREATETABLEP(PNOCHAR(3)PRIMARYKEY,PNAMECHAR(10),COLORCHAR(5),WEIGHTINT);J(JNO,JNAME,CITY);CREATETABLEJ(JNOCHAR(3)PRIMARYKEY,JNAMECHAR(20),CITYCHAR(12)
4、);SPJ(SNO,PNO,JNO,QTY):CREATTABLESPJ(SNOCHAR(3),PNOCHAR(3),JNOCHAR(3),QTYINT,PRIMARYKEY(SNO,PNO,JNO),FOREIGNKEY(SNO)REFERENCESS(SNO),FOREIGNKEY(PNO)REFERENCESP(PNO),FOREIGNKEY(JNO)REFERENCESJ(JNO));//CONSTRAINTPK_SPJPRIMARYKEY(SNO,PNO,JNO)//CONSTRAINTFK_SPJ1FOREIGNKEY(SNO)R
5、EFERENCESS(SNO)//CONSTRAINTFK_SPJ2FOREIGNKEY(PNO)REFERENCESP(PNO)//CONSTRAINTFK_SPJ3FOREIGNKEY(JNO)REFERENCESJ(JNO)4、针对上题中建立的个表试用SQL完成第二章习题5中的查询。答:(1)求供应工程J1零件的供应商号码SNO;SQL:SELECTSNOFROMSPJWHEREJNO='J1';(2)求供应工程J1零件P1的供应商号码SNO;SQL:SELECTSNOFROMSPJWHEREJNO=J1'ANDPNO=5P11;(3)
6、求供应工程J1零件为红色的供应商号码SNO;SQL:SELECTSNOFROMSPJWHEREJNO='J1'ANDPNOIN(SELECTPNOFROMPWHERECOLOFU红);(4)求没有使用天津供应商生产的红色零件的的工程号JNO;SQL:从J表入手,以包括那些未使用任何零件的工程号。SELECTJNOFROMJWHERENOTEXISTS/*包含那些尚未使用任何零件的工程7(SELECT*FROMSPJWHERESPJ.JNO=J.JNOANDSNOIN(SELECTSNOFROMSWHERECITY=,天津’/*天津供应商的SN
7、O*/ANDPNOIN(SELECTPNOFROMPWHERECOLORS红')))广红色零件的PNO7或.SELECTJNOFROMJWHERENOTEXISTS(SELECT*FROMS,SPJ,PWHERESPJ.JNO=J.JNOANDSPJ.SNO=S.SNOANDSPJ.PNO=P.PNOANDS.CITY=J天津'ANDP.COLOR=红');(5)求至少使用了供应商S1供应的全部零件的工程号JNO要求这样的工程x,使(Vy)(P^Q)为真。即:对于所有的零件y,满足逻辑蕴涵PtQ:P表示“供应商S1供应了零件y”;Q表示“工程
8、x使用了零件y”。W:只要“供应商S1供应了零件y”为真,则“工程x使用了零件y”也为真。逻辑蕴涵转换为等价式:(Vy)(P^Q)=「(为(「(PtQ))三(3yP