- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 数据完整性设计
本章学习目标
数据完整性即存储在数据库中的数据的正确性和相容性。设计数据完整性就是为了保证数据库中存在的数据都符合语义,防止错误信息的输入和输出,即所谓垃圾的进入与输出。
在SQL SERVER中,系统提供了约束、规则、默认值、主键与外键等许多措施来保护数据的完整性。本章中就来讲述如何利用这些措施实现数据的完整性,首先是数据完整性的概念、分类及其实施方法,然后分别对其各种实施方法的创建、查看、删除等内容进行详细的讲解。在本章的最后,又专门对上面用到的绑定操作和前面讲解的各种数据完整性实施方法进行总结,从而加深读者对本章内容的理解。
通过本章的学习,读者应该掌握维护数据库中数据完整性的方法,并可熟练地运用各种维护数据完整性的方法来优化自己创建的数据库。
学习重点与难点
数据完整性的概念和实施方法
约束、缺省以及规则的创建与管理方法
实施绑定时的注意事项
数据完整性实施方法的比较
7.1 数据完整性的概念
数据完整性,事实上是衡量数据库中数据质量好坏的一种标志,是确保数据库中数据一致、正确以及符合企业规则的一种思想,是使无序的数据条理化,确保正确的数据被存放在正确的位置的一种手段。
满足完整性要求的数据具有以下三个特点:
(1)数据的值正确无误。包括数据类型正确和数据值范围正确;
(2)数据的存在必须确保同一表格数据之间的和谐关系。例如在Goods表中,不能将同一个货号分配给两种不同的货品;
(3)数据的存在必须能够确保维护不同表格数据之间的和谐关系。例如在数据库Sales中,不允许在Orders表中出现的客户号在Customers表中找不到。
在关系数据库中,数据完整性主要包括:域完整性、实体完整性和参照完整性。
7.1.1 域完整性
域完整性,也可以称为列完整性,就是指给定列输入时的有效性限制,它反映了特定域(也就是特定的列)的规则。域完整性通常是经过使用有效性检查来实现的,并且还可以通过限制数据类型、格式或者可能的取值范围来实现。
例如,Orders表中的订货数量应大于0,Employee表的性别列需限制其取值范围为“男”和“女”等,在这些列的值的输入过程中,如果输入了不符合要求的数据,SQL SERVER则会提示该取值无效。
7.1.2 实体完整性
实体完整性,也可以称为行完整性,要求表中只有一个主键或其他的惟一标识列,其值不能为空且能惟一地标识对应的记录。简单地说,实体完整性就是保证表中所有的行惟一,即所有记录都是可以区分的。
实体完整性的基本思想是标识数据库中存放的每一个实体。实体就是数据库所要表示的一个实际的物体或事件。
通过索引、UNIQU约束或PRIMARY KEY属性即可实现数据的实体完整性。例如,在Employee表中,职员代号作为主键,每一个职员的代号能惟一的标识该职员对应的行记录信息,那么在输入数据时,则不能有相同职员代号的行记录。也就是说,通过对职员代号字段建立主键约束,实现了Employee表的实体完整性。
7.1.3 参照完整性
参照完整性又称为引用完整性,它是在插入或删除数据时用于维护表格间数据一致性的一种手段。参照完整性保证了主表(被参照表)中的数据与从表(参照表)中数据的一致性。在SQL Server 2000中,参数完整性的实现是通过定义外键(外码)与主键(主码)之间或外键与惟一键之间的对应关系来实现的。参照完整性确保了键值在所有表中一致。
码:又称键,是能惟一标识表中记录的字段或字段组合。如果一个表中有多个码,可选其中一个作为主码(主键),其余的称为后选码。
外码:如果一个表中的一个字段或若干个字段的组合是另一个表的码,则称该字段或字段组合为该表的外码。例如,对于Orders表的每一个客户号,在Customers表中都有相关的货品和数量记录,将Orders表作为主表,客户号字段定义为主键,Customers表作为从表,表中的客户号字段定义为外键,从而建立主表和从表之间的联系,实现参照完整性。
参照完整性可以通过主键/外键值约束和触发器得以实现。
7.2 数据完整性的实施方法
在SQL Server 2000中,可用于实现数据完整性的方法共有两类,即过程型数据完整性和声明型数据完整性。本节就对这两类方法进行简要介绍,具体的实现方法在后面的相关部分会有详细的讲解。
7.2.1 过程型数据完整性
过程型数据完整性由缺省、规则和触发器来实现。
缺省是指定一个默认值,某列或用户自定义数据类型与缺省绑定后,当向此列或用户自定义数据类型添加数据时,默认的值就是缺省所指定的值。
规则是用来验证一个数据库中的数据是否处于一个指定的值域范围内。
触发器会在后面的专门章节中讲解。
7.2.2 声明型数据完整性
声明型数据完整性作为数据库说明的一部分在语法中实现。其实现方法
您可能关注的文档
最近下载
- 2024大学生人文知识竞赛题库及参考答案.docx VIP
- 2025三年级上册道德与法治 第5课《走近科学家》(第二课时)教学课件.pptx
- 四年级上册道德与法治课件第四课时与家务活“签约”人教部编版.ppt VIP
- 第三次全国土壤普查耕地质量等级评价技术规范.pdf VIP
- UVmini-1240使用指南 岛津紫外可见光分光光度计.pdf VIP
- 【2024】人教鄂教版科学六年级上册每课教学反思(带目录) .pdf VIP
- 教学-高中物必修一、二、三基本知识背记检查清单大傻B.ppt VIP
- 2025年新能源太阳能光伏产业发展白皮书.docx VIP
- 设备管理成熟度(星级)评价准则.pdf VIP
- GB50231-2009 机械设备安装工程施工及验收通用规范.docx VIP
文档评论(0)