欢迎来到天天文库
浏览记录
ID:43195711
大小:298.00 KB
页数:31页
时间:2019-10-02
《sql server 2005教程 第12章 约束》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第12章约束在数据库的设计和管理的过程中,维护数据完整性是一项重要的工作。数据完整性关系到数据库中数据的精确性、可用性。本章将详细介绍数据库的完整性含义和实现数据完整性的方式,即定义约束的具体操作。12.1约束概述在数据库管理系统中,保证数据库中的数据完整性是非常重要的。数据完整性,是指存储在数据库中数据的一致性、正确性、精确性和可用性。约束是SQLServer2005数据库实现数据的强制完整性的标准机制。本节将对约束的概念做一说明。12.1.1数据完整性数据完整性对于数据管理信息系统是十分重要,因为数据的完整,是用户使用和管理数据库的基础。完整的数据,为客户提供可用的数据服
2、务。数据完整性,主要是指数据的一致性和正确性。在SQLServer2005数据库中,根据数据完整性涉及方式的不同,它所作用的数据库对象和范围也不同,可以将数据完整性分为实体完整性、域完整性和引用完整性,(具体内容请参照书。)12.1.2约束的概念和类型约束是实现强制数据完整的ANSI标准的方法,是SQLServer2005数据库实现强制数据完整性的重要方式。约束确保合法的数据值存入数据列中,并满足表间的约束关系。SQLServer2005提供了下列机制,以强制数据的完整性,(具体内容请参照书。)12.2设计约束本节将讲述约束的设置和具体的操作。这包括使用SQLServerMa
3、nagementStudio工具建立主键约束、外键约束、UNIQUE约束、默认值等,通过本节的讲述,用户可以深入理解约束的使用,并可以对数据进行强制完整性的基础维护。12.2.1定义约束的方式定义约束的方式有许多种,指定PRIMARYKEY、FOREIGNKEY、UNIQUE或CHECK等约束,可以使用ALTERTABLE添加到表中的新列定义中;也可以使用SQLServerManagementStudio图形工具为数据列、表增加约束。用户可以使用SQLServerManagementStudio工具定义约束,也可以通过T-SQL脚本实现约束的创建和修改删除等工作。12.2.2
4、定义约束的语法结构。指定PRIMARYKEY、FOREIGNKEY、UNIQUE或CHECK约束的属性,可以通过ALTERTABLE的语句添加到表中的定义,这种方式也可以在CREATETABLE操作的同时实现。以下为CREATETABLE和ALTERTABLE时进行约整定义的语法结构。12.3主键约束一般在SQLServer2005数据库中,保存数据的表都要设置主键。设置完主键约束的数据表将符合两项数据完整性规则:一是列不允许有空值,即指定的PRIMARYKEY约束,将数据列隐式转换为NOTNULL约束。二是不能有重复的值。如果对具有重复值或允许有空值的列添加PRIMARYK
5、EY约束,则数据库引擎将返回一个错误并且不添加约束。12.3.1一个主键约束的示例。示例:在AdventureWorks数据库中,几乎所有的数据表都有主键约束,可以通过以下步骤查看示例数据库中dbo.DatabaseLog数据表的主键约束。(具体内容请参照书。)12.3.2使用表设计器定义主键约束。用户可以使用SQLServerManagementStudio工具为数据表建立主键约束,使用表设计器建立主键约束的过程如下。(具体内容请参照书。)12.3.3使用T-SQL定义主键约束。示例:以下示例在CREATETABLE语句中,使用PRIMARYKEYNONCLUSTERED关
6、键字为数据表定义非聚集的主键约束。(具体内容请参照书。)12.4外键约束外键是用于建立和加强两个表数据之间关系的约束,它链接两表的一列或多列。通过将数据表中主键值的列添加到另一个数据表中,可创建两个表之间的关系。这个主键列就成为第二个表的外键。一般表现为两个数据表中,一张数据表的某一列的所有值,全部取自另外一张表的主键值。外键关系特性是关系型数据库二维表间关系的最重要的组成之一。12.4.1一个外键约束的示例。在AdventureWorks数据库中,许多数据表都有外键约束,可以通过以下步骤查看示例数据库中Production.Product数据表的外键约束。(具体内容请参照书
7、。)12.4.2使用表设计器定义外键约束。用户可以使用表设计器定义外键约束,具体的操作可以参考如下步骤实现。(具体内容请参照书。)12.4.3使用T-SQL定义外键约束。示例:以下示例在ALTERTABLE语句中,使用FOREIGNKEY([employeeid])REFERENCES[dbo].[new_employees]([id_num])为数据表增加外键约束,(具体内容请参照书。)12.5UNIQUE约束UNIQUE约束是指表中的任何两行都不能有相同的列值。主键也强制实施唯一性,但主键不允许NU
此文档下载收益归作者所有