数据库第七周作业——第三章课后习题

article/2025/11/6 5:54:01

3.有两个关系S(A,B,C,D)和T(C,D,E,F),写出与下列查询等价的SQL表达式:

在这里插入图片描述
(1)σ A=10(S)

SELECT *
FROM S
WHERE A=10;

(2)π A , B ( S )

SELECT A,B
FROM S;

(3)S ⋈ T

SELECT S.A,S.B,C,D,E,F
FROM S,T
WHERE S.C=T.C AND S.D=T.D;

(4)
在这里插入图片描述

SELECT *
FROM S,T
WHERE S.C=T.C;

(5)
在这里插入图片描述

SELECT *
FROM S,T
WHERE S.A<T.E;

(6)
在这里插入图片描述

SELECT 	S.C,S.D,T.*
FROM S,T;

SELECT *
FROM S,T
WHERE S.C=T.C AND S.D=T.D;

4.用SQL语句建立第2章习题6中的4个表;针对建立的4各表用SQL完成第2章习题6中的查询

在这里插入图片描述

	CREATE TABLE S(SNO CHAR(5) UNIQUE,SNAME CHAR(20),STATUS INT,CITY CHAR(10));CREATE TABLE P(PNO CHAR(5) UNIQUE,PNAME CHAR(20),COLOR CHAR(5),WEIGHT INT);CREATE TABLE J(JNO CHAR(5) UNIQUE,JNAME CHAR(20),CITY CHAR(10));CREATE TABLE SPJ(SNO CHAR(5),PNO CHAR(5),JNO CHAR(5),QTY INT);INSERT INTO SVALUES ('S1','精益',20,'天津');INSERT INTO SVALUES ('S2','盛锡',10,'北京');INSERT INTO SVALUES ('S3','东方红',20,'北京');INSERT INTO SVALUES ('S4','丰泰盛',20,'天津');INSERT INTO SVALUES ('S5','为民',20,'上海');INSERT INTO	PVALUES ('P1','螺母','红',12);INSERT INTO	PVALUES ('P2','螺栓','绿',17);INSERT INTO	PVALUES ('P3','螺丝刀','蓝',14);INSERT INTO	PVALUES ('P4','螺丝刀','红',14);INSERT INTO	PVALUES ('P5','凸轮','蓝',40);INSERT INTO	PVALUES ('P6','齿轮','红',30);INSERT INTO	JVALUES ('J1','三建','北京');INSERT INTO	JVALUES ('J2','一汽','长春');INSERT INTO	JVALUES ('J3','弹簧厂','天津');INSERT INTO	JVALUES ('J4','造船厂','天津');INSERT INTO	JVALUES ('J5','机车厂','唐山');INSERT INTO	JVALUES ('J6','无线电厂','常州');INSERT INTO	JVALUES ('J7','半导体厂','南京');INSERT INTO	SPJVALUES ('S1','P1','J1',200);INSERT INTO	SPJVALUES ('S1','P1','J3',100);INSERT INTO	SPJVALUES ('S1','P1','J4',700);INSERT INTO	SPJVALUES ('S1','P2','J2',100);INSERT INTO	SPJVALUES ('S2','P3','J1',400);INSERT INTO	SPJVALUES ('S2','P3','J2',200);INSERT INTO	SPJVALUES ('S2','P3','J4',500);INSERT INTO	SPJVALUES ('S2','P3','J5',400);INSERT INTO	SPJVALUES ('S2','P5','J1',400);INSERT INTO	SPJVALUES ('S2','P5','J2',100);INSERT INTO	SPJVALUES ('S3','P1','J1',200);INSERT INTO	SPJVALUES ('S3','P3','J1',200);INSERT INTO	SPJVALUES ('S4','P5','J1',100);INSERT INTO	SPJVALUES ('S4','P6','J3',300);INSERT INTO	SPJVALUES ('S4','P6','J4',200);INSERT INTO	SPJVALUES ('S5','P2','J4',100);INSERT INTO	SPJVALUES ('S5','P3','J1',200);INSERT INTO	SPJVALUES ('S5','P6','J2',200);INSERT INTO	SPJVALUES ('S5','P6','J4',500);

(1)求供应工程J1零件的供应商号码SNO;

SELECT SNO
FROM SPJ
WHERE JNO='J1';

或去除重复记录

SELECT DISTINCT SNO    
FROM SPJ
WHERE JNO='J1';

在这里插入图片描述

(2)求供应工程J1零件P1的供应商号码SNO;

