美文网首页
Database-0003-完整性约束

Database-0003-完整性约束

作者: 云转水流 | 来源:发表于2016-08-10 20:19 被阅读84次

2016.8.10

关系完整性是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。

完整性通常包括域完整性实体完整性参照完整性用户定义完整性
其中域完整性,实体完整性和参照完整性,是关系模型必须满足的完整性约束条件。

域完整性约束(Domain Integrity constrains)

域完整性是保证数据库字段取值的合理性。
属性值应是域中的值,这是关系模式规定了的。除此之外,一个属性能否为NULL,这是由语义决定的,也是域完整性约束的主要内容。
域完整性约束是最简单、最基本的约束。
在当今的关系DBMS中,一般都有域完整性约束检查功能。
包括检查(CHECK)、默认值(DEFAULT)、不为空(NOT NULL)、外键(FOREIGN KEY)等约束。

实体完整性约束(Entity integrity)

是指关系的主关键字不能重复也不能取空值。

参照完整性约束(Referential Iintigrity)

是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。
关系数据库中通常都包含多个存在相互联系的关系,关系与关系之间的联系是通过公共属性来实现的。
所谓公共属性,它是一个关系R(称为被参照关系或目标关系)的主关键字,同时又是另一关系K(称为参照关系)的外部关键字。
如果参照关系K的外部关键字不是其主关键字,要么与被参照关系R中某元组主关键字的值相同,要么取空值。
如果参照关系K的外部关键字也是其主关键字,根据实体完整性要求,主关键字不得取空值,因此,参照关系K外部关键字的取值实际上只能取相应被参照关系R中已经存在的主关键字值。

就是说一张表A的主键被另一张表B引用时,
若这个键在表B中不是主键,则可以取空值,或取表A中这个键已经存在的某值;
若这个键在表B中是主键,则不可以取空值,只能取表A中这个键已经存在的某值。

自定义完整性约束(user defined integrity)

是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。
主要包括字段有效性约束和记录有效性。

就是自己定义的一些约束。

相关文章

  • Database-0003-完整性约束

    2016.8.10 关系完整性是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。 完整性通...

  • mysql基础2-数据完整性约束使用

    四、数据完整性约束 实体完整性、域完整性、引用完整性、自定义完整性 1、实体完整性主键约束、唯一约束、主键自增 2...

  • 2018.12.28 数据定义DDL-3.3/3.4

    3.3数据完整性约束 3.3.1 数据的完整性约束 3.3.2 主键约束 3.3.3 代替键约束 3.3.4 参照...

  • SQL-完整性约束-2018.07.13

    完整性约束 数据类型完整性 非空约束 唯一键 主键约束 外键约束 默认值约束 标识列8 检查约束(CHECK)

  • MySQL实用知识

    关系模式的三类完整性约束条件分别是实体完整性约束、参照完整性约束和域完整性约束。 关键字是能唯一标识每一行的列或列...

  • 【笔记】数据表管理

    一、约束 【为什么要有约束?】 保证数据表数据的完整性和合理性 1.实体完整性(对行进行约束) 约束方法:唯一约束...

  • 数据库基本表的操作

    1、创建表 create table 基本表名(列名类型,......完整性约束,......)完整性约束主要有三...

  • SQLServer:表结构、主码、外码、完整性约束和课程作业

    表和完整性约束 表的定义以及完整性约束的定义定义列定义计算列定义主关键字(实体完整性约束)定义外部关键字(参照完整...

  • 数据库设计原理

    完整性约束: 实体完整性约束:主属性不能为空且是唯一 参照完整性:关系中不允许引用不存在的实体 用户自定义完整性:...

  • MySQL 基础 4 多表设计之外键约束

    1.1 约束 1.1.1 约束的作用   约束是用来保证数据的完整性。 1.1.2 单表约束 主键约束 唯一约束 ...

网友评论

      本文标题:Database-0003-完整性约束

      本文链接:https://www.haomeiwen.com/subject/dtfjsttx.html