精华内容
下载资源
问答
  • 关系完整性约束

    千次阅读 2019-06-15 14:25:21
    除此之外,一个属性能否为NULL,这是由语义决定,也是域完整性约束的主要内容。 包括检查(CHECK)、默认值(DEFAULT)、不为空(NOT NULL)、外键(FOREIGN KEY)等约束。 实体完整性(Entity integr...

    分为:

    域完整性

    实体完整性

    参照完整性

    用户定义完整性

     


    域完整性是保证数据库字段取值的合理性。

    属性值应是域中的值,这是关系模式规定了的。除此之外,一个属性能否为NULL,这是由语义决定的,也是域完整性约束的主要内容。

    包括检查(CHECK)、默认值(DEFAULT)、不为空(NOT NULL)、外键(FOREIGN KEY)等约束。


    实体完整性(Entity integrity)是指关系的主关键字不能重复也不能取“空值"。

     

    现实世界中的实体是可以相互区分、识别的,也即它们应具有某种惟一性标识。在关系模式中,以主关键字作为唯一性标识


    参照完整性(Referential Integrity)是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。

     

    在学生管理数据库中,如果将选课表作为参照关系,学生表作为被参照关系,以“学号\"作为两个关系进行关联的属性,则“学号\"是学生关系的主关键字,是选课关系的外部关键字。选课关系通过外部关键字“学号’’参照学生关系。


    用户定义完整性  

    用户定义完整性(user defined integrity)则是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。这一约束机制一般不应由应用程序提供,而应有由关系模型提供定义并检验,用户定义完整性主要包括字段有效性约束和记录有效性。

     

     

     

    辨析:将年龄字段值限制在12~40岁之间的这种约束属于

     

    域完整性是指数据库数据取值的正确性,它包括数据类型、精度、取值范围以及是否允许空值等。题目中是在建立数据库表时对年龄字段值进行限制,这是对数据取值的取值范围进行规定,因此这是域完整性的设定,选项B为正确答案。

    展开全文
  • 本节书摘来自华章出版社《数据库原理与应用(第3版)》一 书中的第3章,第3.4节,作者:何玉洁,更多章节内容可以访问云栖社区“华章...它的数据完整性约束主要包括三大类:实体完整性、参照完整性和用户定义的完整...

    本节书摘来自华章出版社《数据库原理与应用(第3版)》一 书中的第3章,第3.4节,作者:何玉洁,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

    3.4 关系模型的完整性约束

    数据完整性是指数据库中存储的数据是有意义的或正确的。关系模型中的数据完整性规则是对关系的某种约束条件。它的数据完整性约束主要包括三大类:实体完整性、参照完整性和用户定义的完整性。

    3.4.1 实体完整性

    实体完整性是保证关系中的每个元组都是可识别的和唯一的。
    实体完整性是指关系数据库中所有的表都必须有主键,而且表中不允许存在无主键值的记录和主键值相同的记录。
    因为若记录没有主键值,则此记录在表中一定是无意义的。由于关系模型中的每一行记录都对应客观存在的一个实例或一个事实。比如,表3-1中的第一行数据描述的就是“李勇”这个学生。如果将表3-1中的数据改为表3-6所示的数据,可以看到,第1行和第3行数据没有主键值,查看其他列的值发现这两行数据的其他各列的值都是一样的,这会产生这样的疑问:到底是在计算机系中存在名字、年龄、性别完全相同的两个学生,还是重复存储了李勇学生的信息?这就是缺少主键值时造成的情况。如果为其添加主键值为表3-7所示数据,则可以判定在计算机系有两个姓名、年龄、性别完全相同的学生。如果为其添加主键值为表3-8所示数据,则可以判定在这个表中有重复存储的记录,而在数据库中存储重复的数据是没有意义的。
    screenshot

    当在表中定义了主键时,数据库管理系统会自动保证数据的实体完整性,即保证不允许存在主键值为空的记录以及主键值重复的记录。
    关系模型中使用主键作为记录的唯一标识,在关系数据库中主属性不能取空值。关系数据库中的空值是特殊的标量常数,它代表未定义的(不适用的)或者有意义但目前还处于未知状态的值。比如当向表3-2所示的“选课”关系中插入一行记录时,在学生还没有考试之前,其成绩是不确定的,因此,我们希望此列上的值为空。空值用“NULL”表示。
    3.4.2 参照完整性
    参照完整性也称为引用完整性。现实世界中的实体之间往往存在着某种联系,在关系模型中,实体以及实体之间的联系都是用关系来表示的,这样就自然存在着关系与关系之间的引用。参照完整性就是描述实体之间的联系的。
    参照完整性一般是指多个实体或表之间的关联关系。
    例3-1 学生实体和班实体可以用下面的关系模式表示,其中主键用下划线标识:
    学生(学号,姓名,性别,班号,年龄)
    班(班号,所属专业,人数)
    这两个关系模式之间存在着属性的引用,即“学生”关系中的“班号”引用了“班”关系的主键“班号”。显然,“学生”关系中的“班号”的值必须是确实存在的班的班号的值,即在“班”关系中有该班号的记录。也就是说,“学生”关系中的“班号”的取值参照了“班”关系中的“班号”的取值。这种限制一个关系中某列的取值受另一个关系中某列的取值范围约束的特点就称为参照完整性。
    例3-2 学生、课程以及学生与课程之间的选课关系可以用如下三个关系模式表示,其中主键用下划线标识:
    学生(学号,姓名,性别,专业,年龄)
    课程(课程号,课程名,学分)
    选课(学号,课程号,成绩)
    这三个关系模式间也存在着属性的引用。“选课”关系中的“学号”引用了“学生”关系中的主键“学号”,即“选课”关系中的“学号”的值必须是确实存在的学生的学号,也就是在“学生”关系中有这个学生的记录。同样,“选课”关系中的“课程号”引用了“课程”关系中的主键“课程号”,即“选课”中的“课程号”也必须是“课程”中存在的课程号。
    与实体间的联系类似,不仅两个或两个以上的关系间可以存在引用关系,同一个关系的内部属性之间也可以存在引用关系。
    例3-3 有关系模式:职工(职工号,姓名,性别,直接领导职工号)
    在这个关系模式中,“职工号”是主键,“直接领导职工号”属性表示该职工的直接领导的职工号,这个属性的取值就参照了该关系中“职工号”属性的取值,即“直接领导职工号”必须是确实存在的一个职工。
    进一步定义外键:设F是关系R的一个或一组属性,如果F与关系S的主键相对应,则称F是关系R的外键(Foreign Key,也称为外码),并称关系R为参照关系(Referencing Relation),关系S为被参照关系(Referenced Relation)或目的关系(Target Relation)。关系R和关系S不一定是不同的关系。
    显然,目标关系S的主键Ks和参照关系R的外键F必须定义在同一个域上。
    在例3-1中,“学生”关系中的“班号”属性与“班”关系中的主键“班号”对应,因此,“学生”关系中的“班号”是外键,引用了“班”关系中的“班号”(主键)。这里,“班”关系是被参照关系,学生关系是参照关系。
    可以用图3-3所示的图形化方法形象地表达参照和被参照关系。“班”和“学生”的参照与被参照关系的图形化表示如图3-4a所示。
    在例3-2中,“选课”关系中的“学号”属性与“学生”关系中的主键“学号”对应,“课程号”属性与“课程”关系的主键“课程号”对应,因此,“选课”关系中的“学号”属性和“课程号”属性均是外键。这里“学生”关系和“课程”关系均为被参照关系,“选课”关系为参照关系,其参照关系图如图3-4b所示。
    在例3-3中,职工关系中的“直接领导职工号”属性与本身所在关系的主键“职工号”属性对应,因此,“直接领导职工号”是外键。这里,“职工”关系即是参照关系也是被参照关系,其参照关系图如图3-4c所示。

    screenshot
    需要说明的是,外键并不一定要与相对应的主键同名(如例3-3)。但在实际应用中,为了便于识别,当外键与相应的主键属于不同的关系时,一般给它们取相同的名字。
    参照完整性规则就是定义外键与被参照的主键之间的引用规则。
    对于外键,一般应符合如下要求:
    1)或者值为空。
    2)或者等于其所参照的关系中的某个元组的主键值。
    例如,对于职工与其所在的部门可以用如下两个关系模式表示,主键用下画线标识:
    职工(职工号,职工名,部门号,工资级别)
    部门(部门号,部门名)
    其中,“职工”关系的“部门号”是外键,它参照了“部门”关系的“部门号”。如果某新来职工还没有被分配到具体的部门,则其“部门号”就为空值;如果职工已经被分配到了某个部门,则其部门号就有了确定的值(非空值)。
    主键要求必须是非空且不重的,但外键无此要求。外键可以有重复值,这点我们从表3-2可以看出。

    3.4.3 用户定义的完整性

    用户定义的完整性也称为域完整性或语义完整性。任何关系数据库系统都应该支持实体完整性和参照完整性,除此之外,不同的数据库应用系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性就是针对某一具体应用领域定义的数据库约束条件,它反映某一具体应用所涉及的数据必须满足应用语义的要求。
    用户定义的完整性实际上就是指明关系中属性的取值范围,也就是属性的域,即限制关系中的属性的取值类型及取值范围,防止属性的值与应用语义矛盾。例如,学生的考试成绩的取值范围为0~100,或取{优、良、中、及格、不及格}。

    展开全文
  • 完整性约束

    2016-04-17 11:21:26
    完整性通常包括域完整性,实体完整性、参照完整性和用户定义完整性,其中域完整性,实体完整性和参照完整性,是关系模型必须满足的完整性约束条件。域完整性约束域完整性是保证数据库字段取值的合理性。 属性值应是...

    关系完整性是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。完整性通常包括域完整性,实体完整性、参照完整性和用户定义完整性,其中域完整性,实体完整性和参照完整性,是关系模型必须满足的完整性约束条件。

    1.域完整性约束

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

    2.实体完整性约束

    实体完整性(Entity integrity)是指关系的主关键字不能重复也不能取“空值”。
    一个关系对应现实世界中一个实体集。现实世界中的实体是可以相互区分、识别的,也即它们应具有某种惟一性标识。在关系模式中,以主关键字作为唯一性标识,而主关键字中的属性(称为主属性)不能取空值,否则,表明关系模式中存在着不可标识的实体(因空值是“不确定\”的),这与现实世界的实际情况相矛盾,这样的实体就不是一个完整实体。按实体完整性规则要求,主属性不得取空值,如主关键字是多个属性的组合,则所有主属性均不得取空值。
    如表1.1将编号作为主关键字,那么,该列不得有空值,否则无法对应某个具体的职工,这样的表格不完整,对应关系不符合实体完整性规则的约束条件。

    3.参照完整性

    参照完整性(Referential Iintigrity)是定义建立关系之间联系的主关键字与外部关键字引用的约束条件。
    关系数据库中通常都包含多个存在相互联系的关系,关系与关系之间的联系是通过公共属性来实现的。所谓公共属性,它是一个关系R(称为被参照关系或目标关系)的主关键字,同时又是另一关系K(称为参照关系)的外部关键字。如果参照关系K中外部关键字的取值,要么与被参照关系R中某元组主关键字的值相同,要么取空值,那么,在这两个关系间建立关联的主关键字和外部关键字引用,符合参照完整性规则要求。如果参照关系K的外部关键字也是其主关键字,根据实体完整性要求,主关键字不得取空值,因此,参照关系K外部关键字的取值实际上只能取相应被参照关系R中已经存在的主关键字值。
    在学生管理数据库中,如果将选课表作为参照关系,学生表作为被参照关系,以“学号\”作为两个关系进行关联的属性,则“学号\”是学生关系的主关键字,是选课关系的外部关键字。选课关系通过外部关键字“学号’’参照学生关系。

    4.用户定义完整性

    实体完整性和参照完整性适用于任何关系型数据库系统,它主要是针对关系的主关键字和外部关键字取值必须有效而做出的约束。用户定义完整性(user defined integrity)则是根据应用环境的要求和实际的需要,对某一具体应用所涉及的数据提出约束性条件。这一约束机制一般不应由应用程序提供,而应有由关系模型提供定义并检验,用户定义完整性主要包括字段有效性约束和记录有效性。

    展开全文
  • 关系数据模型操纵主要包括查询、插入、删除和更新数据,这些操作必须遵循三大完整性约束,分别为: 参照完整性:要求关系中不允许引用不存在实体 用户自定义完整性:针对某一具体关系数据库约束条件,它反映...

    数据模型:

    目前常用的数据模型有层次模型网状模型关系模型。其中层次模型和网状模型统称为非关系模型,现已逐渐被关系模型取代。

    关系数据模型的操纵与完整性约束:

    关系数据模型的操纵主要包括查询、插入、删除和更新数据,这些操作必须遵循三大完整性约束,分别为:

    参照完整性:要求关系中不允许引用不存在的实体

    用户自定义完整性:针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足语义的要求。

    实体完整性:要求每一个表中的主键字段都不能为空或者重复的值。

     

    三级模式与两级映像:

    三级模式为:外模式、模式、内模式,如图所示:

    模式:模式也称为逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图,实际上模式是数据库数据在逻辑上的视图。一个数据库只有一个模式。

    外模式:也称为子模式或用户模式,是模式的子集,一个数据库可以有多个外模式。由于各个用户存在不同应用需求,对数据保密的要求存在差异,所以他们的外模式就是不同的。另一方面,一个外模式可以为多个应用程序所使用,但一个应用程序只有一个外模式。

    内模式:内模式也成为存储模式,它是数据物理结构和存储结构的描述,是在数据库内部的表达方式。

    两级映像:外模式/模式映像、模式/内模式映像

    两级映像的结构能使数据库中的数据有较高的逻辑独立性和物理独立性。

    逻辑独立性:当模式改变时(例如,增加新的数据类型、新的数据项、新的关系等),由数据库管理员对各个外模式/模式映像做出改变,可以使外模式保持不变、从而应用程序不必修改,保证了数据的逻辑独立性。

    物理独立性:当数据库的存储结构改变了(例如,采用了更先进的存储结构),有数据库管理员对模式/内模式做出改变,可以使

    模式不变,从而保证数据的物理独立性。

     

    展开全文
  • 是对数据表中字段属性进行约束,包括字段值域、字段类型以及字段有效规则等约束,域完整性主要包括not null约束,唯一性约束,检查约束。 实体完整性 即指关系主属性值不能为null,不能重复。实体完整性...
  • 概念结构设计(难点):找到每个功能实体、属性及关系(要按照数据库范式去划分实体属性范围,同时按照数据完整性要求使用各种约束条件)。主要采用E-R模型进行设计,包括画E-R图 逻辑结构设计:根据E-R图画出...
  • 数据库及数据库中表等数据库对象建立实验(包括关系图、完整性、权限控制、视图、索引等内容)实验1 SQL Server安装安装过程展示实验2 设计数据库、创建数据库和数据表实验5 视图实验6 完整性约束实验7 权限管理...
  • MySQL 提供了数据的完整性约束主要包括实体完整性,域完整性和引用完整性。 实体完整性是对关系中的记录进行约束,即对行的约束。 一,主键约束 主键(promary key)用于唯一的标识表中的某一条记录,在两个表的...
  • 完整性的定义

    2021-05-05 23:48:37
    完整性的定义 实体完整性:主键,用来在表中搞唯一性,设置是一行数据 ...这一约束机制一般不应由应用程序提供,而应有由关系模型提供定义并检验,用户定义完整性 主要包括字段有效性约束和记录有效性。 ...
  • 关系的完整性主要包括域完整性、实体完整性和参照完整性三种。 1.域(列)完整性   域完整性是对数据表中字段属性的约束,通常指数据的有效性,它包括字段的值域、字段的类型及字段的有效规则等约束,它是由确定...
  • (5) 数据的完整性

    2019-09-25 03:42:55
    MySQL提供了数据的完整性约束主要包括实体完整性,域完整性和引用完整性。 5.1 实体完整性 实体完整性是对关系中的记录进行约束,即对行的约束。此处主要讲解主键约束、唯一约束和自动增长列。 1. 主键约束 主键...
  • 用户自定义完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及数据必须满足语义要求。主要包括非空约束、唯一约束、检查约束、主键约束、外键约束 1、非空约束(Not Null Constraint)  ...
  • mysql数据完整性

    2019-07-14 17:10:35
    关系的完整性主要包括域完整性、实体完整性和参照完整性三种 1.域(列)完整性 域完整性是对数据表中字段属性的约束,通常指数据的有效性,它包括字段的值域、字段的类型及字段的有效规则等约束,它是由确定关系结构...
  • 了解:关系数据结构及形式化定义、关系操作、关系的完整性、关系代数 掌握 关系模型的三个组成部分及各部分所包括主要内容 关系数据结构及其形式化定义 关系的三类完整性约束 关系代数及其运算,包括并、交、...
  • 了解:关系数据结构及形式化定义、关系操作、关系的完整性、关系代数 掌握 关系模型的三个组成部分及各部分所包括主要内容 关系数据结构及其形式化定义 关系的三类完整性约束 关系代数及其运算,包括并、交、差、...
  • 关系数据库

    2017-04-23 21:36:44
    关系模型三要素分别是关系数据结构、关系操作集合以及关系完整性约束关系模型数据结构就是关系,类似于一张分量不可分二维表。关系操作包括一般查询操作和插入、删除、修改操作,其中查询操作是最主要的...
  • 一个完整数据模型包括数据结构、数据操作和完整性约束三部分。在数据模型多级描述中,主要包括概念模型、逻辑数据模型和物理数据模型。概念模型是以客户观点和想法为基础,对现实世界事物抽象;逻辑数据模型是...
  •   数据库系统学习第六篇:关系模式。...完整性约束:实体完整性、参照完整性、自定义完整性。   下面将进一步分析关系模式 。 数据库模式和关系模式基本概念   谈这两个之前,需要知道 模式指...
  • 第6章 保护数据的完整性 228 6.1 最佳实践 229 6.2 自动数据保护 231 6.2.1 声明性数据保护 231 6.2.2 基本语法 233 6.2.3 基于简单表达式的CHECK约束 235 6.2.4 基于函数的CHECK约束 237 6.2.5 约束引起的...
  • 第6章 保护数据的完整性 228 6.1 最佳实践 229 6.2 自动数据保护 231 6.2.1 声明性数据保护 231 6.2.2 基本语法 233 6.2.3 基于简单表达式的CHECK约束 235 6.2.4 基于函数的CHECK约束 237 6.2.5 约束引起的...
  • 第一章 数据库技术基础 1.2 数据模型 数据模型按...1.2.2 关系模型 关系模式R(U,D,F) 关系数据模型的操作主要包括查询插入 删除和修改数据 关系的完整性约束条件包括三大类实体完整性参照完整性和用户自定义的完整性
  • 数据库复习

    2021-05-17 21:47:03
    简述题 数据库管理系统的主要功能有哪些: 数据库定义功能 ...关系的完整性约束包括主键约束、外键约束和用户定义的完整性约束三种。 SQL的定义功能 定义表 定义视图 定义索引 什么是数据库安全性 数据
  • 第二章:关系数据库 1、关系模型的3个组成部分及各部分所包括主要内容。...3、关系的完整性约束 实体完整性和参照完整性:关系模型必须满足的完整性约束条件称为关系的两个不变性,应该由关系系统自动支持。 ...
  • 1、关系数据库介绍

    2013-05-28 16:21:00
    一个完整数据模型包括数据结构、数据操作和完整性约束三部分。在数据模型多级描述中,主要包括概念模型、逻辑数据模型和物理数据模型。概念模型是以客户观点和想法为基础,对现实世界事物抽象;逻辑数据模型是...
  •  实体完整性(Entity Integrity 行完整性):实体完整性指表中行的完整性主要用于保证操作的数据(记录)非空、唯一且不重复。即实体完整性要求每个关系(表)有且仅有一个主键,每一个主键值必须唯一,而且不...
  • vb.net数据库开发专业教程 第二辑

    千次阅读 2016-10-20 10:21:40
    1.4数据完整性 ...关系模型中完整性约束条件主要包括实体完整性和参照完整性,所谓实体完整性是指构成关系主键属性或属性集合不能为空。在关系模型中,系统要求不能有两个完全相同元组,各
  • 数据库 第二章

    2020-12-20 16:12:56
    了解:关系数据结构及形式化定义、关系操作、关系的完整性、关系代数 掌握 关系模型的三个组成部分及各部分所包括主要内容 关系数据结构及其形式化定义 关系的三类完整性约束 关系代数及其运算,包括并、交、...
  • 第二章

    2020-12-20 16:09:41
    了解:关系数据结构及形式化定义、关系操作、关系的完整性、关系代数 掌握 关系模型的三个组成部分及各部分所包括主要内容 关系数据结构及其形式化定义 关系的三类完整性约束 关系代数及其运算,包括并、交、...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 173
精华内容 69
关键字:

关系的完整性约束主要包括