SQL_Server_2008基础教程_(09).ppt

SQL_Server_2008基础教程_(09).ppt

ID:48030359

大小:926.50 KB

页数:39页

时间:2020-01-13

SQL_Server_2008基础教程_(09).ppt_第1页
SQL_Server_2008基础教程_(09).ppt_第2页
SQL_Server_2008基础教程_(09).ppt_第3页
SQL_Server_2008基础教程_(09).ppt_第4页
SQL_Server_2008基础教程_(09).ppt_第5页
资源描述:

《SQL_Server_2008基础教程_(09).ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2021年8月12日第1页第9章数据完整性本章概述本章要点本章内容2021年8月12日第2页本章概述无论是产品,还是信息,质量都是非常重要的。信息质量是指信息的准确性、完整性、一致性等。在许多数据库应用系统中,数据质量的高低往往是影响该系统成功与否的重要因素。数据完整性是保证数据质量的一种重要方法,是现代数据库系统的一个重要特征。MicrosoftSQLServer2008系统提供了一系列的数据完整性方法和机制,例如约束、触发器等。其中,约束技术是应用最为广泛的数据完整性方法。本章详细讨论有关数据完整性的技术和方法。2021年8月12日第3页本章要点操纵数据时的问题和解决机制约束

2、的基本概念和类型管理DEFAULT约束管理CHECK约束管理主键约束管理UNIQUE约束管理外键约束禁止约束的场景2021年8月12日第4页本章内容9.1概述9.2约束的概念和类型9.3管理约束9.4禁止约束9.5本章小结9.1概述本节讨论两个方面的内容。首先,分析操纵数据时经常遇到的问题。其次,提出解决这些问题的方法。当操纵表中数据时,由于种种原因,经常会遇到一些问题。下面,分析一下这些问题的表现形式和特征。2021年8月12日第5页常见问题当向表中的某个列插入数据时,插入了不合适的数据,当时却没有被发现,例如员工进入公司的日期早于该员工的出生日期。一般地,某个公司中员工的姓名

3、有可能是重复的,但是员工的编号是不会重复的。可是,人力资源部门的工作人员不小心,某个员工的编码出错了,造成有两个员工的编号是相同的。但是,当时并没有发现这种问题。在许多公司的数据库中,往往有很多表,每一个表中都存在某个领域的数据。例如,人事表中存储了员工的基本信息,借款表中记录了员工的借款信息。但是,后来发现,借款表中的某个员工不是本公司的员工,因为人事表中没有该员工的基本信息。这种问题为什么会发生呢?2021年8月12日第6页数据完整性诸如此类的问题,不能仅靠数据录入人员和操纵人员的认真和负责,而是应该建立一套保障机制:要么防止这些问题发生,要么发生这些问题时可以及时地发现。数

4、据完整性就是解决这些问题的机制。数据完整性就是指存储在数据库中的数据的一致性和准确性。在评价数据库的设计时,数据完整性的设计是数据库设计好坏的一项重要指标。在MicrosoftSQLServer2008系统中,有3种数据完整性类型,即域完整性、实体完整性和引用完整性。2021年8月12日第7页域完整性域完整性,也可以称为列完整性,指定一个数据集对某一个列是否有效和确定是否允许空值。域完整性通常是经过使用有效性检查来实现的,并且还可以通过限制数据类型、格式或者可能的取值范围来实现。例如,设置员工进入公司的日期大于员工的出生日期,2021年8月12日第8页实体完整性实体完整性,也可以

5、称为行完整性,要求表中的所有行有一个唯一的标识符,这种标识符一般称为主键值。例如,对于所有的中国公民来说,居民身份证号码是唯一的,使用居民身份证号码可以唯一地确定某一个人,因此可以把公民的居民身份证号码作为主键对待。主键值是否能够被修改或表中的全部数据是否能够被全部删除都要依赖于主键表和其他表之间要求的完整性。对于一个公司来说,可以设置员工编号为主键,避免重复数据出现。2021年8月12日第9页引用完整性引用完整性保证在主键(在被参考表中)和外键之间的关系总是得到维护。如果被参考表中的一行被一个外键所参考,那么这一行数据便不能直接被删除,用户也不能直接修改主键值。例如,在一个数据

6、库中有两个表,即人事表和财务表。人事表中记录了本单位的所有员工的基本信息,财务表记录了本单位员工的借款信息。一般地,如果某个公司员工有借款,那么他就不能从人事表中直接删除。2021年8月12日第10页实现数据完整性在MicrosoftSQLServer2008系统中,可以使用两种方式实现数据完整性,即声明数据完整性和过程数据完整性。2021年8月12日第11页声明数据完整性和过程数据完整性声明数据完整性就是通过在对象定义中定义的数据标准来实现数据完整性,是由系统本身自动强制来实现的。声明数据完整性的方式包括使用各种约束、缺省和规则。例如,在某个表中定义了主键约束,那么这种定义就由

7、系统自动强制实现。过程数据完整性是通过在脚本语言中定义的数据完整性标准来实现的。在执行这些脚本的过程中,由脚本中定义的强制完整性实现。过程数据完整性的方式包括使用触发器和存储过程等。2021年8月12日第12页9.2约束的概念和类型约束是通过限制列中数据、行中数据和表之间数据来保证数据完整性的非常有效的方法。约束可以确保把有效的数据输入到列中并维护表和表之间的特定关系。MicrosoftSQLServer2008系统提供了5种约束类型,即PRIMARYKEY(主键)、FOREIG

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。