ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:49.50KB ,
资源ID:11561054      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-11561054.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(SPJ数据库.doc)为本站会员(HR专家)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

SPJ数据库.doc

1、设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: 供应商S(SNO , SNAME , STATUS , CITY)零件P(PNO , PNAME , COLOR , WEIGHT)工程J(JNO , JNAME , CITY)SPJ(SNO , PNO , JNO , QTY)创建数据库:create database SPJ;创建表:CREATE TABLE S ( SNO char(2) primary key, SNAME varchar(20), STATUS char(4), CITY char(10);create table P ( PNO char(2) prima

2、ry key, PNAME varchar(20), COLOR char(4), WEIGHT int);create table J ( JNO char(2) primary key, JNAME varchar(20), CITY char(10);create table SPJ ( SNO char(2), PNO char(2), JNO char(2), QTY int, primary key(SNO,PNO,JNO), foreign key(SNO) references S(SNO) on delete cascade, foreign key(PNO) referen

3、ces P(PNO) on delete cascade, foreign key(JNO) references J(JNO) on delete cascade );插入数据:insert into S values(S1,供应商一,良好,郑州);insert into S values(S2,供应商二,良好,天津);insert into S values(S3,供应商三,良好,上海);insert into S values(S4,供应商四,优秀,郑州);insert into P values(P1,管材,红色,20);insert into P values(P2,管线,绿色,30

4、);insert into P values(P3,螺帽,红色,10);insert into P values(P4,螺帽,黄色,10);insert into J values(J1,一建工程,郑州);insert into J values(J2,二建工程,郑州);insert into J values(J3,三建工程,天津);insert into J values(J4,四建工程,天津);insert into J values(J5,五建工程,上海);insert into J values(J6,六建工程,北京);insert into SPJ values(S1,P1,J1,

5、100);insert into SPJ values(S1,P2,J1,100);insert into SPJ values(S2,P1,J1,100);insert into SPJ values(S2,P2,J1,100);insert into SPJ values(S1,P1,J3,100);insert into SPJ values(S1,P2,J3,100);insert into SPJ values(S2,P1,J3,100);insert into SPJ values(S2,P2,J3,100);insert into SPJ values(S3,P1,J2,100)

6、;insert into SPJ values(S3,P2,J2,100);insert into SPJ values(S4,P3,J2,100);1)求供应工程J1零件的供应商号码SNO: select distinct SNOfrom SPJwhere JNO=J1;2)求供应工程J1零件P1的供应商号码SNO: select SNOfrom SPJwhere JNO=J1 and PNO=P1;3)求供应工程J1红色零件的供应商号码SNO: select SNOfrom SPJ,Pwhere SPJ.PNO=P.PNO and JNO=J1 and P.COLOR=红色;或者SELEC

7、T SNO /*这是嵌套查询*/FROM SPJWHERE JNO=J1 AND PNO IN /*找出红色零件的零件号码PNO */ (SELECT PNO FROM P /*从P表中找*/ WHERE COLOR =红色);4)求没有使用天津供应商生产的红色零件的工程号JNO select distinct JNOfrom Jwhere JNO NOT IN ( select JNO from SPJ,P,S where SPJ.SNO=S.SNO and SPJ.PNO=P.PNO and P.COLOR=红色 and S.CITY=天津 );或者:SELECT JNOFROM JWHE

8、RE NOT EXISTS(SELECT 1 FROM SPJ WHERE SPJ.JNO=J.JNO AND SNO IN /*天津供应商的SNO*/(SELECT SNO FROM S WHERE CITY=天津) AND PNO IN /*红色零件的PNO*/(SELECT PNO FROM P WHERE COLOR=红色);5)求至少用了供应商S1所供应的全部零件的工程号JNO 要求这样的工程x,使( y)pq为真。即,对于所有的零件y,满足逻辑蕴涵pq:p表示谓词供应商S1供应了零件y;q表示谓词工程 x选用了零件y。即,只要供应商S1供应了零件y为真,则工程x选用了零件y 为真。

