码迷,mamicode.com
首页 > 数据库 > 详细

数据库系统概论书后习题答案第4版 第二章

时间:2016-04-14 14:00:49      阅读:1062      评论:0      收藏:0      [点我收藏+]

标签:


请大家指教,不知道做的对不对,欢迎联系972656027@qq.com
因为关系代数转sql语句感觉没有ALPHA语言转sql容易,所以只写了ALPHA语言的答案。

ALPHA语言 习题p75

设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:

供应商S(SNO , SNAME , STATUS , CITY)
零件P(PNO , PNAME , COLOR , WEIGHT)
工程J(JNO , JNAME , CITY)
供应情况表SPJ(SNO , PNO , JNO , QTY)

求供应工程J1零件的供应商号码SNO

GET W(SPJ.sno):SPJ.jno = “j1”;

求供应工程J1零件P1的供应商号码

GET W(SPJ.sno):SPJ.jno = “j1” ^ SPJ.pno=”p1”;

求供应工程J1零件为红色的供应商号码SNO

Range P px
GET W(SPJ.sno):存在px(SPJ.jno = px.jno ^ px.color = “red”);

求没有使用天津供应商生产的红色零件的工程号JNO;

Range S sx,P px,SPJ spjx技术分享
GET W(SPJ.jno):不存在spjx(spjx.sno = sx.sno ^ sx.city = “天津” ^ spjx.pno = p.pno ^ p.color = “red”);

Range S sx,P px,SPJ spjx技术分享
GET W(SPJ.x):全部spjx(spjx.sno != sx.sno ^ sx.city = “天津” 或者 spjx.pno != p.pno ^ p.color = “red”);

会漏掉暂时还没有供应情况的工程
Range S sx,P px,SPJ spjx
GET W(J.jno):不存在spjx(spjx.sno = sx.sno ^ sx.city = “天津” ^ spjx.pno = p.pno ^ p.color = “red”);

Range S sx,P px,SPJ spjx
GET W(J.jno):全部spjx(spjx.sno != sx.sno ^ sx.city = “天津” 或者 spjx.pno != p.pno ^ p.color = “red”);

求至少用了供应商S1所供应的全部零件的工程号JNO;

思路: 依次检查P中每一个零件,看S1是否供应了该零件。该如果S1供应了这个零件,再看某个工程是否用了这个零件。如果某个工程
用了S1供应的所有零件,那么这个工程可以放入结果集。

表达式涉及的表: J
操作条件涉及的表: SPJ,SPJ

Range SPJ spjx,SPJ spjy,P px
GET W(J.jno): 全部px(
存在spjx(spjx.pno=px.pno ^ spjx.sno = “S1”) => 存在spjy(spjy.pno = px.pno ^ spjy.jno = J.jno)
)





数据库系统概论书后习题答案第4版 第二章

标签:

原文地址:http://www.cnblogs.com/yudidi/p/5390556.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!