2.1.1 关系

------------------------------------------------------------------------------------------------------------------------------------------
2.1 关系数据库结构及形式化定义

数据模型3要素: 关系数据结构、关系操作集合、关系完整性约束。

--------------------------------------------------------------------
2.1.1 关系
1.域(Domain) 一组具有相同数据类型的值的 集合。

2.笛卡尔积(Cartesian Product) 集合运算。给定一组域D1,D2,...,Dn,这些域中可以是相同的域。D1,D2,...,Dn的笛卡尔积为
D1×D2×...×Dn = {(d1,d2,...,dn)|di∈Di,i=1,2,...,n}
其中每一个元素(d1,d2,...,dn)叫做一个n元祖(n-tuple)
元素中的么一个值di叫作一个分量(Component)。
若Di(i=1,2,...,n)为有限集,其基数(Cardinal number)为mi(i=1,2,...,n),则D1×D2×...×Dn的基数M为:
         

3.关系(Relation)
D1×D2×...×Dn的子集叫做在域D1×D2×,...Dn上的关系,表示为R(D1,D2,...,Dn)
这里R表示关系的名字,n是关系的 目 或 度(Degree)。
关系中的每个元素时关系中的元组,通常用t表示。
当n=1时,称该关系为单元关系(Unary relation),或一元关系。
当n=2时,称该关系为二元关系(Binary relation)。
关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列其一个名字,称为属性(Attribute)。n目关系必有n个属性。
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码(Candidatekey)。
若一个关系有多个候选码,则选定其中一个为主码(Primary key)。
候选码的诸属性称为主属性(Prime attribute)。不包含在任何候选码中的属性称为非主属性(Non-prime attribute)或非码属性(Non-key attribute)。
在最简单的情况下,候选码只包含一个属性。在最极端的情况下,关系模式的所有属性是这个关系的候选码,称为全码(All-key)。
一般来说,D1,D2,...,Dn的笛卡尔积是没有实际语义的。只有它的某个子集才有实际含义。


关系可以有三种类型:基本关系(通常又称为基本表或基表)、查询表、视图表。
基本表 是实际存在的表,它是实际存储数据的逻辑表示。
查询表 是查询结果对应的表。
视图表 是由基本表或其他视图表导出的表,是虚表,不对应实际存储的数据。


关系模型要求关必须是规范化(normalization)的,即要求关系必须满足一定的规范条件。这些规范条件中最基本的一条就是,关系的每一个分量必须是一个不可分的的数据项。规范化的关系简称方式(Normal Form)。

通俗地讲,关系表中不允许还有表,简言之不允许“表中有表”。如下图:

猜你喜欢

转载自1971161579.iteye.com/blog/2337826
今日推荐