数据库完整性:实体、参照与用户定义的完整性

需积分: 31 1 下载量 162 浏览量 更新于2024-07-30 收藏 448KB PPT 举报
"数据库完整性是确保数据库中数据的正确性和相容性的关键概念,它与数据安全性不同,后者关注防止非法访问和恶意破坏。数据库完整性包括实体完整性、参照完整性和用户定义的完整性,以及通过完整性约束命名字句、域中的完整性限制和触发器等手段来维护。实体完整性主要涉及表的主键,确保每个记录都有唯一的标识符。" 数据库完整性是数据库设计的核心部分,它的目标是防止数据库中存储不正确或不合语义的数据。这与数据安全性不同,数据安全性关注的是保护数据库免受非法用户和操作的侵害。为了维护数据库完整性,数据库管理系统(DBMS)需要具备定义完整性约束条件的能力,执行完整性检查,并在违反这些约束时采取违约处理。 实体完整性是保证关系数据库中每个实体(记录)都有唯一标识的一组规则。在关系模型中,通常通过定义 PRIMARY KEY 来实现。单属性构成的码可以作为列级约束条件或表级约束条件来声明,而多属性构成的码只能作为表级约束条件。例如,在创建一个名为 Student 的表时,可以将属性 Sno 定义为 PRIMARY KEY,确保每个学生都有唯一的学号。 参照完整性则涉及到表之间的关系,确保引用的外键存在于被引用表的主键中,避免出现悬空引用。这有助于保持数据的一致性,防止数据丢失或损坏。用户定义的完整性则是根据具体业务需求定义的额外约束,比如某些字段的值范围、唯一性等。 此外,DBMS 还提供了完整性约束命名字句,如 CHECK 约束,用于定义特定列的值必须满足的条件。域中的完整性限制则关注特定数据类型的约束,如长度、数值范围等。触发器是一种自动执行的程序,当特定的数据库事件发生时(如插入、更新或删除),会检查并可能修改相关数据,以确保数据的完整性。 总结来说,数据库完整性是确保数据准确无误的重要机制,通过多种方式来实现,包括定义和检查完整性约束、违约处理、使用触发器等,从而保证数据库在各种操作下都能保持其正确性和一致性。