- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第11章 数据完整性 本章概述 无论是产品,还是信息,质量都是非常重要的。信息的质量是指信息的准确性、完整性、一致性等。在许多数据库应用系统中,数据质量的高低往往是导致系统成功与否的重要因素。数据完整性是保证数据质量的一种重要方法,是现代数据库系统的一个重要特征。 Microsoft SQL Server 2005系统提供了一系列的数据完整性方法和机制,例如约束、触发器等。其中,约束技术是应用最为广泛的数据完整性方法。 本章详细讨论有关数据完整性的技术和方法。 本章的学习目标 操纵数据时的问题和解决机制 约束的基本概念和类型 管理DEFAULT约束 管理CHECK约束 管理主键约束 管理UNIQUE约束 管理外键约束 禁止约束的场景 主要内容 11.1 概述 11.2 约束的概念和类型 11.3 管理约束 11.4 禁止约束 11.5 本章小结 11.1 概述 数据完整性就是指存储在数据库中的数据的一致性和准确性。在评价数据库的设计时,数据完整性的设计是数据库设计好坏的一项重要指标。 在Microsoft SQL Server 2005系统中,有3种数据完整性类型,即域完整性、实体完整性和引用完整性。 实现数据完整性 在Microsoft SQL Server 2005系统中,可以使用两种方式实现数据完整性,即声明数据完整性和过程数据完整性。 声明数据完整性就是通过在对象定义中定义的数据标准来实现数据完整性,是由系统本身自动强制实现的。声明数据完整性的方式包括使用各种约束、缺省和规则。例如,在某个表中定义了主键约束,那么这种定义就由系统自动强制实现。 过程数据完整性是通过在脚本语言中定义的数据完整性标准来实现的。在执行这些脚本的过程中,由脚本中定义的强制完整性的实现。过程数据完整性的方式包括使用触发器和存储过程等。 11.2 约束的概念和类型 约束是通过限制列中数据、行中数据和表之间数据来保证数据完整性的非常有效的方法。约束可以确保把有效的数据输入到列中和维护表和表之间的特定关系。 Microsoft SQL Server 2005系统提供了5种约束类型,即PRIMARY KEY(主键)、FOREIGN KEY(外键)、UNIQUE、CHECK、DEFAULT约束。 每一种数据完整性类型,例如域完整性、实体完整性和引用完整性,都由不同的约束类型来保障。表11-1描述了不同类型的约束和完整性之间的关系。 查看有关约束的信息 可以使用目录视图查看有关约束的信息,这些目录视图包括sys.key_constraints、sys.check_constraints、sys.default_constraints。sys.key_constraints目录视图用于查看有关主键和UNIQUE约束的信息,sys.check_constraints目录视图用于查看有关CHECK约束的信息,在sys.default_constraints目录视图中可以查看有关DEFAULT约束的信息。 例如,在图11-1中,使用sys.key_constraints目录视图查看AdventureWorks数据库中的有关主键约束和UNIQUE约束的信息。 11.3 管理约束 本节详细研究各种DEFAULT、CHECK、主键、UNIQUE、外键等约束的特点、创建方法、修改等内容 DEFAULT约束 当使用INSERT语句插入数据时,如果没有为某一个列指定数据,那么DEFAULT约束就在该列中输入一个值。 例如,在记录了人事信息的person表的性别列中定义了一个DEFAULT约束为“男”。当向该表中输入数据时,如果没有为性别列提供数据,那么DEFAULT约束把缺省值“男”自动插入到该列中。因此,DEFAULT约束可以实现保证域完整性。 语法 -- 在CREATE TABLE语句的列的属性中 CONSTRAINT constraint_name DEFAULT constant_expression DEFAULT constant_expression -- 在ALTER TABLE语句的ADD子句中 CONSTRAINT constraint_name DEFAULT constant_expression FOR column_name DEFAULT constant_expression FOR column_name 使用CREATE TABLE语句定义DEFAULT约束 CHECK约束 CHECK约束用来限制用户输入某一个列的数据,即在该列中只能输入指定范围的数据。CHECK约束的作用非常类似于外键约束,两者都是限制某个列的取值范围,但是外键是通过其他表来限制列的取值范围,CHECK约束是通过指定的逻辑表达
您可能关注的文档
- SQL Server2000数据库及应用李伟红电子教案 第2章 数据库的创建和管理.ppt
- SQL Server2000数据库及应用李伟红电子教案 第3章 数据表的创建和管理.ppt
- SQL Server2000数据库及应用李伟红电子教案 第4章 数据完整性的设计与实现.ppt
- SQL Server2000数据库及应用李伟红电子教案 第5章 索引的创建与维护.ppt
- SQL Server2000数据库及应用李伟红电子教案 第6章 视图的创建与维护.ppt
- SQL Server2000数据库及应用李伟红电子教案 第7章 Transact SQL语言.ppt
- SQL Server2000数据库及应用李伟红电子教案 第8章 存储过程和触发器的创建与维护.ppt
- SQL Server2000数据库及应用李伟红电子教案 第9章 事务和锁的使用与管理.ppt
- SQL Server2000数据库及应用李伟红电子教案 第10章 SQL Server 2000的安全性管理.ppt
- SQL Server2000数据库及应用李伟红电子教案 第11章 SQL Server 2000数据转换.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch12.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch13.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch14.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch15.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch16.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch17.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch18.ppt
- SQL Server实用简明教程(第三版) 教学课件 作者 978 7 302 17354 0 ch19.ppt
- SQL Server数据库管理系统项目教程 教学课件 作者 程有娥钱冬云洪年松 编著 项目01.ppt
- SQL Server数据库管理系统项目教程 教学课件 作者 程有娥钱冬云洪年松 编著 项目02.ppt
最近下载
- 最新2023版知识产权贯标GBT29490 09知识产权维护运用控制程序(含表单)[知识产权合规管理体系文件].docx
- 煤矿合法股权转让协议9篇.docx VIP
- GB_T 9711-2023石油天然气工业 管线输送系统用钢管.doc VIP
- 导体结构设计.xls VIP
- 电梯安全风险管控清单.doc VIP
- 生殖医学中心专业技术人员考核试题及答案.docx VIP
- 2024年度健康体检大数据蓝皮书.pdf
- 部编版语文六年级上册第四单元教案+教学反思(共6篇).pdf VIP
- 球墨铸铁管与其它管材的连接件技术规范.docx VIP
- NB∕T 11273-2023 工业锅炉设计文件鉴定技术导则.pdf
文档评论(0)