您的位置:首页 > 其它

关系数据模型及其运算基础

2007-11-14 16:37 411 查看
关系数据模型及其运算基础
1、关系模型的基本概念
关系操作是集合操作。操作的对象是集合,操作的结果也是集合。因此,关系操作的基础是集合代数。
(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)。
一个元组是组成该元组的各分量的有序集合(而决不仅仅是各分量的集合)。
(2)关系(Relation
笛卡尔积D1×D2×…×Dn的任意一个子集称为D1,D2,…,Dn上的一个n元关系,简称关系,又称为表。每个关系都有一个关系名。
实际的关系有三种类型:基本表、查询表和视图表。基本表是实际存在的表;查询表是查询结果对应的表;视图表是从基本表和/或已定义视图导出的表,是虚表,只有定义,实际不存在。
2、关系模式
一个关系的关系模式是该关系的关系名及其全部属性名的集合,一般表示为关系名(属性名1,属性名2,…,属性名n)。可见,关系是值;而关系模式是型,是对关系的描述。关系模式是稳定的。关系是变化的,关系是某一时刻关系模式的内容。关系模式常简称为关系。
完整的关系模式定义为: R(U,D,dom,F)
其中,R为关系名,U为该关系所有属性名的集合,D 为属性组U 中属性所来自的域的集合,dom 为属性向域映象的集合,F为属性间数据依赖关系的集合。
关系模式常简记为: R(U)或R(A1,A2,…,An)
其中,R为关系名,Ai(i=1,2,…,n)为属性名。
3、关系数据库
一个应用范围内,所有关系的集合就形成了一个关系数据库。
对关系数据库的描述称为关系数据库模式,也称为关系数据库的型。
4、关系代数
关系代数的运算可分为两类:
(1)基于传统集合运算的关系运算:并、差、交和广义笛卡尔积
(2)特殊的关系运算:投影、选择、连接和除,
4.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的全部元组。
4.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)自然连接要求把结果中的所有重复属性名都去掉一个,等值连接却不这样做。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: