1.关系数据结构
单一的数据结构-------关系
现实世界中的实体以及实体间各种联系均用关系来表示
2.域:一组具有相同数据类型的值的集合。
例如:整数
实数
介于某个取值范围的整数
指定长度的字符串集合
{“男”,“女”}
.............
3.笛卡尔积
3.1 给定一组域D1、D2,........,Dn,允许其中某些域是相同的。
3.2 D1,D2,...,Dn的笛卡尔积为:
D1*D2*....*Dn={(d1,d2,...,dn)|di属于Di,i=1,2,3,....,n}
3.3 所有域的所有取值的任意集合
笛卡尔积可以看成是关系的域。
3.3 基数
基数:所有域的大小的乘积
4 . 关系
D1*D2*....*Dn的子集叫做在域D1,D2,....,Dn上的关系
表示为:R(D1,D2,...,Dn)
R:关系名
n:关系的目或度(Degree)
元组:
关系中每个元素(d1,d2,...,dn)叫做一个n元组,或者简称元组,通常用
t表示。(子集中的一个值就成为一个元组)
属性:
关系中不同的列可以对应相同的域
为了加以区分,必须给每列起一个名字,称为属性。
n目关系必须有n个属性。
码:
码的值可以决定整个属性
候选码:若关系中的某一个属性组的值能唯一地标识一个元组,则称该属性为候选码
简单的情况:候选码只包含一个属性。
全码:最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码。
基本关系的性质
列是同质的
不同的列可以出自同一个域
列的顺序无所谓,列的次序可以任意交换
任意两个元组的候选码不能相同
行的顺序无所谓,行的次序可以任意交换
分量必须取原子值
关系必须是笛卡尔积的子集才有价值。
5.关系模式
关系模式是型
关系是值
关系模式是对关系的描述
元组集合的结构:
属性的构成
属性来自的域
属性与域之间的映像关系
关系完整性约束
实体完整性
参照完整性
用户自定义完整性
实体完整性:
关系的主属性不能取空值(空值是对状态的一种描述)
空值就是不知道或不存在或无意义的值
#实体完整性规则是针对基本关系而言的,一个基本表通常对应现实世界的一个实体集。
#现实世界中的实体是可以区分的,即他们具有某种唯一性标识
#关系模型中以主码作为唯一标识
#主码中的属性,即主属性不能为空。
#主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这就与“现实世界中的实体是可区分的”相矛盾。
参照完整性:
关系属性的值来关联关系。
外码:
外码需要满足参照完整完整性。
参照完整性规则:
关系与关系之间的参照关系
关系内部的参照关系
用户自定义完整性