数据完整性5个原则

发布时间:2024-10-29 21:29:01

数据库完全性对数据库利用体系非常关键,其感化重要表现在以下多少个方面:

1.数据库完全性束缚可能避免合法用户利用数据库时向数据库中增加不合语义的数据。

2.利用基于DBMS的完全性把持机制来实现营业规矩,易于定义,轻易懂得,并且可能降落利用顺序的复杂性,进步利用顺序的运转效力。同时,基于DBMS的完全性把持机制是会合管理的,因此比利用顺序更轻易实现数据库的完全性。

3.公道的数据库完全性计划,可能同时兼顾数据库的完全性跟体系的效力。比方装载大年夜量数据时,只有在装载之前常设使基于DBMS的数据库完全性束缚掉效,此后再使其掉效,就能保证既不影响数据装载的效力又能保证数据库的完全性。

4.在利用软件的功能测试中,完美的数据库完全性有助于尽早发明利用软件的错误。

数据库完全性束缚可分为6类:列级静态束缚、元组级静态束缚、关联级静态束缚、列级静态束缚、元组级静态束缚、关联级静态束缚。静态束缚平日由利用软件来实现。差别DBMS支撑的数据库完全性基本相同。

关联模型

关联完全性的用于保证数据库中数据的正确性。体系在停止更新、拔出或删除等操纵时都要检查数据的完全性,核实其束缚前提,即关联模型的完全性规矩。在关联模型中有四类完全性束缚:实体完全性、域完全性、参照完全性跟用户定义的完全性,其中实体完全性跟参照完全性束缚前提,称为关联的两个稳定性。

实体

关联数据库的完全性规矩是数据库计划的重要内容。绝大年夜部分关联型数据库管理体系RDBMS都可主动支撑关联完全性规矩,只有效户在定义(树破)表的构造时,留神选定主键、外键及其参照表,RDBMS可主动实现其完全性束缚前提。

(1)实体完全性(Entity Integrity)。实体完全性指表中行的完全性。重要用于保证操纵的数据(记录)非空、独一且不反复。即实体完全性请求每个关联(表)有且仅有一个主键,每一个主键值必须独一,并且不容许为“空”(NULL)或反复。

(2)实体完全性规矩请求。若属性A是基本关联R的主属性,则属性A不克不及取空值,即主属性弗成为空值。其中的空值(NULL)不是0,也不是空隔或空字符串,而是不值。现实上,空值是指临时“不存放的值”、“不晓得”或“有意思”的值。因为主键是实体数据(记录)的唯一标识,若主属性取空值,关联中就会存在弗成标识(辨别)的实体数据(记录),这与实体的定义抵触,而对非主属性可能取空值(NULL),因此,将此规矩称为实体完全性规矩。如学籍关联(表)中主属性“学号”(列)中不克不及有空值,不然无法操纵挪用学籍表中的数据(记录)。

域完全性

域完全性(Domain Integrity)是指数据库表中的列必须满意某种特定的数据范例或束缚。其中束缚又包含取值范畴、精度等规定。表中的CHECK、FOREIGN KEY 束缚跟DEFAULT、 NOT NULL定义都属于域完全性的范畴。

参照完全性

参照完全性(Referential Integrity)属于表间规矩。对永久关联的相干表,在更新、拔出或删除记录时,假如只改其一,就会影响数据的完全性。如删除父表的某记录后,子表的响应记录未删除,以致这些记录称为孤破记录。对更新、拔出或删除表间数据的完全性,统称为参照完全性。平日,在客不雅现实中的实体之间存在必定接洽,在关联模型中实体及实体间的接洽都是以关联停止描述,因此,操纵时就可能存在着关联与关联间的关联跟引用。

在关联数据库中,关联之间的接洽是经由过程大年夜众属性实现的。这个大年夜众属性常常是一个表的主键,同时是另一个表的外键。参照完全性表现在两个方面:实现了表与表之间的接洽,外键的取值必须是另一个表的主键的有效值,或是“空”值。

参照完全性规矩(Referential Integrity)请求:若属性组F是关联形式R1的主键,同时F也是关联形式R2的外键,则在R2的关联中,F的取值只容许两种可能:空值或等于R1关联中某个主键值。

R1称为“被参照关联”形式,R2称为“参照关联”形式。

留神:在现实利用中,外键不必定与对应的主键同名。外键常用下划曲线标出。

用户定义完全性

用户定义完全性(User-defined Integrity)是对数据表中字段属性的束缚,用户定义完全性规矩(User-defined integrity)也称域完全性规矩。包含字段的值域、字段的范例跟字段的有效规矩(如小数位数)等束缚,是由断定关联构造时所定义的字段的属性决定的。如,百分制成绩的取值范畴在0~100之间等。

计划阶段

一个好的数据库完全性计划起首须要在须要分析阶段断定要经由过程数据库完全性束缚实现的营业规矩,然后在充分懂得特定DBMS供给的完全性把持机制的基本上,根据全部体系的体系构造跟机能请求,按照数据库计划方法跟利用软件计划方法,公道抉择每个营业规矩的实现方法;最后,当真测试,打消隐含的束缚抵触跟机能成绩。基于DBMS的数据库完全性计划大年夜要分为以下多少个阶段:

须要分析

经过体系分析员、数据库分析员、用户的独特尽力,断定体系模型中应当包含的东西,如人事及工资管理体系中的部分、员工、经理等,以及各种营业规矩。

在实现寻觅营业规矩的任务之后,断定要作为数据库完全性的营业规矩,并对营业规矩停止分类。其中作为数据库形式一部分的完全性计划按下面的过程停止。而由利用软件来实现的数据库完全性计划将按照软件工程的方法停止。

不雅点计划

不雅点构造计划阶段是将根据须要分析的成果转换成一个独破于具体DBMS的不雅点模型,即实体关联图(ERD)。在不雅点构造计划阶段就要开端数据库完全性计划的本质阶段,因为此阶段的实体关联将在逻辑构造计划阶段转化为实体完全性束缚跟参照完全性束缚,到逻辑构造计划阶段将实现计划。

数据完全性5个原则

5个原则:归属性、清楚长久的属性、同步性、原始性、正确性。