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

版权申诉
0 下载量 98 浏览量 更新于2024-07-03 收藏 571KB PPT 举报
"数据库系统概论第五章数据库的完整性 PPT课件.ppt" 数据库完整性是数据库管理系统(DBMS)中的一个核心概念,它确保了存储在数据库中的数据的正确性和相容性。与数据安全性不同,数据完整性关注的是防止数据库中出现不正确或不合语义的数据,而数据安全性则侧重于防止非法用户和非法操作对数据库的恶意破坏和非法访问。 为了维护数据库完整性,DBMS提供了几个关键功能: 1. 完整性约束条件的定义机制:这允许数据库设计者设定规则,规定哪些数据是合法的,以及哪些行为是允许的。 2. 完整性检查方法:DBMS会定期或在特定操作时检查数据,以确保其符合预设的完整性约束。 3. 违约处理:当数据违反完整性约束时,DBMS会采取相应的行动,如拒绝操作、自动修正数据或通知用户。 本课程的第五章详细阐述了数据库完整性的几个主要方面: 1. 实体完整性:这是针对关系数据库中最基本的完整性规则,确保了表中的每条记录都有唯一标识。实体完整性通常通过定义主键来实现,主键是表中一个或多个列的组合,它们的值在所有记录中都是唯一的。可以将主键作为列级约束或表级约束来定义,对于由多个属性组成的码,只能作为表级约束。 例如,在创建名为`Student`的表时,可以将`Sno`列定义为主键,以确保每个学生的编号都是唯一的,如以下SQL语句所示: ```sql CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) NOT NULL, Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) ); ``` 在这个例子中,`Sno`属性被定义为列级约束,作为表`Student`的主键。 2. 参照完整性:保证了表之间的引用一致性,即当一个表引用另一个表的主键时,引用的值必须在被引用表的主键中存在。 3. 用户定义的完整性:允许用户根据业务需求定义额外的完整性约束,比如限制某些字段的值范围或确保特定字段的值依赖于其他字段。 4. 完整性约束命名子句:用于指定完整性约束的名称,便于管理和调试。 5. 域中的完整性限制:限制特定列的值,例如类型、长度、范围等。 6. 触发器:是一种数据库对象,可以在特定事件(如插入、更新或删除)发生时自动执行,常用于强制更复杂的完整性规则。 总结起来,数据库完整性是保证数据准确无误和业务逻辑正确执行的关键因素。通过各种约束和机制,DBMS能够有效地防止不正确的数据输入,并在数据不符合规定时采取适当的措施,从而保护了数据的完整性和系统的稳定性。