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

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

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

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

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

相关推荐
JH307333 分钟前
Oracle与MySQL中CONCAT()函数的使用差异
数据库·mysql·oracle
蓝染-惣右介35 分钟前
【MyBatisPlus·最新教程】包含多个改造案例,常用注解、条件构造器、代码生成、静态工具、类型处理器、分页插件、自动填充字段
java·数据库·tomcat·mybatis
冷心笑看丽美人36 分钟前
Spring框架特性及包下载(Java EE 学习笔记04)
数据库
武子康2 小时前
Java-07 深入浅出 MyBatis - 一对多模型 SqlMapConfig 与 Mapper 详细讲解测试
java·开发语言·数据库·sql·mybatis·springboot
代码吐槽菌2 小时前
基于SSM的毕业论文管理系统【附源码】
java·开发语言·数据库·后端·ssm
路有瑶台2 小时前
MySQL数据库学习(持续更新ing)
数据库·学习·mysql
数字扫地僧3 小时前
WebLogic 版本升级的注意事项与流程
数据库
Viktor_Ye3 小时前
高效集成易快报与金蝶应付单的方案
java·前端·数据库
努力算法的小明3 小时前
SQL 复杂查询
数据库·sql
斗-匕3 小时前
MySQL 三大日志详解
数据库·mysql·oracle