网站大量收购独家精品文档,联系QQ:2885784924

第13章数据完整性(新)概述.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第13章 数据完整性 13.1 数据完整性概念 13.2 数据约束 13.3 缺省与规则 13.4 约束与缺省、规则比较 13.1 数据完整性概念 DBMS维护数据库完整性的机制: 1.提供定义完整性约束条件的机制 DBMS应提供定义数据库完整性约束条件,并把它们存入数据库中。 2.提供完整性检查的方法 检查数据是否满足完整性约束条件的机制称为完整性检查。一般在INSERT、UPDATE、DELETE语句执行后开始检查。 3.违约处理 DBMS若发现用户的操作违背了完整性约束条件,就采取一定的动作以保证数据的完整性,如拒绝执行该操作,或级联执行其他操作。 数据的完整性和安全性 数据的完整性和安全性是两个不同概念 数据的完整性 防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据 防范对象:不合语义的、不正确的数据 数据的安全性 保护数据库防止恶意的破坏和非法的存取 防范对象:非法用户和非法操作 完整性类型 13.1.1 实体完整性 13.1.2 参照完整性 13.1.3 用户定义完整性 SQL完整性组件 13.1.1 实体完整性 规则 检查和违约处理 SQL Server实现实体完整性的组件 实体完整性规则 规则1 实体完整性规则(Entity Integrity) 若属性A是基本关系R的主属性,则属性A不能取空值。 例1:单列 SAP (SUPERVISOR, SPECIALITY, POSTGRADUATE) POSTGRADUATE:主码(假设研究生不会重名)不能取空值 例2:多列 SC(S#,C#,GRADE) 属性S#和C#都不能取空。 实体完整性说明 (1) 实体完整性规则是针对基本关系而言的。一个基本表通常对应现实世界的一个实体集。 (2) 现实世界中的实体是可区分的,即它们具有某种唯一性标识。 (3) 关系模型中以主码作为唯一性标识。 (4) 主码中的属性即主属性不能取空值。 主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,这与第(2)点相矛盾,因此这个规则称为实体完整性 实体完整性检查和违约处理 插入或对主码列进行更新操作时,DBMS按照实体完整性规则自动进行检查。包括: 1. 检查主码值是否唯一,如果不唯一则拒绝插入或修改 2. 检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改 实体完整性检查和违约处理(续) 检查记录中主码值是否唯一的一种方法是进行全表扫描 实体完整性检查和违约处理(续) 在索引中检查是否唯一。 SQL完整性组件 SQL Server实现实体完整性的组件 索引:聚集索引 Unique约束:定义非空的唯一约束 Primary约束:主键约束 Identity属性:自动增加 Identity属性 语法 IDENTITY [ (seed , increment) ] seed :加载到表中的第一个行所使用的值。 increment :与前一个加载的行的标识值相加的增量值。 必须同时指定种子和增量,或者二者都不指定。 如果二者都未指定,则取默认值 (1,1) 举例 CREATE TABLE new_employees ( id_num int IDENTITY (1,1), fname varchar (20), minit char(1), lname varchar(30) ); 13.1.2 参照完整性 关系间的引用 外码 参照完整性规则 1. 关系间的引用 在关系模型中实体及实体间的联系都是用关系来描述的,因此可能存在着关系与关系间的引用。 例1 学生实体、专业实体   学生(学号,姓名,性别,专业号,年龄)   专业(专业号,专业名) 关系间的引用(续) 例2 学生、课程、学生与课程之间的多对多联系 学生(学号,姓名,性别,专业号,年龄) 课程(课程号,课程名,学分) 选修(学号,课程号,成绩) 关系间的引用(续) 例3 学生实体及其内部的一对多联系 学生(学号,姓名,性别,专业号,年龄,班长) 2.外码(Foreign Key) 设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码 基本关系R称为参照关系(Referencing Relation) 基本关系S称为被参照关系(Referenced Relation) 或目标关系(Target Relation) 外码(续) [例1]:学生关系的“专业号与专业关系的主码“专业号”相对应 “专业号”属性是学生关系的外码 专业关系是被参照关系,学生关系为参照关系 外码(续) [例2]:

文档评论(0)

花仙子 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档