SQL SERVER数据完整性及约束

来源 :科技与企业 | 被引量 : 0次 | 上传用户:ningyuanhui
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】所谓数据完整性,实际上是衡量数据库中数据质量好坏的一种标志,是确保数据库中数据一致,正确以及符合企业规则的一种思想,本文以详细的文字来介绍了什么是数据完整性及约束,以及如何在数据库建设中应用和使用这些约束。
  【关键词】SQL Server;约束;数据完整性;一致性
  在数据库管理系统中,保证数据库中的数据完整性是非常重要的。所谓数据完整性,就是指存储在数据库的表中数据的一致性和正确性。约束定义关于列中允许值的规则,是强制完整性的标准机制,对输入数据的取值范围和格式的限制称为约束。约束是用来保证数据完整性的。在SQL Server中有6种常设约束:空置约束(NULL)、唯一性约束(unique constraint)、主键约束(primary key constraint)、外键约束(foreign key constraint)、检查约束(check constraint)、缺省约束(default constraint)。
  一、SQL Server的数据完整性
  存储在数据库中的所有数据值均属正确的状态。如果数据库中存储有不正确的数据值,则该数据库称为已丧失数据完整性。
  强制数据完整性可确保数据库中的数据质量。例如,如果有一“教学管理数据库”,学生表中学号一项输入了值为20110101的学生,那么该数据库不应允许其他学生使用同一学号值。如果计划将选修表中成绩的值范围设定为0到100,则数据库不应接受121。如果学生表有一列为班级编码,该列存储的班级编码为数据库中允许的有效班级编码。
  二、数据完整性分类
  在SQL Server中,根据数据完整性所作用的数据库对象和范围不同,可以将数据完整性分为实体完整性、域完整性、引用完整性、用户定义完整性四种。
  1、实体完整性
  实体完整性,简单来说,就是将表中的每一行看作一个实体。实体完整性要求表的标示符列或主键的完整性(主键不能为空)。可以通过建立唯一索引、PRIMARY KEY约束、UNIQUE约束来实施实体完整性。
  2、域完整性
  域完整性是指给定列的输入有效性。要求表中指定列的数据具有正确的数据类型、格式和有效的数据范围。强制域有效性的方法有:限制类型(通过数据类型)、格式(通过CHECK约束和规则)或可能值的范围。域完整性通过FOREIGN KEY约束、CHECK约束、DEFAULT定义、NOT NULL定义和规则来实现。
  3、引用完整性
  引用完整性又称参照完整性。引用完整性维持被参照表和参照表之间的数据一致性,主要通过主键(PRIMARY KEY)约束和外键(FOREIGN KEY)约束来实现。
  引用完整性确保数据在所有表中一致。这样的一致性要求不能引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的修改。在被参照表中,当其主键值被其他表所参照时,该行不能被删除也不允许改变。在参照表中,不允许参照不存在的主键值。
  4、用户定义完整性
  用户定义完整性使用户能定义不属于其它任何完整性分类的特定设置。所有的完整性类型都支持用户定义完整性。
  三、SQL Server的约束
  约束作为数据库定义的一部分在CREATE TABLE语句中声明,所以又称做声明完整性约束。也可以在可视化操作界面,如sqlserver2005的ssms中操作设置。约束独立于表结构,可以在不改变表结构情况下,通过ALTER TABLE语句来添加或者删除。在删除一个表时,该表所带的所有约束定义也被随之删除。
  1、空置约束
  格式:null/not null。
  空置约束,是否允许该字段的值为NULL。当某一字段的值一定要输入才有意义的时候,则可以设置为NOT NULL。例如主键列就不允许出现空值,否则就失去了唯一标识一条记录的作用。
  2、唯一约束(UNIQUE约束)
  格式:[CONSTRAINT <约束名>] UNIQUE。
  UNIQUE约束用于指明基本表在某一列或多个列的组合上的取值必须唯一。定义了UNIQUE约束的那些列称为唯一键,系统自动为唯一键建立唯一索引。从而保证了唯一键的唯一性。唯一键允许为空,但系统为保证其唯一性,最多只可以出现一个NULL值。
  3、主键约束(PRIMARY KEY约束)
  格式:[CONSTRAINT <约束名>] PRIMARY KEY。
  PRIMARY KEY约束,PRIMARY KEY约束用于定义基本表的主键,起唯一标识作用,其值不能为NULL,也不能重复,以此来保证实体的完整性。
  PRIMARY KEY与UNIQUE约束类似,通过建立唯一索引来保证基本表在主键列取值的唯一性,但它们之间存在着很大的区别:
  ①在一个基本表中只能定义一个PRIMARY KEY约束,但可定义多个UNIQUE约束;
  ②对于指定为PRIMARY KEY的一个列或多个列的组合,其中任何一个列都不能出现空值,而对于UNIQUE所约束的唯一键,则允许为空。
  4、外键约束(FOREIGN KEY约束)
  格式:REFERENCES 主表名(主键名)。
  FOREIGN KEY约束要用到两个表一个从表,一个主表,包含外部键的表称为从表,包含外部键所引用的主键或唯一键的表称主表。系统保证从表在外部键上的取值要么是主表中某一个主键值或唯一键值,要么取空值。以此保证两个表之间的连接,确保了实体的参照完整性。
  5、检查约束(CHECK约束)
  格式:CHECK (条件表达式)。
  CHECK约束用来检查字段值所允许的范围,如一个字段只能输入整数,而且限定在0-100的整数,以此来保证域的完整性。
  6、默认值约束
  格式:DEFAULT 默认值。
  当为一列的约束设的是默认值约束。那么当用户在插入记录是没有明确地提供值时,系统便自动将默认值赋予给该列。
  例:建立一个学生表,对性别字段进行默认约束。
  CREATE TABLE 学生表
  (学号 CHAR(7) ,
  性别 CHAR(2) DEFAULT ‘男’,
  ……)
  建立和使用约束的目的是保证数据的完整性,约束是SQL Server强制实行的应用规则,使用规则能够限制用户存放到表中数据的格式和值的范围,可确保数据库中的数据质量。
