一、关系模型概述
1.数据结构:二维表
2.关系操作:
- insert delete updated
- Query:select(选择),project(投影),join(连接),divide(除),union(并),intersection(交),difference(差)
- 关系代数,关系演算,SQL
3.关系的三类完整性约束
- 实体完整性
- 参照完整性
- 用户自定义完整性
关系代数:用关系的运算来表达查询要求的方式
关系演算:用谓词表达查询要求的方式。
按谓词变元的基本对象是元组变量还是域变量分为元组关系演算和域关系演算
二、关系数据结构
1.域:一组具有相同数据类型值的集合
2.笛卡尔积
- 笛卡尔积的每一个元素(d1,d2,....,dn):一个n一元组
- 元组的每一个值:一个分量
- Di的基数(元组个数)为MI,则笛卡尔积的基数为MI的乘积
3.关系:笛卡尔积D1*D2*.....*Dn的子集叫做在域D1,D2,...Dn上的关系,用R(D1,D2,..Dn)表示
R:关系的名字 n:关系的目或度
关系是笛卡尔集中有意义的子集
关系可表示为二维表
关系的性质:
- 列是同质的
- 行列的顺序无关紧要
- 任意两个元组不能完全相同
- 每一分量必须是不可再分的数据
- 不同的属性,属性名不能相同
4.属性
- 关系中不同列可以对应相同的域,为了加以区分,必须对每列起一个名字,称为属性。
- n目关系必有n个属性
5.候选码
关系中一个属性组,其值能唯一标识一个元组。若从属性组中去掉任何一个属性,也就不具备这一性质了,这样的属性组叫候选码。
eg:DEPT(D#,DN,DEAN)
6.主码
关系中有多个候选码,则选其中一个作为主码
7.外码
关系R中的一个属性组,它不是R的码,但他与另一个关系S的码相对应,则称这个属性组为外码。
8.关系模式
关系的描述是关系模式,包括关系名,关系中的属性名,属性向域的映象,属性间的数据依赖关系
关系模式是型,是稳定的。关系是某一时刻的值,是不断变化的。
9.关系数据库
三、关系的完整性约束
1.实体完整性
关系的主码中属性不能为空
2.参照完整性
3.用户自定义完整性