数据库第6章概要.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库第6章概要

第 六 章 数据库完整性 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 参照完整性检查和违约处理 因为多表连接,所以可能破坏完整性约束,所以在更新时必须进行检查。 6.3 用户定义的完整性 对语义上的要求 6.3.2 属性上的约束条件检查和违约处理 拒绝操作 6.4 完整性约束命名子句 1、语法:CONSTRAINT 约束名[primary key|foreign key|check] 2、改变完整性约束 alter table 表名 drop/add constraint 约束名[check 布尔表达式] Create table sc( Sno char(7) not null constraint c1 foreign key references student(sno), On delete cascade,//当删除student 表中的元组时,级联删 除sc中相应的元组 On update cascade, Cno char(4) not null constraint c2 foreign key references course(cno), On delete reject, On update cascade, Primary key(sno,cno), ) 6.3.1 属性上的约束条件的定义 列值非空(NOT NULL) 列值唯一(UNIQUE) 布尔表达式(CHECK) 举例 6.3.3 元组上的约束条件的定义 CREATE TABLE STUDENT (SNO CHAR(7), SNAME CHAR(8) NOT NULL, SSEX CHAR(2), PRIMARY KEY (SNO), CHECK(SSEX=‘女’OR SSNAME NOT LIKE ‘MS.%’) ) 郑州轻工业学院软件职业技术学院 1-* 数据库原理 1 郑州轻工业学院软件职业技术学院 什么是数据库的完整性 数据的正确性和相容性 防止不合语义的数据进入数据库。 例: 学生的年龄必须是整数,取值范围为14--29; 学生的性别只能是男或女; 学生的学号一定是唯一的; 学生所在的系必须是学校开设的系; 完整性:否真实地反映现实世界 完整性控制机制 1.完整性约束条件定义机制 2.完整性检查机制 3.违约反应 全部由RDBMS执行 完整性约束条件定义 完整性约束条件:数据模型的组成部分约束数据库中数据的语义 DBMS应提供定义数据库完整性约束条件,并把它们作为模式的一部分存入数据库中 完整性检查机制 检查用户发出的操作请求是否违背了完整性约束条件。 违约反应 如果发现用户的操作请求使数据违背了完整性约束 条件,则采取一定的动作来保证数据的完整性。 违反实体完整性规则的操作: 一般是拒绝执行 可能破坏参照完整性的情况及违约情况 被参照表(例如 student) 参照表(例如 SC) 违约处理 可能破坏参照完整性 可能破坏参照完整性 删除元组 修改主码值 插入元组 修改外码值 可能破坏参照完整性 可能破坏参照完整性 拒绝 拒绝 拒绝/级联删除/设置为空值 拒绝/级联删除/设置为空值 违反参照完整性的操作: 拒绝执行 接受这个操作,同时执行一些附加的操作,以保证数据库的状态正确 违约处理: 1、拒绝(默认) 2、级联操作 3、设置为空值 RDBMS实现参照完整性时需要考虑以下4方面: 1. 外码是否可以接受空值的问题 外码是否能够取空值:依赖于应用环境的语义 实现参照完整性: 系统提供定义外码的机制 定义外码列是否允许空值的机制 1. 外码是否可以接受空值的问题 例1:在职工-部门数据库中, E

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档