数据库(二) 关系模型之关系代数

关系代数运算的特点

①基于集合,提供了一系列的关系代数操作:笛卡尔积广义积)、选择投影更名等基本操作;

②以及连接关系除等扩展操作,是一种集合思维的操作语言;

③关系代数操作以一个或多个关系为输入,结果是一个新的关系;

④用对关系的运算来表达查询,需要指明所用操作,具有一定的过程性;

⑤是一种抽象的语言,是学习其他数据库语言,如SQL等的基础;

 

关系代数操作



1)关系代数的约束:并相容性

①参与运算的两个关系及其相关属性之间有一定的对应性、可比性或意义关联性;

②定义:关系R与关系S存在相容性,当且仅当:

关系R与关系S属性数目必须相同;

对于任意i,关系R的第i个属性的域必须和关系S的第i个属性的域相同;

 

(2)Union

①定义:假设关系R和关系S是并相容的,则关系R与关系S的并运算结果也是一个关系,记作:RS,它由或者出现在关系R中,或者出现在S中的元组构成;

②数学描述:RS={t|tRtS},其中t是元组;

③并运算是将两个关系的元组合并成一个关系,在合并时去掉重复的元组;

RSSR运算那结果是同一个关系,其描述示意图如下:



(3)Difference

①定义:假设关系R和关系S是并相容的,则关系R与关系S的差运算结果也是一个关系,记作:RS,它由出现在关系R中,但不出现在S中的元组构成;

②数学描述:RS={t|tRtS},其中t是元组;

RSSR是不同的,其区别的描述示意图如下:



(4)广义笛卡尔积Cartesian Product

①定义:关系R(<a1,a2,...,an>)与关系S(<b1,b2,...,bm>)广义笛卡尔积(简称广义积,或积或笛卡尔积)运算结果也是一个关系,记作:R×S,它由关系R中的元组与关系S的元组进行所有可能拼接(或串接)构成;

②数学描述:

③应用场景:当一个检索涉及到多个表时,便需要将这些表串接或拼接起来,然后才能检索,这时,就要使用广义笛卡尔积运算;

④R×S=S×RR×SR中 的每一个元组都和S中的所有元组进行串接。S×RS中的每一个元组都和R中的所有元组进行串接。结果是相同的;

⑤两个关系RS,它们的属性个数分别是nm,则笛卡尔积R×S的属性个数=n+m

⑥两个关系RS,它们的元组个数分别是xy,则笛卡尔积R×S的元组个数是x×y

 


(5)选择Select

①定义:给定一个关系R,同时给定一个选择的条件condition(简记con),选择运算结果也是一个关系,记作σconR),它从关系R中选择出满足给定条件condition的元组构成;

②数学描述:

③选择操作从给定的关系中选出满足条件的行,条件的书写很重要,尤其是当不同运算符在一起时,要注意运算符的优先次序,优先次序自高至低位:括弧、θ、﹁、∧、∨;

 


(6)投影Project

①定义:给定一个关系R,投影运算结果也是一个关系,记作∏AR),它从关系R中选出属性包含在A中的列构成;

②数学描述:

③注意,投影操作是从给定关系中选出某些列组成新的关系,而选择操作是从给定关系中选出某些行组成新的关系;

 


(7)Intersection

①定义:假设关系R和关系S是并相容的,则关系R与关系S的交运算结果也是一个关系,记作:RS,它由同时出现在关系R和关系S中的元组构成;

②数学描述:RS={t|tRtS},其中t是元组;

RSSR运算的结果是同一个关系;

④交运算可以通过差运算来实现:RS=R-(RS=S-(SR);

   



(8)θ连接theta-Join

①定义:给定关系R和关系SRSθ连接运算结果也是一个关系,记作

,它由关系R和关系S的笛卡尔积中,选取R中属性A与属性之间满足θ条件的元组构成;

②数学描述:

③投影与选择操作知识对单个关系(表)进行操作,而实际应用中往往涉及多个表之间的操作,这就需要θ连接操作;

④在实际应用中,θ连接操作经常与投影、选择操作一起使用;

⑤操作过程:对两个表进行广义笛卡尔积 --> 从广义笛卡尔积中选取符合条件的元组-->在新表上进行投影操作,得到最终的结果;

⑥特别注意:虽然在讲θ连接操作时,使用笛卡尔积然后再进行选择来得到θ连接结果。这主要是方便理解。但当引入连接操作后,DBMS可直接进行连接操作,而不必先形成笛卡尔积;



(9)等值连接Equi-Join

①定义:给定关系R和关系SRS的等值连接运算结果也是一个关系,记作

,它由关系R和关系S的笛卡尔积中选取R中属性AS中属性B上值相等的元组所构成;

②数学描述:

③当θ连接中运算符为=”时,就是等值连接,等值连接是θ连接的一个特例;

④广义积的元组组合并不是都有意义的,另外广义积的元组组合数目也非常庞大,因此采用θ连接/等值连接运算可大幅度降低中间结果的保存量,提高速度;

 


(10)自然连接Natural-Join

①定义:给定关系R和关系SRS的自然连接运算结果也是一个关系,记作

它由关系R和关系S的笛卡尔积中选取相同属性组B上值相等的元组所构成;

②数学描述:


③自然连接是一种特殊的等值连接;

④要求关系R和关系S必须有相同的属性组BRS属性相同,值必须相等才能连接;

⑤要在结果中去掉重复的属性列;

 


(11)书写关系代数表达式的基本思路

①检索是否涉及多个表,如不涉及,则可直接采用并、差、交、选择与投影,只要注意条件书写正确与否即可;

②如涉及多个表,则检查,能否使用自然连接,将多个表连接起来(多数情况是这样的),如不能,能否使用等值或不等值连接(θ连接),还不能,则使用广义笛卡尔积,注意相关条件的书写;

③连接完后,可以继续使用选择、投影等运算,即所谓数据库的“选投联”操作:



相关推荐
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页