第8章数据完整性题稿.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.3 使用约束实施数据完整性 8.3.2 外键约束 外键约束定义了表与表之间的关系。通过将一个表中一列或多列添加到另一个表中,创建两个表之间的连接,这个列就成为第二个表的外键(Foreign Key,FK),即外键是用于建立和加强两个表数据之间的连接的一列或多列,通过它可以强制参照完整性。 当一个表中的一列或多列的组合和其他表中的主键定义相同时,就可以将这些列或列的组合定义为外键,并设定与它关联的表或列。这样,当向具有外键的表插入数据时,如果与之相关联的表的列中没有与插入的外键列值相同的值时,系统会拒绝插入数据。 8.1 使用规则实 施数据完整 性 8.2 使用默认值 实施数据完 整性 8.3 使用约束实 施数据完整 性 8.3 使用约束实施数据完整性 8.3.2 外键约束 定义表级外键约束的语法格式如下: [CONSTRAINT constraint_name] FOREIGN KEY (column_name [,…n ]) REFERENCES ref_table [(ref_column [,…n] )] [ ON DELETE { CASCADE|NO ACTION } ] [ ON UPDATE { CASCADE|NO ACTION } ] ] [ NOT FOR REPLICATION ] 定义列级外键约束的语法格式如下: [CONSTRAINT constraint_name] [FOREIGN KEY] REFERENCES ref_table [ NOT FOR REPLICATION ] 8.1 使用规则实 施数据完整 性 8.2 使用默认值 实施数据完 整性 8.3 使用约束实 施数据完整 性 8.3 使用约束实施数据完整性 8.3.2 外键约束 8.1 使用规则实 施数据完整 性 8.2 使用默认值 实施数据完 整性 8.3 使用约束实 施数据完整 性 【例8-20】 创建一个订货表sell_order1,与例8-18创建的产品表goods1相关联。 CREATE TABLE sell_order1 ( order_id1 char(6) NOT NULL, goods_id char(6) NOT NULL, employee_id char(4) NOT NULL, customer_id char(4)NOT NULL, transporter_id char(4)NOT NULL, order_num float NULL, discount float NULL, order_date datetime NOT NULL, send_date datetime NULL, arrival_date datetime NULL, cost money NULL, CONSTRAINT pk_order_id PRIMARY KEY (order_id1), FOREIGN KEY (goods_id)REFERENCES goods1(goods_id) ) 8.3 使用约束实施数据完整性 8.3.3 唯一性约束 唯一性(unique)约束指定一个或多个列的组合的值具有唯一性,以防止在列中输入重复的值,为表中的一列或者多列提供实体完整性。唯一性约束指定的列可以有NULL属性。主键也强制执行唯一性,但主键不允许空值,故主键约束强度大于唯一约束。因此主键列不能再设定唯一性约束。 定义列级唯一性约束的语法格式如下: [CONSTRAINT constraint_name] UNIQUE [CLUSTERED|NONCLUSTERED] 8.1 使用规则实 施数据完整 性 8.2 使用默认值 实施数据完 整性 8.3 使用约束实 施数据完整 性 8.3 使用约束实施数据完整性 8.3.3 唯一性约束 唯一性约束应用于多列时的定义格式如下: [CONSTRAINT constraint_name] UNIQUE [CLUSTERED|NONCLUSTERED] (column_name [,…n ]) 参数的含义与主键约束的参数含义相同。 唯一性约束与主键约束的区别如下: (1)唯一性约束用于非主键的一列或列组合。 (2)一个表可定义多个唯一性约束,只能定义一个主键约束。 (3)唯一

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档