当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server数据库技术(55)

MSSQL
在SQL Server中建立定时任务,处理时间超过一天的记录
推荐:监控数据库性能的SQL语句汇总
SQL Server常用到的几个设置选项
SQL server 2000存储过程
sql server行转列问题终极解决
专家在线:SQL Server块日志恢复
通过内存配置来优化SQL Server的性能
为SQL Server构造灵活可靠的安全门
剖析SQL Server数据库扩展存储过程
专家在线:SQL Server的数据清理技术
SQL Server 2005中的所有权链
利用SQL Server数据库快照形成报表
SQL技巧:探索用户自定义数据类型
保护SQL服务器的安全-用户识别问题
一些SQL Server的应用实例
SQLSERVER中,数据库同步的实现
深入理解SQL Server 中的错误处理
三种SQL分页法效率分析
sql server 2005中的except和INTERSECT运算
SQL 视图效率和连接超时设置

MSSQL 中的 SQL Server数据库技术(55)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 39 ::
收藏到网摘: n/a

   数据库中的数据是从外界输入的,而数据的输入由于种种原因,会发生输入无效或错误信息。保证输入的数据符合规定,成为了数据
库系统,尤其是多用户的关系数据库系统首要关注的问题。数据完整性因此而提出。本章将讲述数据完整性的概念及其在SQL Server 中的实现方法。

数据完整性(Data Integrity)是指数据的精确性(Accuracy) 和可靠性(Reliability)。它是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。数据完整性分为四类:实体完整性(Entity Integrity)、域完整
性(Domain Integrity)、参照完整性(Referential Integrity)、用户定义的完整性(User-definedIntegrity)。
9.1.1 实体完整性(Entity Integrity)
实体完整性规定表的每一行在表中是惟一的实体。表中定义的UNIQUE PRIMARYKEY 和IDENTITY 约束就是实体完整性的体现。
9.1.2 域完整性(Domain Integrity)
域完整性是指数据库表中的列必须满足某种特定的数据类型或约束。其中约束又包括取值范围、精度等规定。表中的CHECK、FOREIGN KEY 约束和DEFAULT、 NOT NULL定义都属于域完整性的范畴。
9.1.3 参照完整性(Referential Integrity)
参照完整性是指两个表的主关键字和外关键字的数据应对应一致。它确保了有主关键字的表中对应其它表的外关键字的行存在,即保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散。参照完整性是建立在外关键字和主关键字之间或外关键字和惟一性关键字之间的关系上的。在SQL Server 中,参照完整性作用表现在如下几个方面:
    禁止在从表中插入包含主表中不存在的关键字的数据行;
    禁止会导致从表中的相应值孤立的主表中的外关键字值改变;
    禁止删除在从表中的有对应记录的主表记录。
9.1.4 用户定义的完整性(User-defined Integrity)
不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性即是针对某个特定关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。SQL Server 提供了定义和检验这类完整性的机制,以便用统一的系统方法来处理它们,而不是用应用程序来承担这一功能。其它的完整性类型都支持用户定义的完整性。

SQL Server 提供了一些工具来帮助用户实现数据完整性,其中最主要的是:规则(Rule)、缺省值(Default)、约束(Constraint) 和触发器(Trigger)。其中约束在前面的章节中已经介绍,触发器将在后面的章节中介绍。本章将介绍规则和缺省值。