/*第二章 作业*/create table S(    sno char(2) NOT NULL UNIQUE,    sname char(3),    city char(2));alter table S add constraint s_k primary key(sno);

create table P(    pno char(2) NOT NULL,    pname char(3),    color char(1),    weight int);alter table P add constraint p_k primary key(pno);

create table J(    jno char(2) NOT NULL,    jname char(3),    city char(2));alter table J add constraint j_k primary key(jno);

create table SPJ(    sno char(2) NOT NULL,    pno char(2) NOT NULL,    jno char(2) NOT NULL,    qty int);alter table SPJ add constraint spj_k primary key(sno,pno,jno);alter table SPJ add constraint spj_fk foreign key(sno) references s(sno);alter table SPJ add constraint spj_fk2 foreign key(pno) references p(pno);alter table SPJ add constraint spj_fk3 foreign key(jno) references J(jno);

alter table s alter column sname char(6);alter table s alter column city char(4);

insert into s values('S1', '精  益', '天津');insert into s values('S2', '万  胜', '北京');insert into s values('S3', '东  方', '北京');insert into s values('S4', '丰泰隆', '上海');insert into s values('S5', '康  健', '南京');

alter table p alter column pname char(6);alter table p alter column color char(2);

insert into p values('P1', '螺  母', '红', 12);insert into p values('P2', '螺  栓', '绿', 17);insert into p values('P3', '螺丝刀', '蓝', 14);insert into p values('P4', '螺丝刀', '红', 14);insert into p values('P5', '凸  轮', '蓝', 40);insert into p values('P6', '齿  轮', '红', 30);

alter table j alter column jname char(8);alter table j alter column city char(4);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 j values('J7', '半导体厂', '南京');

insert into spj values('S1', 'P1', 'J1', 200);insert into spj values('S1', 'P1', 'J3', 100);insert into spj values('S1', 'P1', 'J4', 700);insert into spj values('S1', 'P2', 'J2', 100);insert into spj values('S2', 'P3', 'J1', 400);insert into spj values('S2', 'P3', 'J2', 200);

insert into spj values('S2', 'P3', 'J4', 500);insert into spj values('S2', 'P3', 'J5', 400);insert into spj values('S2', 'P5', 'J1', 400);insert into spj values('S2', 'P5', 'J2', 100);insert into spj values('S3', 'P1', 'J1', 200);insert into spj values('S3', 'P3', 'J1', 200);insert into spj values('S4', 'P5', 'J1', 100);insert into spj values('S4', 'P6', 'J3', 300);insert into spj values('S4', 'P6', 'J4', 200);insert into spj values('S5', 'P2', 'J4', 100);insert into spj values('S5', 'P3', 'J1', 200);insert into spj values('S5', 'P6', 'J2', 200);insert into spj values('S5', 'P6', 'J4', 500);

/*(4)求没有使用天津供应商生产的红色零件的工程号*/select distinct jnofrom spjwhere jno not in( select jnofrom spjwhere sno in  (select snofrom swhere city='天津'and pno  in( select pnofrom pwhere color='红')));

/*(5)求至少用了S1供应商所供应的全部零件的工程号JNO */select distinct jnofrom spj xwhere  not exists    (select distinct pnofrom spj ywhere y.sno='S1' andnot exists        (select *from spj zwhere z.jno = x.jno and               z.pno = y.pno));/*首先查询SPJ表得到一个工程号的集合对于集合中的每一条记录做如下查询:取出一个工程号,比如J1 如果不存在这样的记录  查询SPJ表得到这样一个集合 --  由供应商S1供应的零件号,这里是P1, P2  1 取出一个零件号,比如pno = 'P1'    查询spj表,对于jno='J1' 并且 pno='P1'  2 取出下一个零件号,pno = 'P2'    查询spj表,对于jno='J1' 并且 pno='P2'  如果J1使用了由S1供应的零件则最后一个存在量词始终返回false  那么第一个存在量词也就始终返回false,两个存在量词都返回  false就表示该工程至少使用了S1供应商所供应的全部零件。对于一个工程,不存在这种情况,S1供应了一个零件,而该工程没有使用*/
/*(1) 统计每种零件的供应总量*/select pno, sum(qty)from spjgroup by pno
/*(2) 求零件供应总量在1000以上的供应商名字*/select s.snamefrom swhere s.sno in( select spj.sno from spj group by spj.sno having sum(qty)>1000);
insert into s values('S6', '华天', '深圳');
alter table p alter column color char(6);update pset color='粉红'where color='红';
/*(5) 将S1供应给J1的零件P1改为由P2供给*/update spjset pno='P2'where sno='S1' and jno='J1' and pno='P1';
deletefrom spjwhere pno in( select pno from p where color='蓝');