SELECT SNO
FROM SPJ
WHERE JNO='J1' AND PNO='P1';

在这里插入图片描述
(3)求供应工程J1零件为红色的供应商号码SNO;

SELECT SNO
FROM P,SPJ
WHERE P.PNO=SPJ.PNO AND COLOR='红' AND JNO='J1';

SELECT SNO
FROM SPJ
WHERE JNO='J1' AND PNO IN (SELECT PNOFROM PWHERE COLOR='红');

在这里插入图片描述
(4)求没有使用天津供应商生产的红色零件的工程号JNO;

SELECT JNO
FROM S,P,SPJ
WHERE P.PNO=SPJ.PNO AND SPJ.SNO=S.SNO AND COLOR!='红' AND CITY!='天津';

SELECT JNO
FROM SPJ
WHERE SNO  NOT IN(SELECT SNOFROM SWHERE CITY='天津')
AND PNO NOT IN (SELECT PNOFROM PWHERE COLOR='红');

SELECT JNO
FROM SPJ
WHERE SNO IN(SELECT SNOFROM SWHERE CITY!='天津')
AND PNO IN (SELECT PNOFROM PWHERE COLOR!='红');

在这里插入图片描述
(5)求至少用了供应商S1所供应的全部零件的工程号JNO.

SELECT DISTINCT JNO
FROM SPJ
WHERE PNO>=ALL(SELECT PNOFROM SPJWHERE SNO='S1'); 

在这里插入图片描述

5.针对习题4中的4个表试用SQL语句完成以下各项操作:

(1)找出所有供应商的姓名和所在城市:

SELECT SNAME,CITY
FROM S;

在这里插入图片描述
(2)找出所有零件的名称、颜色、重量:

SELECT PNAME,COLOR,WEIGHT
FROM P;

在这里插入图片描述
(3)找出使用供应商S1所供应零件的工程号码:

SELECT JNO 
FROM SPJ
WHERE SNO='S1';

在这里插入图片描述
(4)找出工程项目J2使用的各种零件的名称及其数量:

SELECT PNAME,QTY
FROM SPJ,P
WHERE SPJ.PNO=P.PNO AND JNO='J2';

在这里插入图片描述
(5)找出上海厂商供应的所有零件号码:

SELECT PNO
FROM S,SPJ
WHERE SPJ.SNO=S.SNO AND CITY='上海';

SELECT PNO
FROM SPJ
WHERE SNO IN (SELECT SNOFROM SWHERE CITY='上海' );

在这里插入图片描述
(6)找出使用上海产的零件的工程名称:

SELECT JNAME
FROM J,S,SPJ
WHERE J.JNO=SPJ.JNO AND SPJ.SNO=S.SNO AND S.CITY='上海';

SELECT JNAME 
FROM J
WHERE JNO IN(SELECT JNOFROM SPJWHERE SNO IN(SELECT SNOFROM SWHERE CITY='上海'));

在这里插入图片描述
(7)找出没有使用天津产的零件的工程号码:

SELECT PNO 
FROM S,SPJ
WHERE SPJ.SNO=S.SNO AND CITY!='天津';

SELECT PNO 
FROM SPJ
WHERE SNO NOT IN (SELECT SNO FROM SWHERE CITY='天津');

在这里插入图片描述
(8)把全部红色零件颜色改为蓝色:

SELECT *
FROM P;UPDATE P
SET COLOR='蓝'
WHERE COLOR='红';SELECT *
FROM P;

在这里插入图片描述
(9)由S5供给J4的零件P6改为由S3供应,作必要的修改:

SELECT *
FROM SPJ;UPDATE SPJ
SET SNO='S3'
WHERE PNO='P6' AND JNO='J4' AND SNO='S5';SELECT *
FROM SPJ;

在这里插入图片描述
(10)从供应商关系中删除S2的记录,并从供应情况中删除相应的记录:

SELECT *
FROM S;DELETE 
FROM S
WHERE SNO='S2';SELECT *
FROM S;SELECT *
FROM SPJ;DELETE 
FROM SPJ
WHERE SNO='S2';SELECT *
FROM SPJ;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(11)请将(S2 , J6 , P4, 200) 插入供应关系情况:

INSERT
INTO SPJ
VALUES('S2','P4','J6',200);SELECT *
FROM SPJ;

在这里插入图片描述

9.请为三建工程项目建立一个供应情况的视图,包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。

CREATE VIEW VSPJ
AS
SELECT SNO,PNO,QTY
FROM SPJ
WHERE JNO IN(SELECT JNOFROM JWHERE JNAME='三建');

