第五章 SQLserver2005 数据完整性.ppt
《第五章 SQLserver2005 数据完整性.ppt》由会员分享,可在线阅读,更多相关《第五章 SQLserver2005 数据完整性.ppt(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、SQL Server 2005数据完整性数据完整性 第四章介绍了数据库的基本操作第四章介绍了数据库的基本操作,对于数据的添加、删除、修改操对于数据的添加、删除、修改操作都可能对数据库中的数据造成破坏或出现相关数据不一致的现象。作都可能对数据库中的数据造成破坏或出现相关数据不一致的现象。要保证数据的正确无误和相关数据的一致性,除了认真地进行操作要保证数据的正确无误和相关数据的一致性,除了认真地进行操作外,更重要的时数据库系统本身需要提供维护机制。外,更重要的时数据库系统本身需要提供维护机制。一、概念:一、概念:一、概念:一、概念:数据完整性是指数据的精确性,和可靠性。它是防止数据库中存在数据完整
2、性是指数据的精确性,和可靠性。它是防止数据库中存在不符合语义规定的数据。不符合语义规定的数据。“学生学生”表中有表中有 学号学号,姓名姓名,性性别别,班级代码班级代码,等等。在这张表中都应该有唯一的学号,不能有两个或多个学生的学等等。在这张表中都应该有唯一的学号,不能有两个或多个学生的学号相同;在号相同;在 性别性别 字段里数据只能为字段里数据只能为 男男 或或 女女 不可能有不可能有其它数据。其它数据。完整的数据类型分四类:实体完整性、域完整性、参照完整性、用完整的数据类型分四类:实体完整性、域完整性、参照完整性、用户定义的完整性。户定义的完整性。更多更新视教程,请到更多更新视教程,请到SQ
3、L Server 2005数据完整性数据完整性1 1、实体完整性、实体完整性、实体完整性、实体完整性 实体完整性,规定表中的每一行在表中是唯一的实体。也可以这实体完整性,规定表中的每一行在表中是唯一的实体。也可以这样说,在表中不可能存在完全相同的记录,主键的存在保证了任何记样说,在表中不可能存在完全相同的记录,主键的存在保证了任何记录都不重复的。录都不重复的。2 2、域完整性、域完整性、域完整性、域完整性域完整性是指数据表中的字段必须满足某种特定的数据类型或约域完整性是指数据表中的字段必须满足某种特定的数据类型或约束。其中约束又包括取值范围、精度等规定。束。其中约束又包括取值范围、精度等规定。
4、更多更新视教程,请到更多更新视教程,请到SQL Server 2005数据完整性数据完整性3 3、参照完整性、参照完整性、参照完整性、参照完整性 参照完整性是指两个表的主键和外键的数据应对应一致。它确保参照完整性是指两个表的主键和外键的数据应对应一致。它确保存了主键的表中对应其它表的外键的存在,即保证了表之间数据的一存了主键的表中对应其它表的外键的存在,即保证了表之间数据的一致性,防止了数据丢失或无意义的数据。禁止在从表中插入包含主表致性,防止了数据丢失或无意义的数据。禁止在从表中插入包含主表中不存在的关键字的数据行。中不存在的关键字的数据行。4 4、用户定义的完整性、用户定义的完整性、用户定
5、义的完整性、用户定义的完整性不同关系数据库系统根据其应用环境的不同,往往还需要一些特殊不同关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性针对某个特定关系数据库的约束条的约束条件。用户定义的完整性针对某个特定关系数据库的约束条件,它反映了某一具体应用所涉及的数据必须满足的语义要求。件,它反映了某一具体应用所涉及的数据必须满足的语义要求。更多更新视教程,请到更多更新视教程,请到SQL Server 2005数据完整性数据完整性二、约束的类型二、约束的类型二、约束的类型二、约束的类型约约束束束束就是一种强制性的规定,在就是一种强制性的规定,在SQL SERVER
6、2005SQL SERVER 2005中中提供的约整是通过定义字段的取值规则来维护数据完整提供的约整是通过定义字段的取值规则来维护数据完整性的。在性的。在SQL SERVER SQL SERVER 中支持中支持6 6类约束:类约束:NOT NULL(NOT NULL(非非空空)约约束束束束、CHECK(CHECK(检查约束检查约束)、UNIQUE(UNIQUE(唯一束唯一束)、PRIMARY KEY(PRIMARY KEY(主键主键 约束约束)、FOREIGN KEY(FOREIGN KEY(外键约外键约束束)和和DEFAULT(DEFAULT(默认约束默认约束)更多更新视教程,请到更多更新视
7、教程,请到SQL Server 2005数据完整性数据完整性三、约束的创建三、约束的创建三、约束的创建三、约束的创建约束可以在创建表的同时创建,也可以在已有的表上创建。通常,约束可以在创建表的同时创建,也可以在已有的表上创建。通常,约束可可以在对象资源管理器中创建,也可以在查询分析中中使用约束可可以在对象资源管理器中创建,也可以在查询分析中中使用SQLSQL命令创建。命令创建。1 1、创建主键约束、创建主键约束、创建主键约束、创建主键约束2 2、创建外键约束、创建外键约束、创建外键约束、创建外键约束3 3、创建唯一约束、创建唯一约束、创建唯一约束、创建唯一约束在一张数据表中,有时候除主键需要具
8、有唯一性,还有某他字在一张数据表中,有时候除主键需要具有唯一性,还有某他字段也需要具有唯一性。例如,在段也需要具有唯一性。例如,在 系部系部 表中,主键为表中,主键为 系部代系部代码码,但是另外一个字段但是另外一个字段 系部名称系部名称 虽然不是主键,但也需要保虽然不是主键,但也需要保证它的唯一性,这时就需要创建表中的唯一约束。证它的唯一性,这时就需要创建表中的唯一约束。2.12.1使用对象使用对象资源管理器创建唯一约束资源管理器创建唯一约束更多更新视教程,请到更多更新视教程,请到SQL Server 2005数据完整性数据完整性 3.13.1使用对象资源管理器创建唯一约束使用对象资源管理器创
9、建唯一约束使用对象资源管理器创建唯一约束使用对象资源管理器创建唯一约束(1)(1)在在“对像资源管理器对像资源管理器”窗口中,右击需要设置唯一约束的窗口中,右击需要设置唯一约束的表,在弹出的菜单选表,在弹出的菜单选“修改修改”命令,打开命令,打开“表设计器表设计器”(2)(2)在在“表设置器表设置器”窗口中,右击需要设置为唯一约束的字段窗口中,右击需要设置为唯一约束的字段在弹出的菜单中选择在弹出的菜单中选择 “索引索引/键键”命令。然后添加唯一约束。命令。然后添加唯一约束。3.23.2使用使用使用使用SQL SQL 语句创建唯一约束语句创建唯一约束语句创建唯一约束语句创建唯一约束为已经存在的表
10、创建唯一约束语法格式如下:为已经存在的表创建唯一约束语法格式如下:ALTER TABLE ALTER TABLE 表名表名ADD CONSTRAINT ADD CONSTRAINT 唯一约束的名称唯一约束的名称UNIQUE NONCLUSTERED(UNIQUE NONCLUSTERED(字段名称字段名称)更多更新视教程,请到更多更新视教程,请到SQL Server 2005数据完整性数据完整性4 4、创建检查约束、创建检查约束、创建检查约束、创建检查约束检查约束对输入的数据的值做检查,可以限定数据输入,从而维护检查约束对输入的数据的值做检查,可以限定数据输入,从而维护数据的域完整性。数据的域
11、完整性。4.14.1、使用对象资源管理器创建检查约束、使用对象资源管理器创建检查约束、使用对象资源管理器创建检查约束、使用对象资源管理器创建检查约束(1)(1)在在“对象资源管理器对象资源管理器”窗口中,右击需要设置唯一约束的表,窗口中,右击需要设置唯一约束的表,在弹出的菜单中选在弹出的菜单中选“修改修改”命令。命令。(2)(2)在在 ”表设计器表设计器”窗口中右击需要创建检查约束的字段,选择窗口中右击需要创建检查约束的字段,选择“CHECKCHECK约束约束”命令,然后添加栓查约束命令,然后添加栓查约束 更多更新视教程,请到更多更新视教程,请到SQL Server 2005数据完整性数据完整
12、性4.24.2、使用使用使用使用SQL SQL 语句创建检查约束语句创建检查约束语句创建检查约束语句创建检查约束ALTER TABLE ALTER TABLE table_nametable_nameADD CONSTRAINT ADD CONSTRAINT ck_nameck_nameCHECK(CHECK(条件条件)更多更新视教程,请到更多更新视教程,请到SQL Server 2005数据完整性数据完整性 5 5、创建默认约束、创建默认约束、创建默认约束、创建默认约束在用户输入某些数据时在用户输入某些数据时,希望一些数据在没输入的情况下被自动输希望一些数据在没输入的情况下被自动输入入,这个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五章 SQLserver2005 数据完整性 第五 数据 完整性
限制150内