数据库系统概论 第三章 第五大题 实验报告
- 实验目标:
根据课本p71提供的表格,实现p130第五大题的问题,理解和掌握关系数据库标准SQL语言,能够熟练使用SQL语言完成各种数据库操作和管理任务。包括使用SQL DDL语句创建、更改和删除数据库、模式和基本表;使用SQL查询语句完成各类查询操作。
二、实验要求:
用mysql command line client完成书本习题。
三、实验步骤:
1、制表
(1)P表:
CREATE TABLE IF NOT EXISTS `P`(
`P_id` INT UNSIGNED AUTO_INCREMENT,
`Pno` VARCHAR(100) NOT NULL,
`Pname` VARCHAR(100) NOT NULL,
`Pcolor` VARCHAR(100) NOT NULL,
`Pweight` VARCHAR(100) NOT NULL,
PRIMARY KEY ( `P_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO P
(Pno, Pname, Pcolor,Pweight)
VALUES
("P1", "螺母", "红" , "12");
INSERT INTO P
(Pno, Pname, Pcolor,Pweight)
VALUES
("P2", "螺栓", "绿" , "17");
INSERT INTO P
(Pno, Pname, Pcolor,Pweight)
VALUES
("P3", "螺丝刀", "蓝" , "14");
INSERT INTO P
(Pno, Pname, Pcolor,Pweight)
VALUES
("P4", "螺丝刀", "红" , "14");
INSERT INTO P
(Pno, Pname, Pcolor,Pweight)
VALUES
("P5", "凸轮", "蓝" , "40");
INSERT INTO P
(Pno, Pname, Pcolor,Pweight)
VALUES
("P6", "齿轮", "红" , "30");
(2)S表:
CREATE TABLE IF NOT EXISTS `S`(
`S_id` INT UNSIGNED AUTO_INCREMENT,
`Sno` VARCHAR(100) NOT NULL,
`Sname` VARCHAR(100) NOT NULL,
`Status` VARCHAR(100) NOT NULL,
`City` VARCHAR(100) NOT NULL,
PRIMARY KEY ( `S_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO S
(Sno, Sname, Status,City)
VALUES
("S1", "精益", "20" , "天津");
INSERT INTO S
(Sno, Sname, Status,City)
VALUES
("S2", "盛锡", "10" , "北京");
INSERT INTO S
(Sno, Sname, Status,City)
VALUES
("S3", "东方红", "30" , "北京");
INSERT INTO S
(Sno, Sname, Status,City)
VALUES
("S4", "丰泰盛", "20" , "天津");
INSERT INTO S
(Sno, Sname, Status,City)
VALUES
("S5", "为民", "30" , "上海");
(3)J表
CREATE TABLE IF NOT EXISTS `J`(
`J_id` INT UNSIGNED AUTO_INCREMENT,
`Jno` VARCHAR(100) NOT NULL,
`Jname` VARCHAR(100) NOT NULL,
`City` VARCHAR(100) NOT NULL,
PRIMARY KEY ( `J_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO J
(Jno, Jname, City)
VALUES
("J1", "三建", "北京" );
INSERT INTO J
(Jno, Jname, City)
VALUES
("J2", "一汽", "长春" );
INSERT INTO J
(Jno, Jname, City)
VALUES
("J3", "弹簧厂", "天津" );
INSERT INTO J
(Jno, Jname, City)
VALUES
("J4", "造船厂", "天津" );
INSERT INTO J
(Jno, Jname, City)
VALUES
("J5", "机车厂", "唐山" );
INSERT INTO J
(Jno, Jname, City)
VALUES
("J6", "无线电厂", "常州" );
INSERT INTO J
(Jno, Jname, City)
VALUES
("J7", "半导体厂", "南京" );
(4)SPJ表
CREATE TABLE IF NOT EXISTS `SPJ`(
`SPJ_id` INT UNSIGNED AUTO_INCREMENT,
`Sno` VARCHAR(100) NOT NULL,
`Pno` VARCHAR(100) NOT NULL,
`Jno` VARCHAR(100) NOT NULL,
`Qty` VARCHAR(100) NOT NULL,
PRIMARY KEY ( `SPJ_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S1", "P1", "J1","200" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S1", "P1", "J3","100" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S1", "P1", "J4","700" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S1", "P2", "J2","100" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S2", "P3", "J1","400" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S2", "P3", "J2","200" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S2", "P3", "J4","500" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S2", "P3", "J5","400" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S2", "P5", "J1","400" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S2", "P5", "J2","100" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S3", "P1", "J1","200" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S3", "P3", "J1","200" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S4", "P5", "J1","100" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S4", "P6", "J3","300" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S4", "P6", "J4","200" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S5", "P2", "J4","100" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S5", "P3", "J1","200" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S5", "P6", "J2","200" );
INSERT INTO SPJ
(Sno, Pno, Jno,Qty)
VALUES
("S5", "P6", "J4","500" );
2、用sql语言实现习题
1. 找出所有供应商的姓名和所在城市。
SELECT Sname,City FROM S;
2. 找出所有供应商的姓名和所在城市。
SELECT Pname ,Pcolor,Pweight FROM P;
3. 找出使用供应商S1所供应零件的工程号码。
SELECT Jno FROM SPJ WHERE Sno='S1';
4. 找出使用供应商S1所供应零件的工程号码。
SELECT Pname ,Qty FROM SPJ,P WHERE P.Pno=SPJ.Pno AND SPJ.Jno='J2';
5. 找出上海厂商供应的所有零件号码。
SELECT Pno FROM SPJ,S WHERE S.Sno=SPJ.Sno AND City='上海';
6. 出使用上海产的零件的工程名称。
SELECT Jname FROM SPJ,S,J WHERE S.Sno=SPJ.Sno AND S.City='上海' AND J.Jno=SPJ.Jno;
7. 找出没有使用天津产的零件的工程号码。
SELECT DISP Jno FROM SPJ WHERE Jno NOT IN(SELECT DIST Jno FROM SPJ ,S WHERE S.Sno=SPJ.Sno AND S.City='天津';)适用于Jno是唯一或不是唯一的情况;
SELSECT DIST Jno FROM SPJ ,S WHERE S.Sno=SPJ.Sno AND S.City='天津'; 适用于Jno是唯一情况。
8.把全部红色零件的颜色改成蓝色。
UPDATE P SET Pcolor='蓝' WHERE Pcolor ='红';
9. 由S5供给J4的零件P6改为由S3供应。
UPDATE SPJ SET Sno='S3' WHERE Sno ='S5' AND Jno ='J4' AND Pno='P6';
10. 从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。
DELETE FROM S WHERE Sno='S2';
或 DELETE FROM SPJ WHERE Sno='S2';
11. 请将(S2,J6,P4,200)插入供应情况关系。
INSERT INTO SPJ VALUES ('S2','J6','P4','200');
四、实验总结:
根据这一系列的学习,并通过习题训练,使我理解和掌握关系数据库标准SQL语言,能够熟练使用SQL语言完成各种数据库操作和管理任务。包括使用SQL DDL语句创建、更改和删除数据库、模式和基本表;使用SQL查询语句完成各类查询操作。
ps:有些分号打错(如果中文英文切换一下就好了)
DIST 是DISTINCT的缩写 报错的话 可以改一下
数据库系统概论 第三章 第五大题 实验报告相关推荐
- 数据库系统概论第三章学习通作业(建表、查询、修改、删除、视图)
设有3个关系: S(S#,SNAME,SEX,AGE) SC(S#,C#,GRADE) C(C#,CNAME,TEACHER) 试用SQL语句完成下列大题1~4的任务: 用数据定义语言DDL定义上述三 ...
- 数据库系统概论-第三章 关系数据库标准语言 SQL
概述 SQL的特点 综合统一 SQL集数据定义语言,数据操纵语言,数据控制语言的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,可以执行以下一系列要求: 定义和修改.删除 关系模式 ...
- 数据库系统概论(第五版)实验报告五
复杂的单表查询 实验目的: 1.在查询语句中用Group by子句进行分组:用Having子句对分组进行筛选. 2.使用MAX(),MIN(),COUNT(),SUM(),AVG()等函数在查询结果集 ...
- 第三章第九题(商业:检验ISBN-10)((Business: check ISBN-10))
第三章第九题(商业:检验ISBN-10)((Business: check ISBN-10)) **3.9(商业:检验ISBN-10)ISBN-10(国际标准书号)由10个个位整数d1d2d3d4d5 ...
- 《机器学习》周志华课后习题答案——第三章 (1-7题)
<机器学习>周志华课后习题答案--第三章 (1-7题) 文章目录 <机器学习>周志华课后习题答案--第三章 (1-7题) 一.试析在什么情形下式(3.2)中不必考虑偏置项b. ...
- 基于python的文件加密传输系统 毕业论文_20183411 李丞灏 2020-2021 《python程序设计》 实验三 加密传输文件 实验报告...
20183411 李丞灏 2020-2021 <python程序设计> 实验三 加密传输文件 实验报告 课程:<Python程序设计> 班级: 1834 姓名: 李丞灏 学号: ...
- android碎片实验报告,三年级下册科学实验报告模板1篇
三年级下册科学实验报告模板1篇 三年级下册科学实验报告模板1 第一单元 地球和地表的变化 (一).地球结构模型的制作 [实验目的]通过制作地球结构模型使学生更清楚地掌握地球内部的构造. [实验材料]各 ...
- 三位数码管实验报告-数字系统实验
这里写自定义目录标题 数字系统实验-三位数码管实验报告## 1. 日志(2020.03.26日完成) 2. 报告 3.实验总结 数字系统实验-三位数码管实验报告## 1. 日志(2020.03.26日 ...
- 数据库系统概论 第十一章课后习题(部分)
本文是<数据库系统概论>的第十一章(并发控制)的部分课后习题,题目来源:[2019-2020春学期]数据库作业21:第十一章: 并发控制 先来对这章的主要内容大概总结一下 1)多事务执行方 ...
最新文章
- Android仿QQ侧滑菜单
- java collections.sort 忽略大小写排序_Java Spring Mongo排序忽略大小写问题
- 程序员面试题精选100题(47)-数组中出现次数超过一半的数字[算法]
- 7.1Python异常处理
- jmeter java接口_JMeter接口Java开发五步曲
- 【ArcGIS风暴】捕捉VS经典捕捉,谁更有用武之地?
- DMN中的函数式编程:感觉就像再次重读我的大学课程一样
- python 绘制分布直方图_统计学中常见的4种抽样分布及其分布曲线(Python绘制)...
- lucene 增量 全量 更新索引_10年+,阿里沉淀出怎样的搜索引擎?
- [转]busybox登陆后没要求输入密码的解决办法
- Arcgis javascript那些事儿(十五)——影像服务的发布与使用
- linux下查看进程与线程
- springboot 整合腾讯云短信
- 一、VMware及win10虚拟机的安装及环境配置
- 46個不可不知的常識
- 用php写后端怎么使用模板_用PHP保守秘密
- 电视尺寸与观看距离对应表
- (五)、JAVA基于OPENXML的word文档插入、合并、替换操作系列之word文件合并[支持多文件]
- From表单的属性action和method
- h5和mysql做图书系统_JSP+Servlet+C3P0+Mysql实现的图书馆管理系统
热门文章
- 移动硬盘接android手机吗,笔点说:智能手机可以直接连接移动硬盘读取数据吗?...
- Cypress 元素定位
- 计算机复制操作的方法,怎么用键盘复制粘贴?电脑使用键盘复制粘贴的方法
- uniapp中使用拷贝,复制粘贴功能,uniapp,隐藏软键盘
- 解决WinBUGS14 error:cannot bracket slice for node gamma[3]
- 小米如何使用远程管理FTP操作电脑和手机的文件
- (社会舆情) 小世界网络,规则网络,随机网络
- 用粒子群解决有约束的最优解问题
- 【食品化学与营养】第二章 水的化学与营养 笔记
- C++中二维数组的动态创建于处理(zzl)