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

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

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

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

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

相关推荐
Elastic 中国社区官方博客3 小时前
搜索倍增器:推动收入、生产力和 AI 实现规模化
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
保定公民5 小时前
达梦数据库存储过程中的数组类型详解:基础数组与记录数组的差异化应用
数据库·达梦·存储过程·达梦数据库·dm8·dm
梦Arrebol5 小时前
Redis 内容及相关实验
数据库·redis
大模型码小白6 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
DBA大董8 小时前
TDengine3.0 DBA常用的运维命令和SQL2
运维·数据库·时序数据库·dba·tdengine
ManageEngineITSM8 小时前
什么是CMDB?配置管理数据库的定义、作用与建设方法一文讲清
大数据·数据库·人工智能·资产管理·变更管理
IvorySQL8 小时前
PostgreSQL 日报|PG19 外键快速路径隐患已修复(8 月 23 日)
数据库·postgresql
Elastic 中国社区官方博客9 小时前
OpenTelemetry Java 扩展:无需分叉 agent 即可自定义追踪
java·大数据·运维·开发语言·数据库·人工智能·elasticsearch
01传说9 小时前
redis开机自启脚本
数据库·redis·缓存