数据库学习-关系数据模型运算基础

                                 关系数据模型及其运算基础
1.关系模型的基本概念

        关系操作是集合操作。操作的对象是集合,操作的结果也是集合。因此,关系操作的基础是集合代数。
笛卡尔积(CartesianProduct)
        定义:设D1、D2、…、Dn都是有限集合,则D1、D2、…、Dn上的笛卡尔积为
D1×D2×…×Dn={(d1,d2,…,dn)|di属于Di,i=1,2,…,n}
其中每一个元素(d1,d2,…,dn)叫做一个n元组(n tuple),简称元组(Tuple)。一个元组在集合Di上的值di称为该元组在Di上的分量(Component)。
一个元组是组成该元组的各分量的有序集合(而决不仅仅是各分量的集合)。
关系(Relation)
        笛卡尔积D1×D2×…×Dn的任意一个子集称为D1,D2,…,Dn上的一个n元关系,简称关系,又称为表。每个关系都有一个关系名。
实际的关系有三种类型:基本表、查询表和视图表。基本表是实际存在的表;查询表是查询结果对应的表;视图表是从基本表和/或已定义视图导出的表,是虚表,只有定义,实际不存在。


2.关系代数


关系代数的运算可分为两类:
(1)基于传统集合运算的关系运算:并、差、交和广义笛卡尔积
(2)特殊的关系运算:投影、选择、连接和除,


2.1、基于传统集合运算的关系运算


与传统的集合运算相同,这类关系运算都是二目运算。但对参加运算的关系是有一些规定的。设关系R和S的目都是n(都有n个属性),且相应属性取自同一域,则
(1)关系R和S的并(Union)为:
任取元组t,当且仅当t属于R 或t属于S时,t属于R和S的并。
(2)R和S的差(Difference)为:
当且仅当 t属于 R 并且不属于 S时,t属于 R和S的差。
(3)R和S的交(Intersection)为:
当且仅当t既属于R又属于S时,t属于R和S的交。
(4)广义笛卡尔积(ExtendedCartesianProduct):
广义笛卡尔积不要求参加运算的两个关系具有相同的目。设R为n目关系,S为m 目关系,则R和S的广义笛卡尔积为:任取元组tr和ts,当且仅当tr属于R且ts属于S时,tr和ts的连接即为R×S的一个元组。
R和S的广义笛卡尔积是一个(n+m)目的关系。其中任何一个元组的前n列是关系R的一个元组,后m 列是关系S的一个元组。若R有K1个元组,S有K2个元组,则R×S有K1×K2个元组。实际操作时,可从R的第一个元组开始,依次与S的每一个元组组合,然后,对R的下一个元组进行同样的操作,直至R的最后一个元组也进行完同样的操作为止,即可得到R×S的全部元组。


2.2、专门的关系运算


专门的关系运算包括投影、选择、连接、自然连接和除等。投影和选择是一元操作,其他是二元操作。
(1)投影(Projection)
设<属性名表>中的所有属性都是关系R的属性,则R在<属性名表>上的投影为R中各元组只保留在<属性名表>上的诸分量后形成的新关系(但重复元组只能保留一个)
投影的实际操作方法为:从R中逐次取出一个元组,首先,去掉不在<属性名表>上的诸属性值,接着,按<属性名表>的次序重新排列剩下各分量后,作为一个新元组送入投影结果(但若投影结果关系中已有此元组,则必须舍弃之)。投影不仅仅取消了原关系中的某些列,还可能会去掉某些元组(有重复时)
(2)选择(Selection)
选择运算是在一个关系中,选取符合某给定条件的全体元组,生成新关系
(3)连接(Join)
连接是从两个关系的广义笛卡尔积中选取满足某规定条件的全体元组,形成一个新的关系
(4)等值连接(EquivalenceJoin)
等值连接属于连接,当一个连接表达式中,所有的比较条件都是“=”符时,则称此连接为等值连接。等值连接是较常用的连接。
(5)自然连接(NaturalJoin)
设关系R和S共有m 个相同的属性名,则R 和S在这m 个属性上进行等值连接后,又删除m 个冗余列,所得结果称为R和S的自然连接
自然连接与等值连接的差别在于:
(1)自然连接要求相等的分量必须有共同属性名,等值连接则不要求。
(2)自然连接要求把结果中的所有重复属性名都去掉一个,等值连接却不这样做。
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值