数据库关系运算理论:传统的集合运算概念解析


✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨

🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。

我是Srlua小谢,在这里我会分享我的知识和经验。🎥

希望在这里,我们能一起探索IT世界的奥妙,提升我们的技能。🔮

记得先点赞👍后阅读哦~ 👏👏

📘📚 所属专栏:数据库

欢迎访问我的主页:Srlua小谢 获取更多信息和资源。✨✨🌙🌙

目录

传统的集合运算

开运算

差运算

交运算

广义笛卡尔积


传统的集合运算

关系代数的运算对象和结果均为关系。

关系代数用到的运算符包括集合运算符、专门的关系运算符、比较运算符和逻辑运算符

如表 2.3 所示。

开运算

例题 2.1 在校学生关系 R 和休学学生关系 S,其中关系 R 与关系 S 都有四个属性(学号,姓名,性别,状态),若要取得所有学生关系T,则关系T由属于在校学生关系 R和休学学生关系S的所有元组组成(即为集合并运算),并且得到的关系T仍然有四个属性(学号,姓名,性别,状态)。

如下表 2.4、表 2.5、表 2.6 所示。

由此,关系R与关系S的并(union)记作:

其结果关系仍为n目关系,由属于R或属于S的元组组成。

差运算

例题 2.2 有本店商品关系 R和不合格商品关系S,其中关系 R 与关系 S都有三个属性(品牌,名称,厂家),若要找出本店内合格的商品关系T,则关系T由属于本店商品关系 R而不属于不合格商品关系S的元组组成(即为集合差运算),并且得到的关系T仍然有三个属性(品牌,名称,厂家)。

如表 2.7、表 2.8、表2.9所示。

由此,关系R与关系S的差(Difference)记作:

其结果关系仍为n目关系,由属于R而不属于S的所有元组组成。


交运算

例题 2.3 在上例中,若要找出本店内不合格的商品关系T,则关系T由既属于本店商品关系 R 又属于不合格商品关系S的元组组成(即为集合交运算),并且得到的关系T仍然有三个属性(品牌,名称,厂家)。

如表210 所示,

由此,关系R与关系S的交(Intersecticm)记作:

其结果关系仍为n目关系,由既属于R又属于S的元组组成。关系的交运算可以用差运算来表示,即RS=R-(R-S),或RS=S-(S-R)。


广义笛卡尔积

例题 2.4 现有学生关系 R 和必修课程关系 S,其中关系 R 有两个属性(学号姓名),关系S有三个属性(课程号,课程名、学分)每个学生必须学习所有必修课程,要求形成选课关系T。由学生选修课程形成的选课关系必须包括学生关系R的属性和必修课程关系S的属性,即关系 T包括学号,姓名,课程号,课程名和学分五个属性,由于学生关系R中两个元组选修的课程都对应着必修课程关系S中的三个元组,所以,选课关系T共有六个元组,则得到的关系T由五个属性和六个元组组成(即为笛卡尔积运算)。

如表2.11、表2.12、表 2.13 所示。

两个分别为 n 目和m 目的关系 R和S的广义笛卡儿积是一个(n+m )列的元组的集合。元组的前n列是关系R的一个元组后m 列是关系S的一个元组。

若R有个元组,S有个元组则关系 R和关系S的广义笛卡儿积有 ,x,个元组。

记作:

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

相关推荐
Mr_Xuhhh1 小时前
MySQL核心知识梳理:从连接到查询的完整指南
数据库·sql·mysql
wsxlgg1 小时前
MySQL中count(*)、count(1)、count(字段)的区别
数据库·mysql
pengdott7 小时前
Oracle RAC内存融合技术深度解析:集群性能的幕后引擎
数据库·oracle
csudata8 小时前
绿色便携版PostgreSQL发行版重磅发布
数据库·postgresql
阳光九叶草LXGZXJ9 小时前
达梦数据库-学习-48-DmDrs控制台命令(同步之Manager、CPT模块)
linux·运维·数据库·sql·学习
我科绝伦(Huanhuan Zhou)9 小时前
脚本再升级,兼容Oracle 26ai一键安装
数据库·oracle
野生绿箭侠10 小时前
Ncos 2.3.2 版本集成达梦数据库
数据库
仍然.10 小时前
MYSQL--约束
数据库·mysql
乡野码圣11 小时前
【RK3588 Android12】RCU机制
java·jvm·数据库
亓才孓11 小时前
[数据库]应该注意的细节
数据库·sql