CREATE VIEW VSPJ
AS
SELECT SNO,PNO,QTY
FROM SPJ,J
WHERE SPJ.JNO=J.JNO AND JNAME='三建';
--查询视图
SELECT *
FROM VSPJ;

在这里插入图片描述
针对该视图完成下列查询:
(1)找出三建工程项目使用的各种零件代码及其数量:

SELECT PNO,QTY
FROM VSPJ;

在这里插入图片描述
(2)找出供应商S1的供应情况:

SELECT *
FROM VSPJ
WHERE SNO='S1';

在这里插入图片描述

啊啊啊啊啊啊!!!

第三章终于结束了!!!

充实的下午,从来没有这么认真过!!!

付出不一定有回报,不付出就一定不会有回报!!!

对于表、视图等的增删改查更明白了,更熟练了。。

散会,干饭


http://chatgpt.dhexx.cn/article/41tClJ04.shtml

相关文章

第三章作业【数据库原理】

第二章作业【数据库原理】 前言推荐第三章作业第3章第1题简答题第3章第2题&#xff08;关系代数->SQL代码&#xff09;第3章第3题&#xff08;创建SPJ数据库中的四张表&#xff09;模拟数据第3章第4题&#xff08;SPJ数据库上完成查询&#xff09;第3章第5题&#xff08;SPJ…

