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


✨✨ 欢迎大家来访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,个元组。

记作:

希望对你有帮助!加油!

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

相关推荐
小羽网安18 分钟前
从零开始学习 sql 注入,常见的 sql 注入解析
数据库·sql·学习
2401_846339561 小时前
CSS如何优化大型项目样式_使用SASS预处理器提升开发效率
jvm·数据库·python
ss2737 小时前
食谱推荐系统功能测试如何写?
java·数据库·spring boot·功能测试
l1t8 小时前
DeepSeek总结的数据库外部表
数据库
m0_674294648 小时前
如何编写SQL存储过程性能对比_记录执行时间评估优化效果
jvm·数据库·python
014-code8 小时前
CompletableFuture 实战模板(超时、组合、异常链处理)
java·数据库
运气好好的8 小时前
怎样开启phpMyAdmin的操作审计日志_记录每条执行的SQL
jvm·数据库·python
それども9 小时前
DELETE 和 TRUNCATE TABLE区别
java·数据库·mysql
wenha9 小时前
数据库隔离级别
数据库·mysql·sqlserver·隔离级别
2401_871492859 小时前
Layui如何修改Layui默认的UI主题颜色(换肤功能实现)
jvm·数据库·python