- 2
- 0
- 约2.26千字
- 约 15页
- 2015-12-13 发布于广东
- 举报
第9章 数据完整性 教学目标 理解操纵数据时的问题和解决机制 理解约束的基本概念和类型 掌握管理DEFAULT约束技术 掌握管理CHECK约束技术 掌握管理主键约束技术 掌握管理UNIQUE约束技术 掌握管理外键约束技术 理解禁止约束的场景 教学过程 9.1 概述 9.2 约束的概念和类型 9.3 管理约束 9.4 禁止约束 9.1 概述 本节讨论两个方面的内容。首先,分析操纵数据时经常遇到的问题。其次,提出解决这些问题的方法。 当操纵表中数据时,由于种种原因,我们经常遇到一些问题。 诸如此类的问题,不能仅仅依靠数据录入人员和操纵人员的认真和负责,而是应该有一套保障机制:要么防止这些问题发生,要么发生这些问题是可以及时地发现。数据完整性就是解决这些问题的机制。 数据完整性就是指存储在数据库中的数据的一致性和准确性。在评价数据库的设计时,数据完整性的设计是数据库设计好坏的一项重要指标。 在Microsoft SQL Server 2005系统中,有3种数据完整性类型,即域完整性、实体完整性和引用完整性。 9.2 约束的概念和类型 约束是通过限制列中数据、行中数据和表之间数据来保证数据完整性的非常有效的方法。约束可以确保把有效的数据输入到列中和维护表和表之间的特定关系。 Microsoft SQL Server 2005系统提供了5种约束类型,即PRIMARY KEY(主键)、FOREIGN KEY(外键)、UNIQUE、CHECK、DEFAULT约束。 每一种数据完整性类型,例如域完整性、实体完整性和引用完整性,都由不同的约束类型来保障。表9-1描述了不同类型的约束和完整性之间的关系。 9.3 管理约束 本节详细研究各种DEFAULT、CHECK、主键、UNIQUE、外键等约束的特点、创建方式、修改等内容。 DEFAULT约束 当使用INSERT语句插入数据时,如果没有为某一个列指定数据,那么DEFAULT约束就在该列中输入一个值。 例如,在记录了人事信息的person表的性别列中定义了一个DEFAULT约束为“男”。那么当向该表中输入数据时,如果没有为性别列提供数据,那么DEFAULT约束把缺省值“男”自动插入到该列中。因此,DEFAULT约束可以实现保证域完整性。 定义DEFAULT约束的基本语法在CREATE TABLE语句中和在ALTER TABLE语句中的形式不完全相同。 CHECK约束 CHECK约束用来限制用户输入某一个列的数据,即在该列中只能输入指定范围的数据。CHECK约束的作用非常类似于外键约束,两者都是限制某个列的取值范围,但是外键是通过其他表来限制列的取值范围,CHECK约束是通过指定的逻辑表达式来限制列的取值范围。 主键约束 主键约束在表中定义一个主键值,这是惟一确定表中每一行数据的标识符。在所有的约束类型中,主键约束是最重要的一种约束类型,也是使用最广泛的约束类型。该约束强制实体完整性。一个表中最多只能有一个主键,且主键列不允许空值。 UNIQUE约束 UNIQUE约束指定表中某一个列或多个列不能有相同的两行或两行以上的数据存在。这种约束通过实现惟一性索引来强制实体完整性。当表中已经有了一个主键约束时,如果需要在其他列上实现实体完整性,又因为表中不能有两个或两个以上的主键约束,所以只能通过创建UNIQUE约束来实现。 外键约束 外键约束强制引用完整性。外键约束定义一个列或多个列,这些列可以引用同一个表或另外一个表中的主键约束列或UNIQUE约束列。实际上,通过创建外键约束可以实现表和表之间的依赖关系。一般情况下,在Microsoft SQL Server关系型数据库管理系统中,表和表之间经常存在着大量的关系,这些关系都是通过定义主键约束和外键约束实现的。 9.4 禁止约束 在表上定义约束之后,就可以依靠约束来保证表中数据的完整性。但是,在某些特殊的情况下,需要禁止在已有的数据上应用定义的约束或者禁止在加载数据时应用约束。下面讨论有关禁止约束的内容 禁止在已有的数据上应用约束 一般地,当在一个已经有数据的表上定义约束时,Microsoft SQL Server系统自动检查这些数据是否满足约束条件。然而,在某些特殊情况下,还可以禁止约束检查已经存在的数据是否满足约束的定义。 禁止在已有的数据上应用约束,实际上就是说这些约束对表中已有的数据不起作用。这种禁止只有在向表中增加约束时才能指定。 禁止在加载数据时应用约束 对于CHECK约束和外键约束,除了可以禁止对已有的数据应用约束之外,也可以在加载数据时禁止应用这些定义的约束。 也就是说,在更新表中数据或向表中添加数据时,可以不判断这些数据是否与所定义的CHECK约束或外键约束冲突。 * SQL Server 2005基础
您可能关注的文档
- Red Hat Enterprise Linux系统管理 作者 978-7-302-30449-4 ch05.ppt
- Red Hat Enterprise Linux系统管理 作者 978-7-302-30449-4 ch06.ppt
- Red Hat Enterprise Linux系统管理 作者 978-7-302-30449-4 ch07.ppt
- Red Hat Enterprise Linux系统管理 作者 978-7-302-30449-4 ch08.ppt
- Red Hat Enterprise Linux系统管理 作者 978-7-302-30449-4 ch10.ppt
- Red Hat Enterprise Linux系统管理 作者 978-7-302-30449-4 ch11.ppt
- Red Hat Enterprise Linux系统管理 作者 978-7-302-30449-4 ch12.ppt
- Red Hat Enterprise Linux系统管理 作者 978-7-302-30449-4 ch13.ppt
- Red Hat Enterprise Linux系统管理 作者 978-7-302-30449-4 ch14.ppt
- Red Hat Enterprise Linux系统管理 作者 978-7-302-30449-4 ch15.ppt
最近下载
- 中医基础理论:气一元论.ppt VIP
- DB61_T 2002-2025 窄轨旅游轨道交通施工技术规范.pdf VIP
- DB61_T 2004-2025 水性环氧改性微表处施工技术规范.pdf VIP
- 北京市装配式建筑项目预制率和装配率计算说明及示例.ppt VIP
- 火灾报警控制器简单操作.doc VIP
- DB61_T 2012-2025 沥青路面一体化就地热再生施工技术规范.pdf VIP
- DB61_T 2013-2025 沥青路面半刚性基层微裂均质化处治施工技术规范.pdf VIP
- 单件流培训.ppt VIP
- 隧道工程应急处置方案(3篇).docx VIP
- 海关面试题及答案.doc VIP
原创力文档

文档评论(0)