一、数据库的关系完整性
关系数据库设计是对数据进行组织化和结构化的过程,
核心问题是关系模型的设计。
关
系关系模型的完整性规则是的关系的某种约束条件,是指数据库中数据的正确性和一致性。
现实世界的实际存在决定了关系必须满足一定的完整性约束条件,
这些约束表现在对属性取
值范围是限制上。
完整性规则就是防止用户使用数据库时,
想数据库中加入不符合语义的数
据。规则模型中有
3
类完整性约束:
实体完整性、
参照完整性和用户定义的完整性。其中实
体完整性和参照完整性尚关系模型必须满足的完整性约束条件被称作关系的两个不变性。
1
、
实体完整性规则
实体完整性是指基本关系的主属性,
即
主键的值都不能取空值
。
在关系系统中一个关系
通常对应一个表,实际存储数据的表称为基本表,
而查询结果表、
视图表都不是基本表。实
体完整性是针对基本表而言的,指在实际存储数据的基本表中,主属性不能去空值。例如:
在“
A
班学生信息
”
表中,
“学号”为主键,则“学号”不能取空值。
一个基本关系对应于现实世界中的一个实体集,
如学生关系对应于学生集合。
现实世界
中实体书可区分的,
即每个实体具有唯一的标识。
在关系模型中用主键作唯一性标识时,
若
主键去空值,则说明这个实体无法标识,
即不可区分。这显然与现实世界相矛盾,
现实世界
不可能存在这样不可标识的实体,从而引入实体完整性规则。
实体完整性规则规定基本关系的所有主属性都不能取空值,
而不仅仅是主键整体不能取
空值。
如果是多个字段一起组成主键,
则这多个字段均不能取空值,
否则就违反了实体完整
性规则。
或:
实体完整性是指关系的主关键字不能取空值或重复的值。
如果是多个字段一起组成主键,
则这多个字段均不能取空值。如:学号是主键,
则该列不能有空值或重复值,
否则无法对应
某个具体的学生,这样的二维表不完整,对应关系不符合实体完整性规则的约束条件。
2
、
参照完整性规则
现实世界的实体之间往往存在某种联系,
在关系模型中实体及实体间的联系都是用关系
来描述的,这样就存在着关系之间的引用。
参照完整性是定义建立关系之间联系的主键与外键引用的规则,
即外键要么取空值,
要么等
于相关关系中主键的某个值。例如:
课程表(课程