SQLServer技术(55)

转载 2008年04月26日 11:08:00
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
   数据库中的数据是从外界输入的,而数据的输入由于种种原因,会发生输入无效或错误信息。保证输入的数据符合规定,成为了数据
库系统,尤其是多用户的关系数据库系统首要关注的问题。数据完整性因此而提出。本章将讲述数据完整性的概念及其在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)。其中约束在前面的章节中已经介绍,触发器将在后面的章节中介绍。本章将介绍规则和缺省值。
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

sqlserver数据库入门

-
  • 1970年01月01日 08:00

一个简单的ShellCode执行器&代码(just for fun)

最近看到有个问题:如何做到在程序运行时读入并执行一段代码 这是很容易做到的,能够运行是因为冯·诺依曼结构中程序和数据并没有本质区别. 其实完全没有必要读入代码运行,动态链接库完全可以胜任这方面...
  • gigzhu
  • gigzhu
  • 2014-11-13 23:12:22
  • 820

对多态变形引擎背后方法的概述

译者注:SMEG(Simulated Metamorphic Encryption Generator)是一个影响颇大的多态变形引擎,它使用的方法受到众人的仿效。虽然本文没有详细介绍SMEG中所使用的...
  • whatday
  • whatday
  • 2014-04-06 22:20:14
  • 1989

SQLServer之深度分析跟踪

了解SQLServer跟踪技术能让我们比较简单的在运行时实时的获取SQLServer的内部运作。这种获取方式比我们去使用跟踪标志、动态管理视图等来的方便简单的多。说到跟踪,很多人会想起SQL Prof...
  • zhanghai412
  • zhanghai412
  • 2011-07-22 10:56:48
  • 2048

SQLServer技术(107)

  • zgqtxwd
  • zgqtxwd
  • 2008-04-26 09:59:00
  • 170

EMV技术学习和研究(十一)QPBOC

转载请注明出处 作者:小旭 Q在选择完应用之后,是有一步交易预处理,交易预处理是对交易限额的处理,在交易开始之前首先对交易金额做出计算和判断。有点类似于借贷记交易中终端风险管理中所完成的步骤。关于交易...
  • xuture
  • xuture
  • 2013-07-09 13:46:44
  • 11299

SQLServer2000同步复制技术实现

SQLServer2000同步复制技术实现===================================================具体实施步骤:一、 预备工作1.发布服务器,订阅服务器都...
  • lzid2008
  • lzid2008
  • 2007-03-08 13:18:00
  • 945

SQL Server数据库技术大全.pdf

  • 2011年12月25日 09:31
  • 5.92MB
  • 下载

SQL server 数据库之ADO操作技术1

关于SQL server的数据库操作      1.导入两个文件      以下是:(DatabaseAccess.h  文件)      // DatabaseAccess.h: interface...
  • ccfxue
  • ccfxue
  • 2016-04-07 10:16:22
  • 616

java解析8583报文55域

java解析8583报文55域,java解析8583报文IC卡数据域
  • xiaoqiaoi5685
  • xiaoqiaoi5685
  • 2016-05-19 18:29:51
  • 3182
收藏助手
不良信息举报
您举报文章:SQLServer技术(55)
举报原因:
原因补充:

(最多只允许输入30个字)