【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种基本运算来表达。

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

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

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

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

相关推荐
Coder_Boy_4 分钟前
基于SpringAI的在线考试系统-考试系统DDD(领域驱动设计)实现步骤详解(2)
java·前端·数据库·人工智能·spring boot
风行無痕22 分钟前
MySQL 8.4 数据库修改字段长度的过程
数据库·mysql
難釋懷33 分钟前
Redis命令-Hash命令
数据库·redis·哈希算法
難釋懷36 分钟前
Redis命令-List命令
数据库·redis·list
zqmattack1 小时前
SQL sever根据身份证判断性别函数
java·数据库·sql
hanqunfeng1 小时前
(七)Redis 命令及数据类型 -- Hash
数据库·redis·哈希算法
符哥20081 小时前
基于mysql如何设置一个商城的数据库结构
数据库·mysql·oracle
chuxinweihui1 小时前
MySQL库数据类型
数据库·mysql
工业HMI实战笔记1 小时前
HMI权限分级设计:兼顾安全与操作效率的平衡术
运维·数据库·安全·ui·自动化·人机交互·交互