关系代数运算的特点
基于集合,提供了一系列的关系代数操作:并、差、笛卡尔积(广义积)、选择、投影和更名等基本操作
以及交、连接和关系除等扩展操作,是一种集合思维的操作语言。
关系代数操作以一个或多个关系为输入,结果是一个新的关系。
用对关系的运算来表达查询,需要指明所用操作,具有一定的过程性。
关系代数操作:集合操作和纯关系操作
基本动作
关系代数运算的约束
某些关系代数操作,如并、差、交等,需满足“并相容性
并相容性
参与运算的两个关系及其相关属性之间有一定的对应性、可比性或意义关联性
定义:关系R与关系S存在相容性,当且仅当:
关系R和关系S的属性数目必须相同;
对于任意关系R的第个属性的规必须和关素s的第个属性的域相同
“并”操作
定义:假设关系R和关系S是并相容的,则关系R与关系S的并运算结果也是一个关系,记作:RUS,它由或者出现在关系R中,或者出现在S中的元组构成。
并运算是将两个关系的元组合开成个关系,在合并时去掉重复的元组。
RUS与SUR运算的结果是同一个关系
“差”操作
定义:假设关系R和关系S是并相容的,则关系R与关系S的差运算结果也是一个关系,记作:R-S,它由出现在关系R中但不出现在关系S中的元组构成。
“笛卡儿积”操作
当一个检索涉及到多个表时(如学生表和课程表),使需要将这些表串接或拼接起来,然后才能检索,这时,就要使用广义笛卡尔积运算
RxS=SxR:RxS为R中的每一个元组都和S中的所有元组进行串接。SxR为S中的每一个元组都和R中的所有元组进行串接。结果是相同的。
两个关系R和S,它们的属性个数分别为m和m(R是n度关系,S是m度关系)则笛卡尔积RXS的属性个数=m+n.即元组的前n个分量是R中元组的分量,后m个分量是S中元组的分量(RxS是n+m度关系)
两个关系R和S,它们的元组个数分别为x和y(关系R的基数x,S的基数y)
则笛卡尔积RxS的元组个数=xxy。(RxS的基数是xxy).
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/288510.html