数据库关系完整性约束
完整性约束
-
实体完整性约束(主键约束): 不空值、不重复、复合键包含主键,则其中的键都不能为空
-
参照完整性约束(外键约束)
-
删除规则:被引用则不能被删除
如果一个实体E被另一个实体F引用,可以禁止删除该实体E。
例如,某所学校录取了1000名学生,则不能将该学校删除;如果要删除该学校,则必须同时把隶属于该学校的1000名学生的信息也删除。(被参照实体 后删除)
-
插入规则:
如果一个实体F引用了另一个实体E,那么实体E必须存在数据库中。
例如,某位学生被某所学校录取,那么该学校必须已经存在学校实体集中;否则,需要先将学校实体集中的信息存到数据库后,才能将该学生的信息插入到数据库中。(被参照实体 先插入)
-
-
用户定义完整性约束
- 用户定义完整性约束则是用户根据具体的数据库应用场景,设置的具体的约束条件,用户定义完整性约束可以反映数据的特殊语义要求。
- 例如,在Student关系中,假设学校在录取学生的时候明确表明每位学生都必要有姓名和年龄信息,则Student关系中的Sname和Sage属性均不能取空值。
其它约束
- 非空约束 not null
- 唯一约束 unique
- 自增长约束 auto_increment
- 默认值约束 default
- 检查约束 check