基于SQLServer的数据库的数据完整性维护

时间:2022-10-13 08:54:37

【摘要】1 实体完整性 实体完整性就是定义某个特定表的每一行是唯一的实体。SQL Server通过索引、主关键字约束、唯一性约束和IDENTITY属性来保证数据库中的表的每一行都是唯一的。这对于表...

基于SQLServer的数据库的数据完整性维护

摘 要:随着SQL Server数据库的广泛使用,针对其数据完整性的问题,本文讨论了它的主要技术内容。

关键词:数据库 数据完整性 SQL Server

中图分类号:TP311 文献标识码:A 文章编号:1672-3791(2012)10(a)-0010-01

数据管理中最重要的是维护数据的完整性。一个数据库系统必然要求其提供保护重要数据不易受损坏的功能,同时要使数据的管理合乎规范,不接受错误的操作和不合规范的数据。

SQL Server数据完整性主要包括:实体完整性、域完整性、参照完整性和用户完整性。使用以上这几种完整性从局部到整体各方面来共同维护数据的完整性,使得管理者和用户能够轻松的进行数据管理和使用。

1 实体完整性

实体完整性就是定义某个特定表的每一行是唯一的实体。SQL Server通过索引、主关键字约束、唯一性约束和IDENTITY属性来保证数据库中的表的每一行都是唯一的。这对于表是十分重要的。

1.1 约束

所谓约束就是SQL Server提供的保证实体完整性的方法,它限制了表中的每一列所能接受所谓数据,只有满足约束条件的数据才能送入该列存储。

1.2 主关键字约束

主关键字约束是实体完整性中最重要的,它用来唯一标识表中的一列或一组列。被主关键字约束的列或列组中的数据必须是独立的。被主关键字约束的列或列组不允许为空,同时在每个表中只能有一个主关键字约束。

1.3 唯一性约束

唯一性约束和主关键字约束看上去很相似,它也是用来保证表中某一列的数据是不重复的。但它约束的列的数据可以为空,同时一个表中可以具有很多唯一性约束,而主关键字约束只能有一个。

1.4 IDENTITY属性

如果建立一列具有IDENTITY属性的列,SQL Server就会为这一列中的每一行设立一个与其他行不同的值来标识这一行。所以IDENTITY属性和主关键字约束联合起来使用,可以使数据库的每一行都有一个独立的值来表示。

2 域完整性

域完整性指一个列内的数据输入必须是符合标准和规则的。SQL Server提供了规则和CHECK约束来实现数据库的域完整性。

2.1 规则

规则相当于一个标准,它可以用来判断数据是否符合要求的规则。规则与约束不同,规则是一种独立的数据库对象,它可以被许多表使用,用来检验表中的列数据,所以使用规则必须把它和表中的列捆绑起来才能使用。

2.2 CHECK约束

CHECK约束也是来实现域完整性的,也是用来对列数据进行严格的检验和约束的。但它和规则不同,每一列可以使用许多CHECK约束,但只能捆绑一个规则,同时CHECK约束不必专门定义,使用更加简单。使用CHECK约束有几个特点,使用时应当注意:每一列可以使用多个CHECK约束;CHECK约束的条件不能与其他表相关;多个CHECK约束可以和一个规则共同限制同一列。

3 参照完整性

参照完整性指不同数据表之间的数据关系的完整。对于一个大型的数据库,不同的表之间有很密切的关系,一旦对其中一个表的数据进行删除和修改,必然会影响其他表的数据是否要随之删除或修改。SQL Server提供了很好的参照完整性,它是通过外关键字约束和触发器实现的。

3.1 外关键字约束

外关键字约束是对某一列或列组进行限制来加强数据表之间的联系。这一列称为外关键字。外关键字一般是在一个表中建立的与另一个表中的主关键字相对应的列。外关键字不但可以与主关键字对应,还可以与被唯一约束限制的列对应。同时外关键字列允许为空,所以外关键字的值要么为另一表中的主关键字列或被唯一性约束限制的列的数据,要么为空。

3.2 触发器对参照完整性的作用

使用触发器也能实现参照完整性,不过触发器一般用来完成约束无法完成的任务。在进行对某个表的插入、修改和删除操作时,使用触发器检查相关的数据,如果有冲突,先将冲突解决然后再进行这些操作,这样就维护了参照完整性。

4 用户定义完整性

用户定义完整性允许用户自定义不属于以上三种情况的完整性。SQL Server是一个开放的数据库系统,它允许用户针对自己的需要对完整性进行扩展。如果用户对现有的数据完整性不满意,用户可以使用规则、触发器、存储过程以及所有的约束来定义针对自己需要的完整性。

5 结语

SQL Server提供了完善的数据完整性概念,使用多层次数据完整性管理结构,使得数据的完整性得到充分的保障。本文通过介绍数据完整性来详细说明了如何用有关的数据库对象来维护数据库的数据完整性。

参考文献

[1] 李雁翎.数据库技术及应用-SQL Server[M].北京:高等教育出版社,2010.

[2] 郑阿奇.SQL SERVER实用教程[M].北京:电子工业出版社,2008.

[3] 李春葆,曾平.SQL SERVER2000应用系统开发教程[M].北京:清华大学出版社.

[4] 郑沫.SQL SERVER开发实例精解[M].北京:希望电子出版社,2008.

上一篇:基于SPCE061A单片机的无线通信系统设计 下一篇:基于SolidWorks的梁的弯曲变形仿真实验设计