其他文献
混凝土工程施工过程中,经常发生一些质量适病,影响结构的安全,如何最大限度的消除质量通病,保证工程结构安全,是工程管理人员急需掌握的,本文就结合工作实际,对混凝土工程的
口蹄疫是由口蹄疫病毒引起的人兽共患的急性热性接触性传染病。偶蹄兽在临床上以口腔黏膜、蹄部乳房皮肤上发生水疱和溃疡为特征,人主要是口腔黏膜和手、足发生水疱和溃烂。1
【摘要】煤矿普采工艺是我国煤矿应用普通的一种采煤工艺,特别是在中小型煤矿和薄及极薄煤层的开采应用最为普遍。本文主要阐述了倾斜煤层采煤工艺特点、存在的问题及措施方法,普采在倾斜长壁工作面的采煤工艺特点等问题。  【关键词】普采;采煤;工艺;特点  煤矿普采工艺是我国煤矿应用普通的一种采煤工艺,也是传统的采煤工艺,特别是在一些老煤矿、中小型煤矿和薄及极薄煤层的开采应用最为普遍。因此,对于普采工艺的研究
随着人类社会信息化程度的提高及教育信息化的不断加强,对高校教师的信息素养的要求也起来越高。探讨了高校信息素养培训目标要素,提高教师信息素养对促进高校的教学发展的意义
铜缺乏症是指由于饲料和饮水中铜缺乏或铜含量过低,引发以被毛褪色、腹泻、贫血、骨质异常和繁殖性能降低等为主要临床特征的代谢性疾病,原发性铜缺乏症发病率可达40%以上。
导入新课十法兰州企业联合中学赵俊岭良好的开端是成功的一半。导与否于实现教学目的至关重要。导人新颖,别出心裁,引人注意,学生自然人门。反之开局打了“哑炮”,可能导致一堂课
提出新建中小型公共图书馆在开展业务工作中的几点看法,并分析业务工作的发展趋势。
教给学生知识和能力,要讲点方法,这是众所周知的道理。但如何给法,却大有讲究。举个例子。教学《风》一课时,某学生读到“可是,风又来了,使人感到眩晕。天、地,连皇城的红墙与金銮宝