第五章 关系数据库系统
1 关系的形式定义
从数学的观点定义关系称为关系的形式定义。分为用集合论观点和用值域概念 关系是属
性值域笛卡尔积的一个子集。
2 关系数据库对关系的限定
1)每一个属性都是不可分解的。不允许表中有表;2)每一个关系仅仅有一种关系模式;
3)每一个关系模式中的属性必须命名,属性名必须不同;4)行可交换;5)列可交换;6)不
出现相同两元组
5.2.3 关系数据库中常用的表示方法
1)大写字母 Q、R、S 表示关系名
2)小写字母 q、r、s 表示关系状态
3)小写字母 t、u、v 表示元祖
4)STUDENT(S#,Sname,Sex,Age,Dept)表示一个关系模式
5)用带下划线的属性表示关系的主键
6)R.A 表示用关系名 R 限定属性 A
7)关系 r(R)中 n 元元祖 t 表示成 t=<v1,v2,…,vn>
t[Ai]或 t.Ai 或 t[i]表示 t 中属性 Ai 的 vi 值
t[Au,Aw,…,Az]或 t(Au,Aw,…,Az)
8)一个长度为 n 的关系模式 R 可表示成 R(A1,A2 …
, ,
An)
9)一个关系数据库模式 S 是他的关系模式和完整性 IC 的集合表示为 S={R1,R2,
…,Rn}
10)一个关系数据库 S{R1,R2 …
, ,
Rn}的一个关系数据库状态 DB 是关系状态的集合
DB={r1,r2 …
, ,
rm}
5.3 关系模型的完整性约束
5.3.1 关系模型的完整性约束分类
域完整性约束、实体完整性约束、参照完整性约束
5.3.2 域完整性约束
是对属性值域的约束,包括静态定义和动态定义
5.3.3 实体完整性约束
是对关系中主键属性值的约束
实体完整行为规则:若属性 A 是关系 R 的主属性,则属性 A 不能取空值
则:
1)实体完整性约束是对关系的约束
2)每个关系必须有主键,且主键值唯一,用于标识关系的元祖
3)组成主键的属性值都不能为空
5.3.4 参照完整性约束
参照完整性规则:若属性 F 是关系 R 的外键,他与关系 S 的主键 K 相对应,则对于 R 中
每一个元祖在
F 上的值必须为:1)或者取空值 2)或者等于 S 中某个元祖的属性值
5.3.5 关系模型数据完整性检查
对数据库执行插入、删除、修改操作时需检查是否满足三种完整性要求
1 执行插入操作时,首先检查实体完整性;再检查参照完整性,若是向被参照关系插入,
不需考虑,若是 向 参 照关系插 入,插入 行在外键 属性 上 的 值是否 已 经 在相应 的被参
照关系的主键属性值中存在 ,若存在,可以插入,若不存在,不执行插入,或将插入行
在外键属性上的值改为空值,再执行插入;最后检查域完整性。
2 执行删除操作时,只考虑参照完整性,若删除被参照关系中的行, 检查被删除行在
第 2 页 共 3 页