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

《网络数据库开发技术》全套PPT电子课件教案-第8章 SQL SERVER的完整性控制参考.ppt

《网络数据库开发技术》全套PPT电子课件教案-第8章 SQL SERVER的完整性控制参考.ppt

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

第8章 SQL SERVER的完整性控制 8.1 SQL SERVER完整性概述 8.2 约束 8.3 规则 8.4 默认值 8.5 标识列 主要内容: 本章从约束,规则,默认值,标识列几方面介绍数据库完整性控制的实现方法。 8.1 SQL SERVER完整性概述 数据库中的数据是从外界输入的,而数据的输入由于种种原因,会发生输入无效或错误的信息。保证数据符合规定,成了数据库系统关注的问题,数据完整性因此而提出。 8.1.1 完整性分类 1实体完整性 2域完整性 3参照完整性 实体完整性 实体完整性将行定义为特定表的惟一实体。实体完整性强制表的标识符列或主键的完整性(通过索引、UNIQUE 约束、PRIMARY KEY 约束或 IDENTITY 属性)。? 域完整性 域完整性是指给定列的输入有效性。强制域有效性的方法有:限制类型(通过数据类型)、格式(通过 CHECK 约束和规则)或可能值的范围(通过 FOREIGN KEY 约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义和规则)。 参照完整性 在输入或删除记录时,参照完整性保持表之间已定义的关系。在SQL Server 2000 中,参照完整性基于外键与主键之间或外键与惟一键之间的关系(通过 FOREIGN KEY 和 CHECK 约束)。参照完整性确保键值在所有表中一致。这样的一致性要求不能引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的更改。 8.1.2 数据库完整性的实现机制 SQL SERVER中实现数据库完整性的机制主要有:约束、规则、默认值、标识列、数据类型、索引、触发器和存储过程。 8.2 约束 1 主键(PRIMARY KEY)约束 2 外键(FOREIGN KEY)约束 3 CHECK约束 4 惟一( UNIQUE) 约束 1 主键(PRIMARY KEY)约束 PRIMARY KEY 约束标识列或列集,这些列或列集的值惟一地标识表中的行。 在一个表中,不能有两行包含相同的主键值。不能在主键内的任何列中输入 NULL 值。在数据库中 NULL 是特殊值,代表不同于空白和 0 值的未知值。建议使用一个小的整数列作为主键。每个表都应有一个主键。 一个表中可以有一个以上的列组合,这些组合能惟一标识表中的行,每个组合就是一个候选键。数据库管理员从候选键中选择一个作为主键。 【例1】在part_sample表中,part_nmbr和part_name都可以是候选键,但是只将 part_nmbr 选作主键。 create table part_sample (part_nmbr int primary key, part_name char(30), part_weight decimal(6,2), part_color char(15) ) 2 外键(FOREIGN KEY)约束 FOREIGN KEY 约束标识表之间的关系。 一个表的外键指向另一个表的候选键。当外键值没有候选键时,外键可防止操作保留带外键值的行。 【例2】order_part表建立一个外键引用前面定义的part_sample表。通常情况下,order_part 在order表上也有一个外键,下面只不过是一个简单示例。 create table order_part (order_nmbr int, part_nmbr int foreign key references part_sample(part_nmbr) on delete no action, qty_ordered int) go 如果一个外键值没有候选键,则不能插入带该值(NULL 除外)的行。如果尝试删除现有外键指向的行,ON DELETE 子句将控制所采取的操作。ON DELETE 子句有两个选项: ? NO ACTION 指定删除因错误而失败。 ??CASCADE 指定还将删除包含指向已删除行的外键的所有行。 如果尝试更新现有外键指向的候选键值,ON UPDATE 子句将定义所采取的操作。它也支持NO ACTION和CASCADE选项。 3 CHECK约束 CHECK约束对可以放入列中的值进行限制,以强制执行域的完整性。 CHECK约束指定应用于列中输入的所有值的布尔(取值为TRUE或FALSE)搜索条件,拒绝所有不为TRUE的值。可以为每列指定多个CHECK约束。 【例3】显示名为chk_id约束的创建,该约束确保只对此关键字输入指定

文档评论(0)

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

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

1亿VIP精品文档

相关文档