SQL数据完整性主键,外键,unique,check,primary,.ppt

SQL数据完整性主键,外键,unique,check,primary,.ppt

  1. 1、本文档共63页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Microsoft SQL Server 2005 Lecture 4 数据完整性 ------------------------------------------------------- 目标要求: 理解数据完整性的概念、种类和作用,熟悉数据完整性的实现方法。 会进行实体完整性、域完整性、参照完整性进行控制。(主键外键约束创建管理) 理解索引的概念、种类和作用,掌握索引创建、管理方法(SSMS、SQL语句)。 数据完整性 在SQL Server 2005中,根据数据完整措施所作用的数据库对象和范围不同,可以将数据完整性分为以下几种: 1、实体完整性(主键、唯一性约束) 2、参照完整性(外键约束) 3、域完整性(check、默认值约束) 4、用户定义的完整性 主键(PRIMARY KEY)约束 主键约束使用数据表中的一列数据或者多列数据来唯一的标识一行数据。也就是说,在数据表中不能存在主键相同的两行数据,而且主键约束下的列不能为空(NULL),在创建表时,最好每个数据表都拥有自己唯一的主键,主键也可以由几个列组合成。每个表只能有一个主键。 不能定义TEXT或IMAGE数据类型的字段列为主键。 SSMS创建主键的步骤 ① 在创建表结构的时候,选定列名或列名组合(shift键),在所选列上右击弹出相应菜单,如右图所示。 ②单击有钥匙图标的菜单项。 ③创建成功后该列名前出现一个小钥匙形状的图标如右图所示。 创建表时定义主键 向已有表中添加主键 外键(Foreign Key)约束 外键约束 外键约束 在创建表时定义外键约束 在创建表时定义外键约束 级联更新、删除 添加和删除外键约束 SSMS设置外键约束 SSMS设置外键约束 SSMS设置外键约束 外键约束的作用 修改父表主键时检查 删除父表记录时检查 在子表中插入数据时检查(外键) 参照完整性(外键约束) 参照完整性是指两个表的主关键字(PRIMARY KEY)和外关键字(FOREIGN KEY)的数据要对应一致。它确保了有主关键字的表中对应其它表的外关键字的行存在,即保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散。 参照完整性是建立在外关键字和主关键字之上的。这样的一致性要求不能引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的更改。在被参照表(主表)中,当其主键值被其他表所参照时,该行不能被删除也不允许改变。在参照表(从表)中,不允许参照不存在的主键值。 唯一性(UNIQUE)约束 可以使用 UNIQUE 约束确保在非主键列中不输入重复的值。尽管 UNIQUE 约束和 PRIMARY KEY 约束都强制唯一性,但想要强制一列或多列组合(不是主键)的唯一性时应使用 UNIQUE 约束而不是 PRIMARY KEY 约束。 可以对一个表定义多个 UNIQUE 约束,但只能定义一个 PRIMARY KEY 约束。 而且,UNIQUE 约束允许 NULL 值,这一点与 PRIMARY KEY 约束不同。不过,当与参与 UNIQUE 约束的任何值一起使用时,每列只允许一个空值。 FOREIGN KEY 约束可以引用 UNIQUE 约束。 唯一性约束 创建表时,可以创建 UNIQUE 约束作为表定义的一部分。如果表已经存在,可以添加 UNIQUE 约束(假设组成 UNIQUE 约束的列或列组合仅包含唯一的值)。一个表可含有多个 UNIQUE 约束。 若要修改 UNIQUE 约束,必须首先删除现有的 UNIQUE 约束,然后用新定义重新创建。 默认情况下,向表中的现有列添加 UNIQUE 约束后,SQL Server 2005 Database Engine?将检查列中的现有数据,以确保所有值都是唯一的。如果向含有重复值的列添加 UNIQUE 约束,数据库引擎?将返回错误消息,并且不添加约束。 除非显式指定了聚集索引,否则,默认情况下将创建唯一的非聚集索引以强制执行 UNIQUE 约束。 创建表时创建UNIQUE约束 创建表结束后添加、删除UNIQUE约束 SSMS创建惟一约束 右击表名称,选择快捷菜单中的“设计”,进入表结构修改状态。单击工具栏处“管理索引和键”按钮,进入惟一约束设置界面,单击添加按钮,定义类型为“唯一键”选定惟一约束的列,为惟一约束定义标识名,完成后关闭窗体。 默认值约束 如果插入行时没有为列指定值,默认值则指定列中使用什么值。默认值可以是计算结果为常量的任何值,例如常量、内置函数或数学表达式。 若要应用默认值,可以通过在 CREATE TABLE 中使用 DEFAULT 关

文档评论(0)

187****5045 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档