大家好,我是一只学弱狗,记录学习的点点滴滴!
优质文章
优质专栏
再学习之前,为了使你有更深的理解,请回顾之前所学,我是这样对你说的,我也是这样做的,并且真的可以事半功倍。上节我们说了,关系模式由三部分组成,一是以表的形式组织数据,二是表与表之间所发生的操作,三是约束条件,即实体完整性、参照完整性和用户自定义完整性,关于第二点,上次我们说了他主要分为两大类,即基于集合的关系代数和基于元组或域的关系演算,在本节我们将详细讲解基于集合的关系代数,下节将讲解基于元组和域的关系演算,通过这两节的学习,你对数据库的了解将更上一层楼。
并相容性
指两个关系R和S在做某些关系代数操作之前,如并、差、交等,相关属性之间要有一定的对应性、可比性或意义关联性。
关系R和S存在相容性,当且仅当
- 关系R和S的属性数目必须相同
- 对于任意i,关系R的第i个属性的域必须和关系S的第i个属性的域相同
例子
基本操作
并
定义:若关系R和S是并相容的,则关系R与S的并运算结果也是一个关系,它由或者出现在关系R中,或者出现在S中的元组构成,在合并时去掉重复元组。
差
定义:假设关系R和S是并相容的,则关系R与关系S的差运算结果也是一个关系,由出现在关系R中但不出现在关系S中的元组构成。
广义笛卡尔积
定义:关系R与S的广义笛卡尔积(简称广义积)运算结果也是一个关系,记作:R×S,它由关系R中的元组与关系S的元组进行所有可能的拼接(或串接)构成。
选择
定义:给定一个关系R、同时给定一个选择的条件condition,选择运算结果也是一个关系,它从关系R中选择出满足给定条件condition的元组构成。
投影
定义:给定一个关系R,投影运算结果也是一个关系,从关系R中选出属性包含在A中的列构成。
投影操作从给定关系中选出某些列组成新的关系,而选择操作是从给定关系中选出某些行组成新的关系
复杂操作
交
定义:假设关系R和S是并相容的,则关系R与S的交运算结果也是一个关系,它由同时出现在关系R和关系S中的元组构成。交运算可以通过差运算来实现。R∩S=R-(R-S)=S-(S-R)。
错在哪里呢?
θ连接
注意:以上例子为方便大家理解,先使用笛卡尔积然后再进行选择来得到θ连接结果,但是当引入连接操作后,DBMS可直接进行连接操作,而不必先形成笛卡尔积。
等值连接
自然连接
除
给定关系R(A1,A2,…,An)为n度关系,关系S(B1,B2,…,Bn)为m度关系,如果可以进行关系R与关系S的除运算,当且仅当:属性集{B1,B2,…,Bn}是属性集 {A1,A2,…,An}的真子集,即m<n。
定义:关系R和关系S的除运算结果也是一个关系,记作R÷S,分两部分来定义。
外连接
两个关系R与S进行连接时,如果关系R中的元组在S中找不到相匹配的元组,则为了避免该元组信息丢失,从而将该元组与S中假定存在的全为空值的元组形成连接,放置到结果关系中,这种连接称之为外连接。
例题
θ自身连接
自然连接与等值连接
除运算的数学描述
例子
外连接