数据库完整性
数据库的完整性是指数据的正确性和相容性。正确性:数据是符合现实中语义的;相容性:不同关系中的事物(数据)是不相矛盾的->拥有完整性。
为了保护数据库的完整性,必须:
- 制订完整性约束条件:及数据必须满足的语义约束条件,包括实体完整性、参照完整性、用户自定义的完整性
- 提供完整性检查方法
- 违约处理:拒绝、级连
实体完整性(针对主码)
实体完整性的表现:
- 主键PRIMARY KEY
- 表级约束,列级约束(注意:主码由多个属性构成时,只能写成表级约束)
实体完整性检查:插入或对主码列进行更新时
- 主码是否唯一?否则拒绝插入和修改。
方法:(1)全表扫描(耗时长)(2)在主码上建立索引 - 主码个属性是否为空?为空则拒绝操作。
参照完整性(针对外键)
参照完整性的表现:
- 外码FOREIGN KEY
- REFERENCES指出外码参照哪些表的主码
例:FOREIGN KEY (Sno) REFERENCES Student(Sno) </