第5章1数据完整性(免费阅读).pptVIP

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL Server 2005数据库应用技术(第二版) 第5章 数据完整性(1) 出现的问题 变量名与变量的值:字段是一个变量,字段名(列名)相当于变量名。 记录中各列的值是常量,相当于变量的值。 所以:UPDATE KCXX SET 课程名=‘XXXX’, 学分=6 WHERE 课程号=‘YYY’ 注意,数据类型的匹配 作业中的问题 复习 第5章 数据完整性 5-1 数据完整性概述 5-2 数据完整性分类与实施 5-2-1 数据完整性的分类 数据完整性一般包括4种类型:域完整性、实体完整性、引用完整性、用户定义完整性。 1、域完整性—列完整性 域完整性指特定列的项的有效性。 可以强制域完整性限制类型(通过使用数据类型)、限制格式(通过使用 CHECK 约束)或限制可能值的范围(通过使用 FOREIGN KEY 约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义和规则)。 2、实体完整性—行的完整性 列或主键的完整性。 是用于保证数据表中每一个特定实体的记录都是唯一的。 通过索引、UNIQUE约束、PRIMARY KEY约束或IDENTITY属性可以实现数据的实体完整性。 5-2 数据完整性分类与实施 5-2-1 数据完整性的分类 3、引用完整性 在输入或删除记录时,引用完整性保持表之间已定义的关系。 在 SQL Server 2005 中,引用完整性通过 FOREIGN KEY 和 CHECK 约束,以外键与主键之间或外键与唯一键之间的关系为基础。引用完整性确保键值在所有表中一致。如果一个键值发生更改,则整个数据库中,对该键值的所有引用要进行一致的更改。 5-2 数据完整性分类与实施 5-2-1 数据完整性的分类 3、引用完整性 如果定义了两个表之间的参照完整性,则要求: (1)从表不能引用不存在的键值。 (2)如果主表中的键值更改了,那么在整个数据库中,对从表中该键值的所有引用要进行一致的更改。 (3)如果主表中没有关联的记录,则不能将记录添加到从表中。 (4)如果要删除主表中的某一记录,应先删除从表中与该记录匹配的相关记录。 4、用户定义完整性 用户定义完整性是针对某个特定约束条件的,它反映某一具体应用所涉及的数据必须满足的语义要求。 使用存储过程、触发器或客户端应用程序进行控制。 5-2 数据完整性分类与实施 5-2-2 数据完整性的实施 两种方式: 声明式数据完整性:将数据所需符合的条件融入到对象定义中,系统会自动确保数据符合事先制定的条件。 程序化数据完整性:通过程序代码实现,通过存储过程与触发器实施。 域完整性的实现 通过定义字段数据类型、NOT NULL定义、CHECK约束、默认值约束等可以实现域完整性。 可在创建或修改表时定义约束。 域完整性的实现-CHECK约束 CHECK约束实际上是字段输入内容的验证规则,表示一个字段的输入内容必须满足CHECK约束的条件,若不满足,则数据无法正常输入。 注意:对于TimeStamp 和Identity两种类型的字段不能定义CHECK约束。 可在列级或表级应用CHECK约束。 列级CHECK约束限制可存储在该列中的值。 表级CHECK约束可引用同一个表中的多列,以允许列值的交叉引用和比较。 可以通过管理平台与T-SQL语句实现 域完整性的实现-CHECK约束 使用管理平台定义CHECK约束 例:在XS数据库的XSCJ表中,学生每门课程的成绩一般在0-100的范围内,可建立CHECK 约束。 域完整性的实现-CHECK约束 使用T-SQL语句在创建表时定义CHECK约束 语法格式1(列级) CREATE TABLE table_name ---指定表名 (column_name datatype NOT NULL | NULL [[CONSTRAINT check_name ] CHECK (logical_expression)] --定义列名、数据类型、是否空值、CHECK约束 [,…n]) 说明: logical_expression是逻辑表达式,称为CHECK约束表达式。 语法格式2(表级) CREATE TABLE table_name - -指定表名 (列定义, [[CONSTRAINT check_name ] CHECK (logical_expression)]) --定义CHECK约束 域完

文档评论(0)

wuyuetian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档