关于数据库的数据完整性探讨

关于数据库的数据完整性探讨

ID:34024163

大小:122.32 KB

页数:3页

时间:2019-03-03

关于数据库的数据完整性探讨_第1页
关于数据库的数据完整性探讨_第2页
关于数据库的数据完整性探讨_第3页
资源描述:

《关于数据库的数据完整性探讨》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4卷 第2期太原师范学院学报(自然科学版)Vol.4No.22005年6月 JOURNALOFTAIYUANTEACHERSCOLLEGE(NaturalScienceEdition)Jun.2005a关于数据库的数据完整性探讨程有娥(浙江工贸学院信息系,浙江温州325003)  〔摘要〕 数据完整性是指存储在数据库中的数据的正确性和可靠性,文章从数据完整性的角度出发,分别对数据完整性的实现两种方法进行了探讨和比较,并且以案例的形式对SQL3的触发程序的设计进行了说明,希望对开发更好的数据库起到一定的作用.〔关键词〕 数据库;完整性;约束;触发〔文章编号〕 1

2、67222027(2005)0220047203 〔中图分类号〕 TP311.131〔文献标识码〕 A  数据库系统中的数据是由数据库管理系统(DBMS)统一管理和控制的,为了适应数据共享环境,DBMS必须提供数据的安全性、完整性、并发控制和数据库恢复等数据保护的能力,以保证数据库中数据的安全可[1]靠性和正确有效.数据完整性是衡量数据库中的数据质量好坏的一种标准.1 数据完整性数据库的数据完整性是指存储在数据库中的数据的正确性和可靠性,数据完整性要确保数据库中的数据一致、准确,同时符合企业规则.数据库是否具备数据完整性关系到数据库系统能否真实地反映现实世界.2

3、 数据完整性的实现为了数据的完整性,DBMS须提供一种机制来检查数据库中的数据,看它们是否满足完整性的约束条件,常见的数据完整性实现机制有两种,一种是利用数据完整性约束的方法;另一种是利用数据库编程人员编写触发程序的方法.2.1 利用完整性约束实现数据完整性使用约束是实现数据完整性最常用的方法,其主要目的是限制输入到表中的数值的范围.从应用范围来[1]讲,约束可分为列级约束、元组级约束和关系级约束三种粒度(即对象的大小).其中对列的约束主要指对取值类型、范围、精度、排序等约束条件.如:学生的年龄必须是整数,性别只能是男或女,学生的学号一定是唯一的.对元组的约束是

4、指对记录中各个字段间的联系的约束.如订货关系中有发货量、订货量等属性,客观世界中发货量不得超过订货量.对关系的约束是指对若干记录间、关系集合上以及关系的联系的约束.数据完整性约束主要有实体完整性约束、引用完整性约束以及用户定义完整性约束三类.[2]2.1.1 实体完整性约束[2]实体完整性约束的目的是确保数据库中的所有实体的唯一性,也就是不应使用完全相同的数据记录.即一个关系中所有主属性(即主码的属性)不能取空值.所谓“空值”就是“不知道”或“无意义”的值.如主属性取空值,就说明存在某个不可标识的实体,这与现实世界的应用环境相矛盾,因此这个实体一定不是一个完整的

5、实体.2.1.2 引用完整性约束引用完整性是用来维护相关数据表之间数据一致性的手段,通过实现引用完整性,可以避免因一个数据表的记录改变而使另一个数据表内的数据变成无效的值.引用完整性约束是指引用关系中外码的取值或者是空值(外码的每个属性值均为空值)或者是取被引用关系中某个元组的主码值.下面举例说明.a收稿日期:2005203217作者简介:程有娥(19632),女,山西定襄人,浙江省工贸学院副教授.主要从事数据库技术研究.©1994-2011ChinaAcademicJournalElectronicPublishingHouse.Allrightsreserv

6、ed.http://www.cnki.net48太原师范学院学报(自然科学版)               第4卷 现有两个关系模式:学生(学号,姓名,性别,专业号,年龄)和专业(专业号,专业名).学生关系中的主码是“学号”,“专业号”是其中的一个基本属性,但它是专业关系中的主码,那么学生关系中的“专业号”就是外码(也称外来键),外码“专业号”的取值或为空,或为专业关系中的某个元组的主码值.在使用引用完整性约束时要注意以下几个问题:1)外码是否可以接受空值.因为外码能否为空是依赖于应用环境的,如有两个关系模式分别为选修(学号,课程号,成绩)、学生(学号,姓名,性

7、别,年龄,所在系),选修关系中的外码“学号”不能为空,如果有空,说明某个不知学号的学生选修了某门课程,这与学校的应用环境不符.2)删除被引用关系的元组时的考虑.有时需要删除被引用关系的某个元组,而引用关系中又有若干元组的外码值与被删除的被引用关系中的主码值相对应,这时要进行级联删除,即将引用关系中的所有外码值与被引用关系中要删除元组主码值相对应的元组一起删除,如果引用关系同时又是另一个关系的被引用关系则这种级联删除应该级联下去.3)修改被引用关系中主码时的考虑.遇到这种情况时,做法同删除被引用关系的元组类似,要做级联修改,即修改被引用关系中主码值的同时,用相同的

8、方法修改引用关系中响应的

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

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

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