设有一个工程供应数据库系统,包括如下四个关系模式:S(Sno,Sname, Status,City) ;P(Pno,Pname,Color ,Weight);J(Jno,Jname, Ci

设有一个工程供应数据库系统&#xff0c;包括如下四个关系模式&#xff1a; S(Sno&#xff0c;Sname&#xff0c; Status&#xff0c;City) &#xff1b; P(Pno&#xff0c;Pname&#xff0c;Color &#xff0c;Weight)&#xff1b; J(Jno&#xff0c;Jname&#xff0c; City) …

高通WLAN框架学习(17)-- NIO和PNO

本章详细介绍了preferred network offload (PNO)扫描概述、流、模式和配置文件。 18.1 PNO扫描概述 WLAN STA在通过AP模组连接AP之前,需要偶尔对环境进行扫描。 在WLAN请求程序中对扫描结果进行解析和处理,以确定是否至少有一个目标(附近)AP在附近。 为了偶尔发出扫描,应用…

Wi-Fi PNO扫描流程(Android P)

简介&#xff1a;当手机灭屏情况下&#xff0c;有保存网络时&#xff0c;若已连接&#xff0c;不扫描&#xff0c;否则&#xff0c;PNO扫描&#xff0c;即只扫描已保存的网络。最小间隔min20s&#xff0c;最大间隔max20s*360s PNO 即Preferred Network Offload&#xff0c;用于…

[RK3288][Android6.0] WiFi之PNO功能了解

Platform: Rockchip OS: Android 6.0 Kernel: 3.10.92 概念: PNO 即Preferred Network Offload,用于系统在休眠的时候连接WiFi 此功能是在Android3.1加入的 缺陷: 在使用PNO时,有潜在泄露个人隐私的风险。这里没明白,意思是说PNO会发送之前的连接过的网络给AP,然…

二值化的方法

1.二值化 图像二值化的目的是最大限度的将图像中感兴趣部分保留下来&#xff0c;在很多情况下&#xff0c;也是进行图像分析、特征提取与模式识别之前的必要的图像预处理过程。在这些庞大的图像二值化分类方法中&#xff0c;基于直方图的全局二值算法占有了绝对的市场份额&…

OpenCV-Python学习(10)—— OpenCV 图像二值化处理(cv.threshold)

1. 学习目标 理解图像的分类&#xff0c;不同类型的图像的区别&#xff1b;对图像进行二值化处理&#xff0c;对【 cv.threshold 】函数的理解。 2. 图像分类 2.1 不同类型图像说明 按照颜色对图像进行分类&#xff0c;可以分为二值图像、灰度图像和彩色图像。 二值图像&…

python 图像二值化处理

python 图像二值化处理 import os from PIL import Image import shutilfile_path ./5-crack919/mask/ save_path ./5-crack919/mask01/ if not os.path.exists(save_path):os.makedirs(save_path) ###二值化 for filename in os.listdir(file_path):print(filename)img …

图像处理之二值化图像

图像二值化就是将图像上的像素点的灰度值设置为0或255&#xff0c;也就是将整个图像呈现出明显的黑白效果。将所有灰度大于或等于阈值的像素被判定为属于特定物体&#xff0c;其灰度值为255表示&#xff0c;否则这些像素点被排除在物体区域以外&#xff0c;灰度值为0&#xff0…

二值化之阈值处理

写于开头的废话&#xff1a;哒哒哒.......这应该是马蹄的声音&#xff01;我在告诉你&#xff0c;我又来了&#xff01;不得不说的还是自己的悲伤&#xff0c;经营了那么久的CSDN居然说关就给我关了&#xff0c;过去的还是没法过去&#xff0c;我始终不能从失去的痛苦之中走出来…

图像处理之二值化

图像处理之二值化 二值化方式 二值化算法 二值化方式 二值化方式分为五种&#xff1a; THRESH_BINARY&#xff1a;将大于某一个阈值的变成最大值&#xff0c;其他为0 THRESH_BINARY_INV&#xff1a;和THRESH_BINARY恰好相反 THRESH_TRUNC&#xff1a; trunc就是截断的意思&…

二值化方法

一、全局阈值法 1.固定阈值方法 该方法是对于输入图像中的所有像素点统一使用同一个固定阈值。其基本思想如下: 其中&#xff0c;T为全局阈值。 缺点:很难为不同的输入图像确定最佳阈值。 2.Otsu算法 Otsu算法又称最大类间方差法 先明确两个概念: (1)均值 (2)方差 图像的阈…

图像处理一之-摄像头二值化处理-(什么是二值化)

图像二值化 binary image 什么是二值化&#xff1a; 二值化是图像分割的一种最简单的方法。二值化可以把灰度图像转换成二值图像。把大于某个临界灰度值(阈值)的像素灰度设为灰度极大值(255)&#xff0c;把小于这个值的像素灰度设为灰度极小值&#xff08;0&#xff09;&#…

C#多线程详解(一) Thread.Join()的详解

什么是进程&#xff1f; 当一个程序开始运行时&#xff0c;它就是一个进程&#xff0c;进程包括运行中的程序和程序所使用到的内存和系统资源。 而一个进程又是由多个线程所组成的。 什么是线程&#xff1f; 线程是程序中的一个执行流&#xff0c;每个线程都有自己的专有寄存器…

1.java的协程_虚拟线程

盼过了春天盼秋天&#xff0c;从2017年到今天五年了&#xff0c;终于盼到loom转正了&#xff0c;当看到jdk19预览api的时候心情那个激动。。。期待已久的协程终于来临&#xff0c;再也不羡慕别人家的go孩子&#xff0c;咱终于可以理直气壮的说一句&#xff1a;咱也有&#xff0…

Kotlin协程到底是怎么切换线程的?你是否知晓?

好文推荐&#xff1a; 作者&#xff1a;RicardoMJiang 前言 之前对协程做了一个简单的介绍&#xff0c;回答了协程到底是什么的问题,感兴趣的同学可以了解下&#xff1a;【带着问题学】协程到底是什么? 通过上文&#xff0c;我们了解了以下内容 1.kotlin协程本质上对线程池的…

进程和线程、协程的区别

一、进程 进程是程序一次动态执行的过程&#xff0c;是程序运行的基本单位。每个进程都有自己的独立内存空间&#xff0c;不同进程通过进程间通信来通信。进程占据独立的内存&#xff0c;所以上下文进程间的切换开销&#xff08;栈、寄存器、页表、文件句柄等&#xff09;比较…

进程、线程与协程的比较

进程、线程和协程是三个在多任务处理中常听到的概念&#xff0c;三者各有区别又相互联系。 一、并行和并发 在介绍进程、线程和协程这三个概念之前&#xff0c;有两个操作系统中的相关概念需要简单解释一下&#xff1a;并行和并发。 并行&#xff1a;指多个任务同时执行。 并…

进程、线程、协程

进程、线程、协程 一、概念与区分 1、进程 进程是程序一次动态执行的过程&#xff0c;是程序运行的基本单位。每个进程都有自己的独立内存空间&#xff0c;不同进程通过进程间通信来通信。进程占据独立的内存&#xff0c;所以上下文进程间的切换开销&#xff08;栈、寄存器、…

终于明白:有了线程,为什么还要有协程?

并发的发展历史 其实&#xff0c;在早期计算机并没有包含操作系统&#xff0c;这个时候&#xff0c;这个计算机只跑一个程序&#xff0c;这个程序独享计算机的所有资源&#xff0c;这个时候不存在什么并发问题&#xff0c;但是对计算机的资源来说&#xff0c;确实是一种浪费。…