第二章 关系数据库(四)

第四节 关系模型实现数据联系的方法

2.扩展的关系代数运算
关系代数的基本运算足以表达任何关系代数的查询操作,但是,对于某些常见的查询操作使用基本运算表达式可能会显得冗长。如果使用扩展的关系代数运算,可以简化这类查询的关系代数表达式。
1.交(Intersect)
关系代数交运算的结果是由两个关系公共的元组构成一个新关系,其结果消除重复的元组。交运算要求两个关系的属性数目相同,且相应属性的性质相同。设关系R和S的属性数目相同,且对应的属性域相同,则关系R与S的交是由即属于R又属于S的元组构成的新关系。通常记作R∩S。交运算可以使用两个差运算等价:R∩S=R-(R-S)
2.连接运算
在关系数据库中,经常需要从多个表中获取相关数据。即从多个表的迪卡尔积中选择满足条件的元组。了解连接运算符的原理。连接运算是从两个关系笛卡尔积中选择属性之间满足一定条件的元组。
连接运算可以用笛卡尔积,选择和投影运算表达式。
1.内连接
从两个关系的笛卡尔积中,选择在联接属性上具有相等值的元组构成一个新关系,称为内连接。内连接实际上就是等值连接。在连接运算的结果中,仅包含两个关系笛卡尔积中连接属性值相等的元组,且不消除重复的属性。
2.自然连接
从两个关系的笛卡尔积中,选择公共属性值相等的元组,并消除重复属性构成一个新关系,称为自然连接。自然连接是最重要的连接运算。在关系数据库环境中,经常依据关系直接的公共属性把相互独立的表联接在一起,从中获取相关的数据,实现多个表之间的操作。
3.左外连接
自然联接或内联接的结果是由满足联接条件的元组构成,排除了不满足联接条件的元组。然而,许多实际应用问题需要保留那些不满足联接条件的元组,不希望丢失信息。外联接主要是解决保留“不满足联接条件的元组”的问题。关系R与S进行联接操作,联接的结果中除了满足联接条件的元组之外,还包含左关系R中不满足联接条件的元组,而其对与右关系S的属性上填空值(NULL),这种联接运算称为左外联接。
4.右外联接
关系R与S进行联接操作,联接的结果中除了满足联接条件的元组之外,还包含关系S中不满足联接条件的元组,而对应于左关系R的属性上填空值(NULL),这种联接称为右外联接。右外联接的原理和操作方法与左外连接类似,除了满足联接条件的元组之外,还会保留右关系中不满足条件的内容,与之对应的左关系数据填空值。

发布了189 篇原创文章 · 获赞 26 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/G_whang/article/details/105500231
今日推荐