版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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、2) primary 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(PN
3、O) references 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 v
4、alues(P2,管线,绿色,30); 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,五建工程,上海); ); 北京,六建工程,J6(values J into insert inser
5、t into SPJ values(S1,P1,J1,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); i
6、nsert into SPJ values(S3,P1,J2,100); insert into SPJ values(S3,P2,J2,100); insert into SPJ values(S4,P3,J2,100); 1)求供应工程J1零件的供应商号码SNO: select distinct SNO from SPJ ;=J1where JNO 2)求供应工程J1零件P1的供应商号码SNO: select SNO from SPJ ;=P1and PNOwhere JNO=J1 3)求供应工程J1红色零件的供应商号码SNO: select SNO from SPJ,P ;红色COLOR
7、and P.=P.PNO and JNO=J1 PNOwhere SPJ. 或者 SELECT SNO /*这是嵌套查询*/ FROM SPJ WHERE JNO=J1 AND PNO IN /*找出红色零件的零件号码PNO */ (SELECT PNO FROM P /*从P表中找*/ WHERE COLOR =红色); 4)求没有使用天津供应商生产的红色零件的工程号JNO select distinct JNO from J where JNO NOT IN ( select JNO from SPJ,P,S where SPJ.SNO=S.SNO and SPJ.PNO=P.PNO an
8、d P.COLOR=红色 and S.CITY=天津 ); 或者: SELECT JNO FROM J WHERE NOT EXISTS(SELECT 1 SPJ FROM 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
9、:p表示谓词供应商S1供应了零件 屹;q表示谓词工程 x选用了零件屹。即,只要供应商S1供应了零件屹为真,则工程x选用了零件y 为真。 逻辑蕴涵可以转换为等价形式:y(pq) 。yx没有选用S1供应了y,而工程它所表达的语义为:不存在这样的零件y,供应商SELECT DISTINCT JNO FROM SPJ AS SPJ1 WHERE NOT EXISTS /*这是一个相关子查询*/ (SELECT 1 /*父查询和子查询均引用了SPJ表*/ FROM SPJ AS SPJ3 /*用别名将父查询与子查询中的SPJ表区分开*/ WHERE SNO=S1 AND NOT EXISTS ( SEL
10、ECT 1 FROM SPJ AS SPJ2 WHERE SPJ2 . PNO = SPJ3. PNO AND SPJ2. JNO= SPJ1. JNO); 执行下面操作: (1) 把全部红色零件的颜色改成蓝色。 UPDATE P SET COLOR=红色 ;蓝色COLOR=WHERE (2) 从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。 DELETE FROM SPJ WHERE SNO=S2; DELETE FROM S WHERE SNO=S2; 注意删除顺序,应该先从sn表中删除供应商S2所供应零件的记录,然后从S表中删除S2。 (3) 请将(S2,J6,
11、P4,200)插入供应情况关系。 INSERT INTO SPJ(SNO,JNO,PNO,QTY) VALUES(S2,J6,P4,200); 或 INSERT INTO SPJ ); 200,J6,P4,S2(VALUES -补充查询: (1) 找出所有供应商的姓名和所在城市 SELECT SNAME,CITY ;SFROM (2) 找出所有零件的名称、颜色、重量 SELECT PNAME,COLOR,WEIGHT ;PFROM (3) 找出使用供应商S1所供应零件的工程号码 SELECT JNO FROM SPJ ;S1 SNO=WHERE(4) 找出工程项目J2使用的各种零件的名称及其数
12、量。 SELECT P.PNAME,SPJ.QTY FROM P,SPJ ;J2JNO=AND SPJ.PNOWHERE P.PNO=SPJ. (5) 找出上海厂商供应的所有零件号码。 SELECT DISTINCT PNO FROM SPJ WHERE SNO IN (SELECT SNO FROM S );上海 CITY= WHERE (6) 找出使用上海产的零件的工程名称。 SELECT distinct JNAME FROM J,SPJ,S WHERE J.JNO=SPJ.JNO AND SPJ.SNO=S.SNO AND S.CITY=上海; 或 SELECT JNAME FROM
13、J WHERE JNO IN (SELECT JNO FROM SPJ,S );上海 S.CITY= SPJ.SNO=S.SNO ANDWHERE (7) 找出没有使用天津产的零件的工程号码。 SELECT JNO FROM J WHERE NOT EXISTS(SELECT 1 FROM SPJ WHERE SPJ.JNO=J.JNO AND SNO IN(SELECT SNO FROM S WHERE CITY=天津); 或 SELECT JNO FROM J WHERE NOT EXISTS (SELECT 1 FROM SPJ,S );天津 S.CITY=ANDSSPJJNOJNO S
14、PJ.=J. AND .SNO=.SNO WHERE 补充修改: 由S4供给J4的零件P4改为由S3供应,请做必要的修改。 ); 200,J4,P4,S4(values SPJ into insertUPDATE SPJ SET SNO=S3 WHERE SNO=S4 AND JNO=J4 AND PNO=P4; 补充删除: 从供应商关系中删除S4的记录,并从供应情况关系中删除相应的记录。 DELETE FROM SPJ WHERE SNO=S4; DELETE FROM S WHERE SNO=S4; -建立视图: 为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。 CR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 赛乐特护理用药药物使用指导原则
- 骨折患者皮牵引护理查房要点
- 呼吸衰竭患者的心理护理与沟通技巧
- 2025年广东深圳多校初三第二次适应性联考道法试题含答案
- 2026年医疗卫生系统廉政风险防控考试题库及答案
- 电子竞技战队训练与赛事备战方案
- 规范行为诚信承诺书5篇
- 2024-2025学年北京科技大学天津学院单招《数学》通关考试题库附完整答案详解【典优】
- 2024-2025学年度河北省单招考试一类 《文化素质数学》题库含完整答案详解【典优】
- 2024-2025学年度执业药师综合提升测试卷(黄金题型)附答案详解
- XTTS数据迁移方案V3
- 个人投资资金合同模板
- 企业信息咨询服务合同
- 保护性约束课件
- 《消防排烟通风天窗》
- 海南省定安富文金矿矿区污染治理修复项目(修编) 环评报告
- 人教版六年级数学下册全册分层作业设计含答案
- c90温控表说明书
- 肝修补术后的护理查房课件
- 幼儿行为观察概述(一)
- 第二章-临床康复工程学基础
评论
0/150
提交评论