数据库系统及应用-数据库完整性.ppt

想预览更多内容,点击预览全文

申明敬告:

本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己完全接受本站规则且自行承担所有风险,本站不退款、不进行额外附加服务;如果您已付费下载过本站文档,您可以点击这里二次下载

文档介绍

1-* 数据库原理 1 数 据 库 完 整 性 什么是数据库的完整性 数据的正确性和相容性 防止不合语义的数据进入数据库。 例: 学生的年龄必须是整数,取值范围为14--29; 学生的性别只能是男或女; 学生的学号一定是唯一的; 学生所在的系必须是学校开设的系; 完整性:否真实地反映现实世界 完整性控制机制 1.完整性约束条件定义机制 2.完整性检查机制 3.违约反应 全部由RDBMS执行 完整性约束条件定义 完整性约束条件:数据模型的组成部分约束数据库中数据的语义 DBMS应提供定义数据库完整性约束条件,并把它们作为模式的一部分存入数据库中 完整性检查机制 检查用户发出的操作请求是否违背了完整性约束条件。 违约反应 如果发现用户的操作请求使数据违背了完整性约束 条件,则采取一定的动作来保证数据的完整性。 6.1 实体完整性 6.1.1 定义 主键约束 单属性:列级约束、表级约束 多属性:表级约束 6.1.2 实体完整性检查和违约处理 更新操作检查实体完整性 1、是否唯一 2、是否空值 原来:遍历全表 现在:B+树索引 违反实体完整性规则的操作: 一般是拒绝执行 6.2 参照完整性 6.2.1 定义 只能定义成列级约束(foreign key) Create table sc( Sno char(7) not null constraint c1 foreign key references student(sno), Cno char(4) not null constraint c2 foreign key references course(sno), Primary key(sno,cno) ) 6.2.2 参照完整性检查和违约处理 因为多表连接,所以可能破坏完整性约束,所以在更新时必须进行检查。 可能破坏参照完整性的情况及违约情况 被参照表(例如 student)

最近下载