精华内容
下载资源
问答
  • 关系数据库完整性规则

    千次阅读 2010-12-29 01:01:00
    不管你用的是SQL Server 还是MySQL 它们都是关系数据库,那么既然是关系数据库就要遵守“关系数据库的完整性规则” 关系数据库提供了三类完整性规则,实体完整性规则,参照完整性规则,用户自定义完成性...
       不管你用的是SQL Server 还是MySQL 它们都是关系型数据库,那么既然是关系型数据库就要遵守“关系型数据库的完整性规则”
       关系型数据库提供了三类完整性规则,实体完整性规则,参照完整性规则,用户自定义完成性规则;
    在这三类完成性规则中呢其中实体完整性规则和参照性完整性规则是关系模型必须满足的完整性的约束条件,称为关系完整性规则;
       一:实体完整性规则
       实体完整性规则是指关系的主属性(就是俗称主键的一些字段,主键的组成部分)不能为空值,我们知道现实生活中的每一个实体都具有唯一性,即使是两台一摸一样的计算机呢,都会有相应的生产日期来表示它们的唯一性,现实之中的实体是可以区分的,它们具有某种唯一性标识,相应的关系模型中以主键作为唯一性标识,主键中的属性即主属性不能是空值(“不知道”或“无意义”)的值,如果主属性为空值,就说明存在不可标识的实体,即存在不可区分的实体,这与现实的环境相矛盾,因此这个实体一定不是完整的实体;
       可能你看这段教条很枯燥,甚至有些不明白,这样理解就简单了:咱们设计表的时候不是每条记录前面都有个自己的ID吗,并且每个ID不一样,它其实就是为了区分每条记录的不一样,尽管你的其他字段的值都一样,只要ID不一样那么就是两条不一样的记录,就区分开了,就满足了实体完整性规则;
       二:参照完整性规则
       指如果关系的外键R1和关系R2的主键相符,那么外键的每个值必须在关系R2中主键的值中可以找到或者是空值;
        其实就是如果说在两个有关联的数据表中,一个数据表的外键(Foreigon Key)一定在另一个数据表中的主键(Primary Key)中可以找到;咱们先看图说话  大家先看一下图一和图二,一张是角色表(Role),一张是用户表(User),你们会发现在用户User表里的每一个字段Role_ID的值都可以在Role表中的Role_ID字段中找到对吧;在看第三张图也就是图三,图三的最后一条记录中Role_ID的值为“7”在图一的Role表里的Role_ID里是找不到的,所以说图三不符合参照完整性规则;
      
        (图一)
       
         (图二)
      
          (图三)
       三:用户自定义的完整性规则
       是指某一具体的实际数据库的约束条件,由应用环境所决定,反映某一具体应用所涉及的数据必须满足的要求(比如说一个人的年龄必须要大于零),根据现实生活中的一个实际情况用户定义的一个用户自定义完整性;
       比如你在设计表的时候有个年龄字段,那么这个字段里的值不能小于0吧,不能大于150吧,还没人能活到150岁对吧。
      
    展开全文
  • 关系数据库完整性

    千次阅读 2017-06-10 22:16:32
    系统在更新、插入或删除等操作时都要检查数据的完整性,核实其约束条件,即关系模型的完整性规则关系模型中有四类完整性约束:实体完整性、域完整性、参照完整性和用户定义完整性,其中实体完整性和参照完整性约束...

    1.作用
    数据库完整性约束用于保证数据的正确性。系统在更新、插入或删除等操作时都要检查数据的完整性,核实其约束条件,即关系模型的完整性规则。关系模型中有四类完整性约束:实体完整性、域完整性、参照完整性和用户定义完整性,其中实体完整性和参照完整性约束条件,成为关系的两个不变性。
    1.实体完整性
    实体完整性指表中行的完整性。主要用于保证操作的数据(记录)非空、唯一且不重复。即实体完整性要求每个关系表有且仅有一个主键,每个主键值必须唯一,而且不允许为“空”或重复。
    由于主键是实体数据(记录)的惟一标识,若主属性取空值,关系中就会存在不可标识(区分)的实体数据(记录),这与实体的定义矛盾,而对于非主属性可以取空值(NULL),因此,将此规则称为实体完整性规则

    2.域完整性
    域完整性是指数据库表中的列必须满足某种特定的数据类型或约束。其中约束又包括取值范围、精度等。表中的check、foreign key约束和default、not null定义都属于域完整性的范畴。

    3.参照完整性
    参照完整性属于表间规则。对于永久关系的相关表,在更新、插入或者删除记录时,如果只改其一,就会影响数据的完整性。如删除父表的某记录后,子表的相应记录未删除,致使这些记录称为孤立记录。对于更新、插入、删除表间数据的完整性,统称为参照完整性。
    在关系数据库中,关系之间的联系是通过公共属性实现的。这个公共属性经常是一个表的主键,同时是另一个表的外键。参照完整性体现在两个方面:实现了表与表之间的联系,外键的取值必须是另一个表的主键的有效值,或是“空”值。

    4.用户定义完整性
    用户定义完整性是对数据表中字段属性的约束,用户定义完整性规则也称域完整性规则。包括字段的值域、字段类型和字段的有效规则等约束,是由确定关系结构时所定义的字段属性决定的。

    设计阶段
    好的数据库完整设计需要在需求分析阶段确定数据库完整性约束–>概念设计阶段依据需求分析结果转换成一个独立于具体DBMS的概念模型,即实体关系图–>逻辑设计阶段就是将概念结构转换为某个DBMS所支持的数据模型,并对其进行优化,包括对关系模型的规范化。在逻辑结构设计阶段结束时,作为数据库模式一部分的完整性设计也就基本完成了。

    展开全文
  • 关系数据库——关系的完整性约束

    千次阅读 2019-04-09 08:38:38
    介绍关系数据库完整性约束——实体完整性,参照完整性、用户自定义完整性

    引言

    关系模型中有三类完整性约束:实体完整性、参照完整性、用户自定义完整性

    其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为关系的两个不变性,应该由关系系统自动支持。

    用户定义的完整性约束条件是应用领域需要遵循的约束条件,体现了具体领域中的语义约束。

    实体完整性

    若属性(指一个或者一组属性)A是基本关系R的主属性,则A不能取空值。

    规则说明:

    1. 实体完整性规则是针对基本关系而言的。
    2. 现实世界中的实体是可区分的,即他们具有某种唯一性标识。
    3. 相应地,关系模型中以主码作为唯一标识。
    4. 主码中的属性即主属性不能取空值。如果主属性取空值,就说明存在某个不可标识的实体,即存在不可区分的实体,与第二条相互矛盾,因此,这个规则称为实体完整性规则。

    参照完整性

    外码:设F是基本关系R的一个或者一组属性,但不是关系R的码,K(S)是基本关系S的主码。如果F与K(S)相对应,则称F是R的外码,并称基本关系R为参照关系,基本关系S为被参照关系或是目标关系。

    外码不一定要与相应的主码同名。

    例:

    学生(学号,姓名,性别,专业号,年龄)

    专业(专业号,专业名)

    若属性(或者属性组)F是基本关系R的外码,他与基本关系S的主码K(S)相对应,则对于R中每个元组在F上的取值要么取空值,要么等于S中某个元组的主码值。

    用户自定义完整性

    任何关系型数据库系统都应该支持实体完整性和参照完整性。这是关系模型所要求的。

    除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的约束条件就是针对某一具体关系数据库的约束条件,它反映了某一具体应用所涉及的数据必须满足的语义要求。

    例如在学生关系中,要求学生不能没有姓名,学生课程成绩关系中要求成绩必须在0到100之间。

    展开全文
  • 关系数据库完整性(理解)

    千次阅读 2020-06-25 11:22:29
    关系数据库的完整性实体完整性参照完整性用户定义完整性 数据库的完整性包括: 数据的正确性(输入正确,存储正确) 数据的相容性 (符合要求、规则) 举个简单的例子: 学生的学号必须唯一, 性别只能是男或女等等...


    数据库的完整性包括:

    • 数据的正确性(输入正确,存储正确)
    • 数据的相容性 (符合要求、规则)
      举个简单的例子:
      学生的学号必须唯一,性别只能是男或女等等。

    实体完整性

    规定表的每一行在表中是唯一的实体。
    通俗来讲就是创建了一个关系数据库的表,必须定义主码。

    参照完整性

    定义:也称引用完整,是指保持表之间已经定义好的关系。可以通过外键约束等。确保了键值所在表中一致,保证了表之间的数据一致性,防止数据丢失或不存在的数据在数据库中扩散
    简单来讲就是在含有关系的实体,需要定义外码。
    例如:
    关系sc(Sno,Cno)是主码,并且Sno(学号)跟Cno(课号)是分别参照student表跟course表的主码。
    用SQL语言来解释:
    create table sc (
    Sno char(10) not null,
    Cno char(10) not null,
    Grade int,
    primary key(Sno,Cno), /在表级定义实体完整性*/
    foreign key(Sno) references student(Sno),
    foreign key(Cno) references course(Cno),

    /外码体现了参照完整性/
    )

    用户定义完整性

    针对某一具体的应用的数据必须满足的语义要求。是针对某个特定的关系数据库的约束条件,反映某一具体的应用所涉及的数据必须满足的特定业务。
    create table时定义属性上的约束条件

    • 列值非空(NOT NULL)
    • 列值唯一(unique)
    • 检查列值是否满足一个条件表达式(check )
      我给你举个简单的例子。
      create table 学生 (
      学号 char(10) not null primary key,
      姓名 char(4) unique not null
      性别 char(2) check(性别 in(‘男’,‘女’))
      分数 int check(Grade>=0 and Grade <=100)
      ) /*体现了用户定义完整性
      是不是很简单,祝大家在数据库的学习中愉快的玩耍吧~
    展开全文
  • 文章目录关系数据库关系操作基本关系操作关系数据库语言的分类关系模型的完整性实体完整性(Entity Integrity)参照完整性(Referential Integrity)用户定义完整性(User-defined Integrity)E-R图向关系模型的转换...
  • 实体完整性: 域完整性: 引用完整性: 4.1 实体完整性 实体:即表中的一行(一条记录)代表一个实体(entity) 实体完整性的作用:标识每一行数据不重复。 约束类型: 主键约束(primary key) 唯一...
  • 数据库完整性5.1 实体完整性5.1.1 实体完整性定义5.1.2 实体完整性检查和违约处理5.2 参照完整性5.2.1 参照完整性定义5.2.2 参照完整性检查和违约处理小结5.3 用户定义的完整性5.3.1 属性上的约束条件不允许取空值列...
  • 关系数据库关系的完整性

    千次阅读 2014-11-14 22:57:39
    1、关系:D1×D2×…×Dn的子集叫做在域D1,D2,…Dn上...其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称作是关系的两个不变性,应该由关系系统自动支持。用户定义的完整性是应用领域需要遵循的约
  • 数据完整性 要想了解这三类完整性约束首先要了解什么是数据完整性。数据完整性是指数据库中存储的数据是有意义的或正确的,和现实世界相符。...实体完整性和参照完整性是关系模型必须满足的完整性约束...
  • 关系数据库的特点: 它将每个具有相同属性的数据独立的存在一个表中。对于任何一张表而言,用户而言可以新增、删除和修改表中的数据,而不会影响表中的其他数据。 键码(Key):标识行的一列或多列 主关键字...
  • 数据库-关系完整性

    2019-04-18 18:31:29
    3.关系完整性 关系模型中有三类完整性约束:实体完整性、参照完整性、用户定义的完整性。...规则 2.1 实体(主码)完整性规则 若属性(指一个或一组属性)A是基本关系R的主属性,则A不能取空值(null) ...
  • 关系完整性2.1 实体完整性2.2 参照完整性2.2.1 关系间的引用2.2.2 外码(Foreign Key)2.2.3 参照完整性规则2.3 用户定义的完整性 1. 关系操作 常用的关系操作 查询操作:选择、投影、连接、除、并、差、交、笛卡尔...
  • 关系模型中有3类完整性约束:域完整性、实体完整性、参照完整性。 1.域(列)完整性 也就是用户定义的表字段的完整性 通常指数据的有效性,它包括字段的值域、字段的类型及字段的有效规则等约束,它是由确定关系...
  • 数据库 - 数据库完整性

    千次阅读 2015-05-06 09:58:40
    数据库完整性数据的正确性和相容性数据的完整性和安全性是两个不同概念 数据的完整性 防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据 防范对象:不合语义的、不正确的数据 数据的安全...
  • 数据库完整性:数据的正确性(是指数据是符合现实世界语义,反映了当前实际状况的)、数据的相容性(是指数据库同一对象在不同关系表中的数据是符合逻辑的) 数据的完整性 : 防止数据库中存在不符合语义的数据,...
  • 数据库完整性

    2014-08-30 15:27:52
    在主流的教材中,数据库完整性
  • 【吐血整理】数据库完整性

    千次阅读 多人点赞 2020-04-06 15:59:31
    本文目录前言一、实体完整性1. 实体完整性定义2. 实体完整性检查和违约处理二、参照完整性1. 参照完整性定义2. 参照完整性检查和违约处理三、用户定义的完整性1. 属性上的约束条件2. 元组上的约束条件四、完整性约束...
  • 数据库关系模型的三类完整性约束

    千次阅读 2019-02-25 10:12:10
    定义:实体完整性是用于保证关系数据库中每个元组都是可区分的,唯一的。 它的意思就是说数据表中每一行都应该有办法将其唯一区分开来,这自然指的就是主键了,而且主键必须不能为空或部分为空。 那么它大可以直接...
  • 关系数据库的三大完整性

    千次阅读 2017-10-30 21:39:57
    一,饭前甜点三大完整性:实体完整性,参照完整性和用户定义的完整性。其中前两个是关系模型必须满足的完整性约束条件,由系统自动支持。用户定义的完整性体现了具体应用领域的要求。二,主食 实体完整性:主码(或...
  • 数据库完整性

    千次阅读 2014-12-05 17:06:30
    关系数据库中有三类完整性约束:实体完整性,参照完整性和用户自定义完整性,其中完整性和参照完整性是数据库必须满足的完整性约束 条件,而用户自定义完整性可以根据实际情况而定 实体完整
  • 数据库题目之数据库完整性

    千次阅读 2019-01-10 15:12:54
    完整性控制  【答案:】D 2、关于主键约束以下说法错误的是( ) A. 一个表中只能设置一个主键约束 B.允许空值的字段上不能定义主键约束 C.允许空值的字段上可以定义主键约束 D.、可以将包含多个字段的字段...
  • 关系完整性是对关系的...其中实体完整性和参照完整性是关系模型必须满足的约束条件,或者说是所有数据库管理系统都自动支持的约束条件。而用户自定义完整性则是根据不同的应用程序(不同的使用场景)有选择的设置的...
  • 试述关系模型的完整性规则。在参照完整性中,什么情况下外码属性的值可以为空值?

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,649
精华内容 18,259
关键字:

关系数据库的实体完整性规则