Windows Server数据库课件--第05讲 数据库完整性(3学时)new.ppt

Windows Server数据库课件--第05讲 数据库完整性(3学时)new.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
An Introduction to Database System 第五章 数据库完整性 什么是数据库的完整性? 数据的正确性和相容性 防止不合语义的、不正确的数据进入数据库。 例:学生的年龄必须是整数,取值在6-50间; 学生的性别只能是男或女; 学生的学号一定是唯一的; 学生所在的系必须是学校已有的系; 第五章 数据库完整性 完整性约束条件是数据模型的组成部分,约束数据库中数据的语义。 第五章 数据库完整性 5.1 实体完整性 5.2 参照完整性 5.3 用户定义完整性 5.4 完整性约束命名子句 5.5 触发器 5.1 实体完整性 1.实体完整性定义 在CREATE TABLE语句中用PRIMARY KEY定义 码由单字段构成: 定义可以为列级或表级约束; 码由多字段构成: 定义只能为表级约束; 5.1 实体完整性 5.1 实体完整性 [例2]在SC表中定义(Sno,Cno)为主码。 CREATE TABLE SC ( Sno CHAR(5), Cno CHAR(2), Grade SMALLINT, PRIMARY KEY (Sno, Cno) ); 5.1 实体完整性 2.实体完整性检查和违约处理 (1)完整性检查 当用户进行插入记录或修改主码时,DBMS系统自动检查: 检查主码值是否惟一; 检查每个主属性值是否为空。 5.1 实体完整性 2.实体完整性检查和违约处理 (3)检查主码是否惟一的方法 全表扫描 依次判断表中每一个记录的主码值与插入记录的主码值是否一致。 缺点:效率低 利用主码的B+索引 优点:效率高 5.1 实体完整性 第五章 数据库完整性 5.1 实体完整性 5.2 参照完整性 5.3 用户定义完整性 5.4 完整性约束命名子句 5.5 触发器 5.2 参照完整性 1.参照完整性定义 在CREATE TABLE语句中: 用 FOREIGN KEY 短语定义外码列; 用 REFERENCES 短语指明外码参照哪个表的主码。 5.2 参照完整性 [例3]在SC表中的参照完整性。 CREATE TABLE SC (Sno CHAR(8) NOT NULL, Cno CHAR(3) NOT NULL, Grade SMALLINT, PRIMARY KEY (Sno, Cno), FOREIGN KEY (Cno) REFERENCES course(Cno) ON DELETE CASCADE ); 5.2 参照完整性 [例3]在SC表中的参照完整性。 ALTER TABLE SC ADD FOREIGN KEY (SNO) REFERENCES STUDENT(SNO) 5.2 参照完整性 2. 参照完整性检查和违约处理 对被参照表和参照表进行增、删、改操作时进行检查 5.2 参照完整性 当参照完整性不一致时,系统采取以下策略: 拒绝执行(默认策略) 级联操作(CASCADE) 当删除或修改被参照表的一个元组造成与参照表不一致时,则删除或修改参照表中所有不一致的元组。 设置为空(SET-NULL) 当删除或修改被参照表的一个元组造成与参照表不一致时,则将参照表中所有造成不一致的元组对应属性置空。 5.2 参照完整性 例:要删除Student关系中Sno=950001的元组,而SC关系中有4个元组的Sno都等于950001。 第五章 数据库完整性 5.1 实体完整性 5.2 参照完整性 5.3 用户定义完整性 5.4 完整性约束命名子句 5.5 触发器 5.3 用户定义的完整性 5.3 用户定义的完整性 5.3 用户定义的完整性 5.3 用户定义的完整性 5.3 用户定义的完整性 5.3 用户定义的完整性 5.3 用户定义的完整性 5.3 用户定义的完整性 5.3 用户定义的完整性 5.3 用户定义的完整性 第五章 数据库完整性 5.1 实体完整性 5.2 参照完整性 5.3 用户定义完整性 5.4 完整性约束命名子句 5.5 触发器 5.4 完整性约束命名子句 5.4 完整性约束命名子句 第五章 数据库完整性 5.1 实体完整性 5.2 参照完整性 5.3 用户定义完整性 5.4 完整性约束命名子句

您可能关注的文档

文档评论(0)

0520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档