sql server数据完整性和约束

sql server数据完整性和约束

ID:5984496

大小:27.00 KB

页数:6页

时间:2017-12-30

sql server数据完整性和约束_第1页
sql server数据完整性和约束_第2页
sql server数据完整性和约束_第3页
sql server数据完整性和约束_第4页
sql server数据完整性和约束_第5页
资源描述:

《sql server数据完整性和约束》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、SQLSERVER数据完整性和约束  【摘要】所谓数据完整性,实际上是衡量数据库中数据质量好坏的一种标志,是确保数据库中数据一致,正确以及符合企业规则的一种思想,本文以详细的文字来介绍了什么是数据完整性及约束,以及如何在数据库建设中应用和使用这些约束。【关键词】SQLServer;约束;数据完整性;一致性在数据库管理系统中,保证数据库中的数据完整性是非常重要的。所谓数据完整性,就是指存储在数据库的表中数据的一致性和正确性。约束定义关于列中允许值的规则,是强制完整性的标准机制,对输入数据的取值范围和格式的限制称为约束。约束是用来保证数据完整性的。在SQLSe

2、rver中有6种常设约束:空置约束(NULL)、唯一性约束(uniqueconstraint)、主键约束(primarykeyconstraint)、外键约束(foreignkeyconstraint)、检查约束(checkconstraint)、缺省约束(defaultconstraint)。一、SQLServer的数据完整性存储在数据库中的所有数据值均属正确的状态。如果数据库中存储有不正确的数据值,则该数据库称为已丧失数据完整性。6强制数据完整性可确保数据库中的数据质量。例如,如果有一“教学管理数据库”,学生表中学号一项输入了值为20110101的学生

3、,那么该数据库不应允许其他学生使用同一学号值。如果计划将选修表中成绩的值范围设定为0到100,则数据库不应接受121。如果学生表有一列为班级编码,该列存储的班级编码为数据库中允许的有效班级编码。二、数据完整性分类在SQLServer中,根据数据完整性所作用的数据库对象和范围不同,可以将数据完整性分为实体完整性、域完整性、引用完整性、用户定义完整性四种。1、实体完整性实体完整性,简单来说,就是将表中的每一行看作一个实体。实体完整性要求表的标示符列或主键的完整性(主键不能为空)。可以通过建立唯一索引、PRIMARYKEY约束、UNIQUE约束来实施实体完整性。

4、2、域完整性域完整性是指给定列的输入有效性。要求表中指定列的数据具有正确的数据类型、格式和有效的数据范围。强制域有效性的方法有:限制类型(通过数据类型)、格式(通过CHECK约束和规则)或可能值的范围。域完整性通过FOREIGNKEY约束、CHECK约束、DEFAULT定义、NOTNULL定义和规则来实现。3、引用完整性6引用完整性又称参照完整性。引用完整性维持被参照表和参照表之间的数据一致性,主要通过主键(PRIMARYKEY)约束和外键(FOREIGNKEY)约束来实现。引用完整性确保数据在所有表中一致。这样的一致性要求不能引用不存在的值,如果键值更改

5、了,那么在整个数据库中,对该键值的所有引用要进行一致的修改。在被参照表中,当其主键值被其他表所参照时,该行不能被删除也不允许改变。在参照表中,不允许参照不存在的主键值。4、用户定义完整性用户定义完整性使用户能定义不属于其它任何完整性分类的特定设置。所有的完整性类型都支持用户定义完整性。三、SQLServer的约束约束作为数据库定义的一部分在CREATETABLE语句中声明,所以又称做声明完整性约束。也可以在可视化操作界面,如sqlserver2005的ssms中操作设置。约束独立于表结构,可以在不改变表结构情况下,通过ALTERTABLE语句来添加或者删除

6、。在删除一个表时,该表所带的所有约束定义也被随之删除。1、空置约束格式:null/notnull。空置约束,是否允许该字段的值为NULL。当某一字段的值一定要输入才有意义的时候,则可以设置为NOT6NULL。例如主键列就不允许出现空值,否则就失去了唯一标识一条记录的作用。2、唯一约束(UNIQUE约束)格式:[CONSTRAINT]UNIQUE。UNIQUE约束用于指明基本表在某一列或多个列的组合上的取值必须唯一。定义了UNIQUE约束的那些列称为唯一键,系统自动为唯一键建立唯一索引。从而保证了唯一键的唯一性。唯一键允许为空,但系统为保证其唯一性,最多只可

7、以出现一个NULL值。3、主键约束(PRIMARYKEY约束)格式:[CONSTRAINT]PRIMARYKEY。PRIMARYKEY约束,PRIMARYKEY约束用于定义基本表的主键,起唯一标识作用,其值不能为NULL,也不能重复,以此来保证实体的完整性。PRIMARYKEY与UNIQUE约束类似,通过建立唯一索引来保证基本表在主键列取值的唯一性,但它们之间存在着很大的区别:①在一个基本表中只能定义一个PRIMARYKEY约束,但可定义多个UNIQUE约束;②对于指定为PRIMARYKEY的一个列或多个列的组合,其中任何一个列都不能出现空值,而对于UNI

8、QUE所约束的唯一键,则允许为空。64、外键约束(FOREIGNK

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。