第5章 数据完整性2.ppt

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

第5章 数据完整性(二) 5.4 使用约束实施数据完整性 5.4.1 主键约束 5.4.2 外键约束 5.4.3 惟一性约束 5.4.4 检查约束 5.4.5 默认约束 5.4.1 主键约束 约束(Constraint)是SQL Server提供的自动保持数据库完整性的一种机制,它定义了可输入表或表的单个列中的数据的限制条件。使用约束优先于使用触发器、规则和默认值。 约束独立于表结构,作为数据库定义部分在CREATE TABLE语句中声明,可以在不改变表结构的基础上,通过ALTER TABLE语句添加或删除。当表被删除时,表所带的所有约束定义也随之被删除。 在SQL Server中有6种约束 主键约束 外键约束 惟一性约束 检查约束 默认约束 非空值约束 其中非空值约束已在第5章中做了详细介绍,本节介绍其他5种约束。 主键 表的一列或几列的组合的值在表中惟一地指定一行记录,这样的一列或多列称为表的主键(Primary Key,PK),通过它可强制表的实体完整性。 主键不允许为空值,且不同两行的键值不能相同。表中可以有不止一个键惟一标识行,每个键都称为侯选键,只可以选一个侯选键作为表的主键,其他侯选键称作备用键。 如果一个表的主键由单列组成,则该主键约束可以定义为该列的列约束。如果主键由两个以上的列组成,则该主键约束必须定义为表约束。 定义列级主键约束的语法格式如下: [CONSTRAINT constraint_name] PRIMARY KEY [CLUSTERED | NONCLUSTERED] 定义表级主键约束的语法格式如下: [CONSTRAINT constraint_name] PRIMARY KEY [CLUSTERED | NONCLUSTERED] (column_name [, … n ] ) 例5-17 在Sales数据库中创建customer表,并声明主键约束。 CREATE TABLE Sales.dbo.customer ( customer_id bigint NOT NULL IDENTITY(0,1) PRIMARY KEY, customer_name varchar(50) NOT NULL, linkman_name char(8), address varchar(50), telephone char(12) NOT NULL ) 例5-17 若定义customer_id列为非聚集主键约束,并指定约束名为PK_customer. CREATE TABLE Sales.dbo.customer ( customer_id bigint NOT NULL IDENTITY(0,1) CONSTRAINT PK_customer PRIMARY KEY NONCLUESTERD, customer_name varchar(50) NOT NULL, linkman_name char(8), address varchar(50), telephone char(12) NOT NULL ) 例5-18 创建一个产品信息表goods1,将产品编号goods_id列声明为主键。 CREATE TABLE goods1 ( goods_id char(6) NOT NULL, goods_name varchar(50) NOT NULL, classification_id char(6) NOT NULL, unit_price money NOT NULL, stock_quantity float NOT NULL, order_quantity float NULL , CONSTRAINT pk_p_id PRIMARY KEY (goods_id) )ON [PRIMARY] 例5-19 根据商品销售的时间和商品类别来确定销售的商品的数量。 CREATE TABLE g_order ( good_type int, order_time datetime, order_num int, CONSTRAINT g_o_key PRIMARY KEY (good_type, order_time) ) 5.4.2 外键约束 外键约束定义了表与表之间的关系。通过将一个表中一列或多列添加到另一个表中,创建两个表之间的连接,这个列就成为第二个表的外键(Foreign Key,FK),即外键是用于建立和加强两个表数据之间的连接的一列或多列,通过它可以实现强制参照完整性约束。 例如,Sales

文档评论(0)

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

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

1亿VIP精品文档

相关文档