博客
关于我
【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/

你可能感兴趣的文章
Python 安装避坑指南:从入门到进阶
查看>>
Python 安装配置详解
查看>>
python 实现儿童算术游戏
查看>>
python 实现字符串转整型
查看>>
Python 实现定时任务的八种方案!
查看>>
python 实现将RGBA 转换为RGB
查看>>
python字符串与url编码的转换
查看>>
Python 实现自动化测试 dubbo 协议接口
查看>>
python编程基础之十六
查看>>
python字符串input输入_Python input()函数:获取用户输入的字符串
查看>>
python 对json数据读取及保存与读取,对dump,dumps,load,loads的理解
查看>>
Python 对mysql数据库的操作
查看>>
Python 对象数据库列表
查看>>
Python 导入requests报错No module named requests
查看>>
Python 将JPEG图片批量改成jpg并删除JPEG图片
查看>>
python 将函数加到列表中进行调用
查看>>
python 将图片与字符串相互转换
查看>>
Python 嵌套字典全面指南
查看>>
Python 工具v简介
查看>>
Python编程入门指南:从零开始探索编程的奇妙世界
查看>>