关系代数及其运算

思维导图

1.关系的数学定义

先了解几个概念

域:

域是一组具有相同数据类型值的集合。在关系模型中,使用域来表示实体属性的取值范围。通常用Di来表示某个域

笛卡尔积:

现有两个关系R和S,R×S就是R与S的笛卡尔积,示例如下:

关系:

一个表就是一个关系

2.传统的关系运算

传统的关系运算有:并、差、交




3.专门的关系运算

专门的关系运算有:查询、投影、连接(等值连接、不等连接、自然连接)、除运算


查询

选择就是"筛选行"。选择一般要对一张表选择符合条件的行(但包含所有列)。


投影

投影就是"筛选列"。一个数据库表,如仅希望得到其一部分的列的内容(但全部行),就是用投影。
等值连接
不等连接
自然连接
除运算1
除运算2
除运算有两种情况:

ABCD÷CD=AB和ABC÷BCD=A,但是第二种的“除数”中的D没有起作用,相当于是ABC÷BC=A

除运算的运算步骤(以图.除运算2为例):

①找到“被除数R”和“除数S”相同的属性,为B、C,顺势找出“被除数R”中除相同属性以外的属性为A
②找到A属性中各分量值的象集:a1{(b1,c2),(b2,c3),(b2,c1)}、a2{(b3,c5),(b2)(c3)}、a3{(b4,c4)}、a4{(b6,c4)}
③判断包含关系,对比发现:a2、a3和a4的象集都不能包含关系S中的B和C属性中的所有的值,所以删除a2、a3和a4,而a1能包含关系S中的B和C属性中的所有的值,因此R÷S的最终结果就是{a1}。

观察发现:

所有的关系运算都有去重操作;自然连接本质上是等值连接,自然连接相比于等值连接多了一个去掉重复列的操作

——例题及讲解另写在一篇文章:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容