【SQL Server数据库】关系模式与关系代数

目录

一、请用关系代数完成下列查询

[1. 求 供应工程J1 零件P1的供应商号码SNO;](#1. 求 供应工程J1 零件P1的供应商号码SNO;)

[2. 求 供应工程J1 零件(P)为红色 的供应商号码SNO;](#2. 求 供应工程J1 零件(P)为红色 的供应商号码SNO;)

[3. 求 没有使用 天津供应商(P)生产的红色零件(S) 的工程号JNO;](#3. 求 没有使用 天津供应商(P)生产的红色零件(S) 的工程号JNO;)

[4. 求 至少使用了 供应商S1 所供应的 全部零件(S) 的工程号JNO;](#4. 求 至少使用了 供应商S1 所供应的 全部零件(S) 的工程号JNO;)

[5. 求 使用了红色零件(P) 但没有使用蓝色零件(P) 的工程号(JNO);](#5. 求 使用了红色零件(P) 但没有使用蓝色零件(P) 的工程号(JNO);)

[6. 求供应了 蓝色零件(P)工程项目(J)在北京 的 供应商的姓名和所在城市。](#6. 求供应了 蓝色零件(P)工程项目(J)在北京 的 供应商的姓名和所在城市。)

[7. 检索 至少使用了两种零件 的工程号(JNO)。](#7. 检索 至少使用了两种零件 的工程号(JNO)。)

[8. 检索 J1号工程 不使用的零件号(PNO)。](#8. 检索 J1号工程 不使用的零件号(PNO)。)

二、试述等值连接与自然连接的区别和联系。

三、关系代数的基本运算有哪些?

四、为什关系代数么关系中的元组没有先后顺序?

五、为什么关系中不允许有重复元组?


设有一个SPJ数据库,包含S、P、J、SPJ 4个关系模式:

|--------------------------|---------------------------|
| S(SNO,SNAME,STATUS.CITY) | P(PNO,PNAME,COLOR,WEIGHT) |
| J(JNO,JNAME,CITY) | SPJ(SNO,PNO,JNO,QTY) |

供应商S由供应商代码SNO、供应商姓名SNAME、供应商状态STATUS、供应商所在城市CITY组成;

零件表P由零件代码PNO、零件名PNAME、零件颜色COLOR零件重量WEIGHT组成;

工程项目表J由工程项目代码JNO、工程项目名JNAME、工程项目坐在城市CITY组成;

SPJ表由供应商代码SNO、零件号代码PNO、工程号代码JNO、供应数量QTY组成,表示某供应商供应某种零件给某工程项目的数量为QTY。

一、请用关系代数完成下列查询

1. 求 供应工程J1 零件P1的供应商号码SNO;

2. 求 供应工程J1 零件(P)为红色 的供应商号码SNO;

3. 求 没有使用 天津供应商(P)生产的红色零件(S) 的工程号JNO;

相当于 求 所有JNO工程号 - (使用了 天津供应商生产的 红色零件 的工程号)

4. 求 至少使用了 供应商S1 所供应的 全部零件(S) 的工程号JNO;

5. 求 使用了红色零件(P) 但没有使用蓝色零件(P) 的工程号(JNO);

6. 求供应了 蓝色零件(P)工程项目(J)在北京 的 供应商的姓名和所在城市。

7. 检索 至少使用了两种零件 的工程号(JNO)。

8. 检索 J1号工程 不使用的零件号(PNO)。

二、试述等值连接与自然连接的区别和联系。

(1)等值连接:从关系R和S的笛卡尔积中选取A,B属性值相等的元组;

(2)自然连接:是特殊的等值连接,R和S具有相同的属性组B,在结果中去掉重复的属性列。

连接运算符是"="的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组。

自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。

三、关系代数的基本运算有哪些?

并、差、笛卡尔积、投影和选择5种运算为基本的运算。其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。

四、为什关系代数么关系中的元组没有先后顺序?

关系是元组的集合,集合中的元素是没有顺序的,所以关系中元组的顺序无关紧要。

五、为什么关系中不允许有重复元组?

因为每个关系模式都有一个主键,在关系中主键是唯一存在的。假若有重复元组,则其主键相等,那么起不了唯一标识的作用。所以关系中不允许有重复元组。

相关推荐
崖山数据库系统YashanDB15 分钟前
YashanDB json语法
数据库
陈三一18 分钟前
关于多数据源下Spring声明式事务管理失效问题的分析与解决
数据库·spring
我有医保我先冲1 小时前
SQL复杂查询与性能优化全攻略
数据库·sql·性能优化
烧瓶里的西瓜皮1 小时前
Go语言从零构建SQL数据库引擎(2)
数据库·sql·golang
SelectDB1 小时前
拉卡拉 x Apache Doris:统一金融场景 OLAP 引擎,查询提速 15 倍,资源直降 52%
大数据·数据库·数据分析
爱的叹息1 小时前
华为高斯(GaussDB) 集中式数据库 的开发技术手册,涵盖核心功能、开发流程、优化技巧及常见问题解决方案
数据库·gaussdb
背太阳的牧羊人1 小时前
使用 PyMuPDF(fitz)库打开 PDF 文件,并且是从内存中的字节流(BytesIO)读取 PDF 内容
数据库·pdf·文件处理·pymupdf·fitz
@淡 定3 小时前
MySQL MVCC 机制解析
数据库·mysql
Chandler243 小时前
Redis:内存淘汰原则,缓存击穿,缓存穿透,缓存雪崩
数据库·redis·缓存
SRC_BLUE_173 小时前
Python GUI 编程 | QObject 控件基类详解 — 定时器
开发语言·数据库·python