第3章习题及部分解答
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.5设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLOR,WEIGHT); J(JNO,JNAME,CITY);
SPJ(SNO,PNO,JNO,QTY);
1、供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;
2、零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;
3、工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;
4、供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。试用关系代数语言完成如下查询:
1)找出所有供应商的姓名和所在城市;
2)找出所有零件的名称、颜色、重量;
3)找出使用供应商S1所供应零件的工程号码;
4)找出工程项目J2使用的各种零件的名称及其数量;
5)找出上海厂商供应的所有零件号码;
6)找出使用上海产的零件的工程号码;
7)找出没有使用天津产的零件的工程号码;
8)把全部红色零件的颜色改成蓝色;
9)由S5供给J4的零件P6改为由S3供应,请作必要的修改;
10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录;
11)求供应工程J1零件的供应商号码SNO;
12)求供应工程J1零件P1的供应商号码SNO;
13)求供应工程J1零件为红色的供应商号SNO;
14)求没有使用天津供应商生产的红色零件的工程号JNO;
15)求S1提供的零件名PNAME;
16)求给工程J1和J2提供零件的供应商号码SNO;
解:
1)找出所有供应商的姓名和所在城市;
Select SNAME,CITY From S
2)找出所有零件的名称、颜色、重量;
Select PNAME,COLOR,WEIGHT From P
3)找出使用供应商S1所供应零件的工程号码;
Select JNO From SPJ Where SNO= ‘S1’
4)找出工程项目J2使用的各种零件的名称及其数量;
Select PNAME,QTY From SPJ,P
Where SPJ.PNO=P.PNO And JNO=‘J2’
5)找出上海厂商供应的所有零件号码;
Select PNO From S,SPJ
Where SPJ.SNO=S.SNO And CITY=‘上海’
6)找出使用上海产的零件的工程号码;
Select JNAME From J,SPJ,S Where J.JNO=SPJ.JNO
And S.SNO=SPJ.SNO And S.CITY=‘上海’
7)找出没有使用天津产的零件的工程号码;
Select JNO From SPJ Where SNO
NOT IN(Select SNO From S Where CITY= ‘天津’)
8)把全部红色零件的颜色改成蓝色;
Updat P SET COLOR=‘蓝’ Where COLOR=‘红’
9)由S5供给J4的零件P6改为由S3供应,请作必要的修改;Updat SPJ SET SNO=‘S3’
Where SNO=‘S5’ And JNO=‘J4’ And PNO=‘P6’
10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录;
Delete From S Where SNO=‘S2’
Delete From SPJ Where SNO=‘S2’
11)求供应工程J1零件的供应商号码SNO;
Select SNO From SPJ Where JNO=‘J1’
12)求供应工程J1零件P1的供应商号码SNO;
Select SNO From SPJ Where JNO=‘J1’ And PNO=‘P1’
13)求供应工程J1零件为红色的供应商号SNO;
Select SNO From P,SPJ
Where P.PNO=SPJ.PNO And JNO=‘J1’ And COLOR=‘红’
14)求没有使用天津供应商生产的红色零件的工程号JNO; Select JNO From SPJ Where JNO NOT IN(
Select JNO From S,SPJ,P Where S.SNO=SPJ.SNO
And P.PNO=SPJ.PNO And COLOR=‘红’ And CITY=‘天津’)
15)求S1提供的零件名PNAME;
Select PNAME From SPJ,P
Where P.PNO=SPJ.PNO And SNO=‘S1’
16)求同时给工程J1和J2提供零件的供应商号码SNO;
Select SNO From SPJ Where JNO=‘J1’
And SNO IN(Select SNO From SPJ Where JNO=‘J2’)
或
Select SNO From SPJ Where JNO=‘J1’
INTERSECT Select SNO From SPJ Where JNO=‘J1’
3.6 什么是基本表?什么是视图?两者的区别和联系是什么?3.11 请为三建工程建立一个供应情况的视图,包括供应商代码SNO、零件代码PNO、供应数量QTY。针对该视图完成下列查询:(1)找出三建工程项目使用的各种零件代码及其数量;
(2)找出供应商S1的供应情况。