9、逻辑蕴涵可以转换为等价形式: y(pq)它所表达的语义为:不存在这样的零件y,供应商S1供应了y,而工程x没有选用y。SELECT DISTINCT JNOFROM SPJ AS SPJ1WHERE NOT EXISTS /*这是一个相关子查询*/ (SELECT 1 /*父查询和子查询均引用了SPJ表*/ FROM SPJ AS SPJ3 /*用别名将父查询与子查询中的SPJ表区分开*/ WHERE SNO=S1 AND NOT EXISTS(SELECT 1 FROM SPJ AS SPJ2 WHERE SPJ2.PNO=SPJ3.PNO AND SPJ2.JNO=SPJ1.JNO);执行

10、下面操作: (1) 把全部红色零件的颜色改成蓝色。UPDATE PSET COLOR=红色WHERE COLOR=蓝色;(2) 从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。 DELETEFROM SPJWHERE SNO=S2; DELETEFROM SWHERE SNO=S2;注意删除顺序,应该先从sn表中删除供应商S2所供应零件的记录,然后从S表中删除S2。(3) 请将(S2,J6,P4,200)插入供应情况关系。 INSERT INTO SPJ(SNO,JNO,PNO,QTY) VALUES(S2,J6,P4,200);或INSERT INTO SPJ VA

11、LUES(S2,P4,J6,200);-补充查询:(1) 找出所有供应商的姓名和所在城市SELECT SNAME,CITYFROM S;(2) 找出所有零件的名称、颜色、重量SELECT PNAME,COLOR,WEIGHTFROM P;(3) 找出使用供应商S1所供应零件的工程号码SELECT JNOFROM SPJWHERE SNO=S1;(4) 找出工程项目J2使用的各种零件的名称及其数量。SELECT P.PNAME,SPJ.QTYFROM P,SPJWHERE P.PNO=SPJ.PNO AND SPJ.JNO=J2;(5) 找出上海厂商供应的所有零件号码。SELECT DISTIN

12、CT PNOFROM SPJWHERE SNO IN (SELECT SNO FROM S WHERE CITY=上海);(6) 找出使用上海产的零件的工程名称。SELECT distinct JNAMEFROM J,SPJ,SWHERE J.JNO=SPJ.JNO AND SPJ.SNO=S.SNO AND S.CITY=上海;或SELECT JNAMEFROM JWHERE JNO IN (SELECT JNO FROM SPJ,S WHERE SPJ.SNO=S.SNO AND S.CITY=上海);(7) 找出没有使用天津产的零件的工程号码。SELECT JNOFROM JWHERE

13、NOT EXISTS(SELECT 1 FROM SPJ WHERE SPJ.JNO=J.JNO AND SNO IN(SELECT SNO FROM S WHERE CITY=天津);或SELECT JNOFROM JWHERE NOT EXISTS (SELECT 1 FROM SPJ,S WHERE SPJ.JNO=J.JNO AND SPJ.SNO=S.SNO AND S.CITY=天津);补充修改:由S4供给J4的零件P4改为由S3供应,请做必要的修改。insert into SPJ values(S4,P4,J4,200);UPDATE SPJSET SNO=S3WHERE SNO

14、=S4 AND JNO=J4 AND PNO=P4;补充删除:从供应商关系中删除S4的记录,并从供应情况关系中删除相应的记录。DELETEFROM SPJWHERE SNO=S4; DELETEFROM SWHERE SNO=S4;-建立视图:为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。 CREATE VIEW V_SPJ ASSELECT SNO,PNO,QTYFROM SPJWHERE JNO=(SELECT JNO FROM J WHERE JNAME=三建工程);针对该视图VSP完成下列查询:(1) 找出三建工程项目使用的各种零件代码及其数量。SELECT PNO,QTYFROM V_SPJ; (2) 找出供应商S1的供应情况。 SELECT PNO,QTYFROM V_SPJWHERE SNO=S1;

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报