关系的完整性约束通常包括域完整性,实体完整性、参照完整性和用户定义完整性。
1、域完整性是保证数据库字段取值的合理性,是最简单、最基本的约束。在当今的关系DBMS中,一般都有域完整性约束检查功能。
2、实体完整性,作用是指在传输、存储信息或数据的过程中,确保信息或数据不被未授权的篡改或在篡改后能够被迅速发现。按实体完整性规则要求,主属性不得取空值,如主关键字是多个属性的组合,则所有主属性均不得取空值。
3、参照完整性,作用是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。关系数据库中通常都包含多个存在相互联系的关系,关系与关系之间的联系是通过公共属性来实现的。根据实体完整性要求,主关键字不得取空值。
4、用户定义完整性作用是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。这一约束机制一般不应由应用程序提供,而应有由关系模型提供定义并检验,用户定义完整性主要包括字段有效性约束和记录有效性。
扩展资料:
关系完整性模型
关系完整性模型中常用的关系 *** 作包括:选择、投影、连接、并、交、差等查询 *** 作和增加、删除、修改 *** 作两大部分。查询的表达能力是其中最重要的部分。
关系 *** 作的的特点是集合 *** 作方式,即 *** 作对象和结构都是集合。这种 *** 作方式也为一次一集合的方式。相应地,非关系数据模型的数据 *** 作方式则为一次一记录的方式。
早期的关系 *** 作能力通常用代数方式或逻辑方式来表示,分别称为关系代数和关系演算。关系代数用对关系的运算来表达查询要求的方式。关系代数、元组关系演算和域关系演算三种语言在表达能力是完全等价的。
关系语言是一种高度非过程化的语言,用户不必请求DBA为其建立特殊的存取路径,存取路径的选择由DBMS的优化机制来完成,此外,用户不必求助于循环结构就可以完成数据 *** 作。
参考资料来源:百度百科-关系完整性约束
参考资料来源:百度百科-实体完整性
有四个完整性,包括实体完整性、域完整性、参照完整性和用户定义的完整性。
1、实体完整性:表中行的完整性。主要用于保证 *** 作的数据非空、唯一且不重复。即实体完整性要求每个关系(表)有且仅有一个主键,每一个主键值必须唯一,而且不允许为“空”或重复。
2、域完整性:数据库表中的列必须满足某种特定的数据类型或约束。其中约束又包括取值范围、精度等规定。CHECK、FOREIGN KEY 约束和DEFAULT、 NOT NULL定义都属于域完整性的范畴。
3、参照完整性:属于表间规则,是对于更新、插入或删除表间数据的完整性。通常,在客观现实中的实体之间存在一定联系,在关系模型中实体及实体间的联系都是以关系进行描述,因此, *** 作时就可能存在着关系与关系间的关联和引用。
4、用户定义完整性:是对数据表中字段属性的约束,包括字段的值域、字段的类型和字段的有效规则(如小数位数)等约束,是由确定关系结构时所定义的字段的属性决定的。
扩展资料:
数据库完整性设计原则
1、要根据业务规则对数据库完整性进行细致的测试,以尽早排除隐含的完整性约束间的冲突和对性能的影响。
2、要有专职的数据库设计小组,自始至终负责数据库的分析、设计、测试、实施及早期维护。数据库设计人员不仅负责基于DBMS的数据库完整性约束的设计实现,还要负责对应用软件实现的数据库完整性约束进行审核。
3、应采用合适的CASE工具来降低数据库设计各阶段的工作量。好的CASE工具能够支持整个数据库的生命周期,这将使数据库设计人员的工作效率得到很大提高,同时也容易与用户沟通。
参考资料来源:百度百科-数据库完整性
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)