博客
关于我
【2020-2021春学期】数据库作业10:第三章课后题
阅读量:143 次
发布时间:2019-02-27

本文共 2436 字,大约阅读时间需要 8 分钟。

1. 数据库表结构与数据

1.1 创建表结构

  • S表:记录供应商信息。字段包括供应商编号(唯一)、供应商名称(6个字符)、状态(2个字符)、城市(4个字符)。
  • P表:记录零件信息。字段包括零件编号(唯一)、零件名称(6个字符)、颜色(2个字符)、重量(整数)。
  • J表:记录工厂信息。字段包括工厂编号(唯一)、工厂名称(8个字符)、城市(4个字符)。
  • SPJ表:记录供应关系情况。字段包括供应商编号、零件编号、工厂编号、数量(整数)。

1.2 数据插入

  • S表
    • 插入记录:('S1', '精益', '20', '天津'), ('S2', '盛锡', '10', '北京'), ('S3', '东方红', '30', '北京'), ('S4', '丰泰盛', '20', '天津'), ('S5', '为民', '30', '上海')。
  • P表
    • 插入记录:('P1', '螺母', '红', 12), ('P2', '螺栓', '绿', 17), ('P3', '螺丝刀', '蓝', 14), ('P4', '螺丝刀', '红', 14), ('P5', '凸轮', '蓝', 40), ('P6', '齿轮', '红', 30)。
  • J表
    • 插入记录:('J1', '三建', '北京'), ('J2', '一汽', '长春'), ('J3', '弹簧厂', '天津'), ('J4', '造船厂', '天津'), ('J5', '机船厂', '唐山'), ('J6', '无线电厂', '常州'), ('J7', '半导体厂', '南京')。
  • SPJ表
    • 插入记录:('S1', 'P1', 'J1', 200), ('S1', 'P1', 'J3', 100), ('S1', 'P1', 'J4', 700), ('S1', 'P2', 'J2', 100), ('S2', 'P3', 'J1', 400), ('S2', 'P3', 'J2', 200), ('S2', 'P3', 'J4', 500), ('S2', 'P3', 'J5', 400), ('S2', 'P5', 'J1', 400), ('S2', 'P5', 'J2', 100), ('S3', 'P1', 'J1', 200), ('S3', 'P3', 'J1', 200), ('S4', 'P5', 'J1', 100), ('S4', 'P6', 'J3', 300), ('S4', 'P6', 'J4', 200), ('S5', 'P2', 'J4', 100), ('S5', 'P3', 'J1', 200), ('S5', 'P6', 'J2', 300), ('S5', 'P6', 'J4', 200)。

2. 数据库查询

2.1 供应商信息查询

  • 查询所有供应商的姓名和所在地:
    select SNAME, CITY from S;

2.2 零件信息查询

  • 查询所有零件的名称、颜色、重量:
    select PNAME, COLOR, WEIGHT from P;

2.3 工程项目关联查询

  • 查询使用供应商S1所供应的零件的工程号:
    select JNO from SPJ where SNO = 'S1';

2.4 工程项目零件详情

  • 查询工程项目J2使用的各种零件名称及其数量:
    select Pname, QTY from SPJ, P where P.PNO = SPJ.PNO and SPJ.JNO = 'J2';

2.5 上海厂商零件查询

  • 查询上海厂商供应的所有零件号码:
    select PNO from SPJ, S where S.SNO = SPJ.SNO and CITY = '上海';

2.6 上海产零件工程查询

  • 查询使用上海产的零件的工程名称:
    select JNAME from SPJ, S, J where S.SNO = SPJ.SNO and S.CITY = '上海' and J.JNO = SPJ.JNO;

2.7 天津产零件工程查询

  • 查询没有使用天津产的零件的工程号:
    select JNO from SPJ where JNO not in (select distinct JNO from SPJ, S where S.SNO = SPJ.SNO and S.CITY = '天津');

3. 数据库操作

3.1 颜色更新

  • 将所有红色零件颜色改为蓝色:
    update P set COLOR = '蓝' where COLOR = '红';

3.2 供应关系修改

  • 将S5供应J4的零件P6改为由S3供应:
    update SPJ set SNO = 'S3' where SNO = 'S5' and JNO = 'J4' and PNO = 'P6';

3.3 数据删除

  • 删除供应商S2的记录及相关零件记录:
    delete from S where SNO = 'S2'; delete from SPJ where SNO = 'S2';

3.4 新增供应关系

  • 插入(S2, J6, P4, 200)到供应关系情况:
    insert into SPJ values('S2', 'J6', 'P4', 200);

4. 视图创建

  • 创建J1工程项目零件视图:
    create view J1_view as select SNO, PNO, QTY from SPJ where JNO = 'J1';

4.1 工程项目零件详情

  • 按零件代码汇总J1工程项目使用的零件数量:
    select PNO, sum(QTY) from J1_view group by PNO;

4.2 供应商S1的供应情况

  • 查询S1供应的零件及其数量:
    select PNO, QTY from J1_view where SNO = 'S1';

转载地址:http://dknb.baihongyu.com/

你可能感兴趣的文章
OpenAll:Android打开组件新姿势【仅供用于学习了解ButterKnife框架基本原理】
查看>>
OpenASR 项目使用教程
查看>>
Openbox-桌面图标设置
查看>>
opencart出现no such file or dictionary
查看>>
OpenCV 3.1 imwrite()函数写入异常问题解决方法
查看>>
OpenCV 4.1.0版drawContours
查看>>
opencv glob 内存溢出异常
查看>>
opencv Hog Demo
查看>>
opencv Hog学习总结
查看>>
opencv Mat push_back
查看>>
opencv putText中文乱码
查看>>
OpenCV Python围绕特定点将图像旋转X度
查看>>
opencv resize
查看>>
Opencv Sift和Surf特征实现图像无缝拼接生成全景图像
查看>>
opencv SVM分类Demo
查看>>
OpenCV VideoCapture.get()参数详解
查看>>
opencv videocapture读取视频cap.isOpened 输出总是false
查看>>
opencv waitKey() 函数理解及应用
查看>>
OpenCV 中的图像转换
查看>>
OpenCV 人脸识别 C++实例代码
查看>>