文档介绍:数据库技术信息工程系计算机应用匡桂阳 SQL Server 2005 SQL Server 2005 数据库应用技术数据库应用技术(第二版) (第二版) 第5章数据完整性( 1) 出现的问题?变量名与变量的值:字段是一个变量,字段名(列名)相当于变量名。?记录中各列的值是常量,相当于变量的值。所以: UPDATE KCXX SET 课程名=‘XXXX ’, 学分=6 WHERE 课程号=‘YYY ’?注意,数据类型的匹配?作业中的问题复****4 创建表结构 12 管理表中数据 3 修改表结构导入: ?数据库中的数据在从外界输入的过程中,由于种种原因, 有时会输入无效或错误的信息。为保证输入数据的正确性、一致性和可靠性,通过实施数据完整性来解决上述问题。?本章主要介绍数据完整性概念、分类与实现方法,主要学****域完整性、实体完整性、引用完整性。第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 数据完整性分类与实施 54 信息 1刘林 200502 60 信息 0王红 200501 总学分系名性别姓名学号(主键) 90 207 200502 93 202 200502 95 108 200502 92 104 200502 90 207 200501 89 202 200501 77 108 200501 81 104 200501 成绩课程编号学号(外键) 5-2 数据完整性分类与实施 5-2-1 数据完整性的分类 3、引用完整性?如果定义了两个表之间的参照完整性,则要求: (1)从表不能引用不存在的键值。(2)如果主表中的键值更改了,那么在整个数据库中,对从表中该键值的所有引用要进行一致的更改。(3)如果主表中没有关联的记录,则不能将记录添加到从表中。(4)如果要删除主表中的某一记录,应先删除从表中与该记录匹配的相关记录。 4、用户定义完整性?用户定义完整性是针对某个特定约束条件的,它反映某一具体应用所涉及的数据必须满足的语义要求。?使用存储过程、触发器或客户端应用程序进行控制。数据完整性的类型域(或列)完整性实体(或行)完整性引用完整性(在表间或者同一个表的列之间)