数据库系统原理教程-作业相关推荐

  1. 数据库系统原理实验作业八:第三章最后

    练习 一,数据查询(最后一部分) 1.集合查询 ①.并集 ②.交集 ③.差集 2.基于派生表的查询 3.总结 二,数据更新 1.插入数据 ①插入元组 ②插入子查询结果 2.修改数据 ①修改某一个元组的 ...

  2. 《数据库系统原理及应用教程》(苗雪兰等,第五版) 实验五:数据库的组合查询和统计查询实验

    阅读前注意: 1. 本实验报告配套<数据库系统原理及应用教程>(苗雪兰等,第五版) 实验五:数据库的组合查询和统计查询实验(书上10.4节以及第六章部分内容),书本中采用Microsoft ...

  3. 数据库系统原理与应用教程(047)—— MySQL 查询(九):连接查询

    数据库系统原理与应用教程(047)-- MySQL 查询(九):连接查询 目录 数据库系统原理与应用教程(047)-- MySQL 查询(九):连接查询 一.连接查询的语法格式 二.两张表的连接 1. ...

  4. 数据库系统原理与应用教程(077)—— MySQL 练习题:操作题 168-172(二十一):综合练习

    数据库系统原理与应用教程(077)-- MySQL 练习题:操作题 168-172(二十一):综合练习 168.分组统计(1) 该题目使用的表和数据如下: /* DROP TABLE IF EXIST ...

  5. 数据库系统原理与应用教程(037)—— MySQL 的索引(三):删除索引

    数据库系统原理与应用教程(037)-- MySQL 的索引(三):删除索引 目录 数据库系统原理与应用教程(037)-- MySQL 的索引(三):删除索引 一.删除索引的命令 二.使用 alter ...

  6. 数据库系统原理与应用教程(008)—— 数据库相关概念练习题

    数据库系统原理与应用教程(008)-- 数据库相关概念练习题 一.简答题 1.什么是数据?数据有什么特征? 答案: (1)数据是用来描述事物的符号记录. (2)数据具有以下特征: A)数据是事物属性的 ...

  7. 数据库系统原理--第2章作业1--习题答案

    说明:数据库系统原理相关的习题答案都在"数据库系统原理"专栏 1.已知三个域:男人={李基,张鹏},女人={王方,刘玉 },子女={李键,张睿,张峰}.这一组域(男人,女人,子女) ...

  8. 《数据库系统原理》课程大作业——音响店VCD零售/出租管理系统(SQL Server)

    <数据库系统原理>课程大作业 课题名称:音响店VCD零售/出租管理系统 温馨提示:本文主要为了应付结课检查,仍有很多尚未完善的内容,不规范的画图之类的,忘读者谨慎食用

  9. 数据库系统原理与应用教程(070)—— MySQL 练习题:操作题 101-109(十四):查询条件练习

    数据库系统原理与应用教程(070)-- MySQL 练习题:操作题 101-109(十四):查询条件练习 101.判断空值(1) 试卷答题记录表:exam_record(uid:用户ID,exam_i ...

最新文章

  1. 直方图绘制与直方图均衡化实现
  2. 序列化包含多种不明类型的集合
  3. Ext.chart.Chart 显示图标 -- 本地数据
  4. textarea 字体限制,超出部分不显示并及时显示还剩字体个数
  5. java中的枚举类型
  6. vi中如何跳到指定行
  7. mysql错误诊断_MySQL Server无法启动错误诊断一则
  8. Mac电脑不能识别文本和命令的解决方法
  9. jquery实现无限滚动瀑布流实现原理
  10. sql常识- UNIQUE
  11. DreamweaverCS6手把手教你安装并破解
  12. 代码设置环境变量QProcess类
  13. Java——》获取map中最小key,最小value
  14. IDEA 添加插件后启动闪退问题
  15. Python手册(Machine Learning)--statsmodels(Regression)
  16. 【锐捷交换】接入交换机配置DHCP Snooping + IP Source guard + ARP-check
  17. 20100919星期天最折腾的一天。
  18. java四种权限修饰符 (private 、default(缺省)、prote、public)适用范围
  19. 站内搜寻引擎 php mysql_迅搜(xunsearch) - 开源免费中文全文搜索引擎|PHP全文检索|mysql全文检索|站内搜索...
  20. ubuntu安装解压版mysql数据库

热门文章

  1. calc(~,mac电脑set-cookies要域名和请求域名相同
  2. 传递一个父id返回所有子id的用法,可用于删除父级以下的所有子级
  3. 在PDA设备上安装和部署 SQL Server Compac 3.5(官方版)
  4. 【归并排序+递归】LeetCode 148. Sort List
  5. 修改jupyter notebook的默认工作目录
  6. ubuntu16:查看磁盘空间大小,查看每个用户的占用空间情况
  7. 编程:从前有一个傻呆程序员,老婆交给他一项任务,他办了四次才满意
  8. maven集成tomcat插件启动报错
  9. java中的object... args参数
  10. transform子元素,绝对定位失效