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

第6章实现数据完整性.ppt

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

第六章 实现SQL server 2000数据完整性 数据完整性就是指存储在数据库中的数据正确性和相关数据具有一致性。例如在学生表中学号要具有唯一性,数据库的完整关系到否能真实反映现实世界,因此十分重要。 数据完整性可分实体完整性、域完整性、参照完整性和用户定义完整性(4种)类型。 1.实体完整性 实体是指表中的纪录,一个实体就是表中的一条纪录。完整性要求在表中不能存在完全相同的纪录,而且每条记录都要具有一个非空且不重复的主键值。这样就能保证事物的唯一性。 实体完整性将行定义为特定表的唯一实体。实体完整性强制表的标识符列或主键的完整性(通过惟一索引、惟一(UNIQUE)约束、主键(PRIMARY KEY)约束和IDENTITY 属性)。 2.域完整性 域完整性也可称为列完整性,是指给定列的输入有效性的验证限制。强制域有效性的方法有:限制类型(通过数据类型)、格式(通过 CHECK 约束和规则)或有效数据的范围(通过 FOREIGN KEY(外键)约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义和规则)。 3.引用(参照)完整性 参照完整性又称为引用完整性。参照完整性是指作用于有关联的两个或两个以上的表,通过使用主键和外键或主键和唯一键之间的关系,使表中的键值在相关表中保持一致。在输入或删除记录时,引用完整性保持表之间已定义的关系。引用完整性基于外键与主键之间或外键与唯一键之间的关系(通过 FOREIGN KEY 和 CHECK 约束)。引用完整性确保键值在所有表中一致。这样的一致性要求不能引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的更改。 4.用户定义完整性 用户定义完整性是应用领域需要遵守的约束条件,允许用户定义不属于其它任何完整性分类的特定业务规则。所有的完整性类型都支持用户定义完整性(CREATE TABLE 中的所有列级和表级约束、存储过程和触发器)。 6.2 约束的类型 约束是SQL Server提供的自动强制数据完整性的一种方法,它是通过定义列的取值规则来维护数据的完整性。约束定义关于列中允许值的规则,是强制完整性的标准机制。使用约束优先于使用触发器、规则和默认值。常用的约束有主键、UNIQUE(惟一)、CHECK(检查)、 FOREIGN KEY(外键)、DEFAULT(默认)约束。 1.PRIMARY KEY(主键)约束 表中经常有一个列或列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义 PRIMARY KEY 约束来创建主键。 一个表只能有一个 PRIMARY KEY 约束,而且 PRIMARY KEY 约束中的列不能接受空值。由于 PRIMARY KEY 约束确保唯一数据,所以经常用来定义标识列。 当为表指定 PRIMARY KEY 约束时,SQL 通过为主键列创建唯一索引强制数据的唯一性。当在查询中使用主键时,该索引还可用来对数据进行快速访问。 如果 PRIMARY KEY 约束定义在不止一列上,则一列中的值可以重复,但 PRIMARY KEY 约束定义中的所有列的组合的值必须唯一。 2.UNIQUE(惟一)约束 可使用 UNIQUE 约束确保在非主键列中不允许输入重复值。尽管 UNIQUE 约束和 PRIMARY KEY约束都强制唯一性,但在强制下面的唯一性时应使用 UNIQUE 约束而不是 PRIMARY KEY 约束: 特点: (1)非主键的一列或多列组合。 一个表可以定义多个 UNIQUE 约束,而只能定义一个 PRIMARY KEY 约束。 (2)允许空值的列。 允许空值的列上可以定义 UNIQUE 约束,而不能定义 PRIMARY KEY 约束。 FOREIGN KEY 约束也可引用 UNIQUE 约束。 3.CHECK(检查)约束 CHECK 约束通过限制输入到列中的值来强制域的完整性。这与 FOREIGN KEY 约束控制列中数值相似。区别在于它们如何判断哪些值有效:FOREIGN KEY 约束从另一个表中获得有效数值列表,CHECK 约束从逻辑表达式判断而非基于其它列的数据。 例如,通过创建 CHECK 约束可将 salary 列的取值范围限制在 $15,000 至 $100,000 之间,从而防止输入的薪金值超出正常的薪金范围。逻辑表达式为: salary = 15000 AND salary = 100000 4.DEFAULT(

文档评论(0)

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

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

1亿VIP精品文档

相关文档