精华内容
下载资源
问答
  • 在这种关系中,A 表中一行可以匹配 B 表中的多行,但是 B 表中一行只能匹配 A 表中一行。例如,publishers 和 titles 之间具有一对多关系个出版社出版很多书,但是本书名只能出自一个出版社。 ...

    一对多关系

    一对多关系是最普通的一种关系。在这种关系中,A 表中的一行可以匹配 B 表中的多行,但是 B 表中的一行只能匹配 A 表中的一行。例如,publishers 和 titles 表之间具有一对多关系:每个出版社出版很多书,但是每本书名只能出自一个出版社。

    只有当一个相关列是一个主键或具有唯一约束时,才能创建一对多关系。

    多对多关系

    多对多关系中,A 表中的一行可以匹配 B 表中的多行,反之亦然。要创建这种关系,需要定义第三个表,称为结合表,它的主键由 A 表和 B 表的外部键组成。例如,authors 和 titles 表具有多对多关系,这是由于这些表都与titleauthors 表具有一对多关系。titleauthors 表的主键是 au_id 列(authors 表的主键)和 title_id 列(titles 表的主键)的组合。

    一对一关系

    一对一关系中,A 表中的一行最多只能匹配于 B 表中的一行,反之亦然。如果相关列都是主键或都具有唯一约束,则可以创建一对一关系。

    这种关系并不常见,因为一般来说,按照这种方式相关的信息都在一个表中。可以利用一对一关系来:

    • 分割具有多列的表。

    • 由于安全原因而隔离表的一部分。

    • 保存临时的数据,并且可以毫不费力地通过删除该表而删除这些数据。

    • 保存只适用于主表的子集的信息。

    展开全文
  • 表关系(,对多,多对多)

    千次阅读 2016-08-25 20:28:08
    可以在数据库图表之间创建关系,以显示表中的列与另表中的列是如何相链接的。 在关系型数据库,利用关系可以避免多余的数据。例如,如果设计个可以跟踪图书信息的数据库,您需要创建个名...

    可以在数据库图表中的表之间创建关系,以显示一个表中的列与另一个表中的列是如何相链接的。

    在一个关系型数据库中,利用关系可以避免多余的数据。例如,如果设计一个可以跟踪图书信息的数据库,您需要创建一个名为 titles 的表,它用来存储有关每本书的信息,例如书名、出版日期和出版社。您也可能保存有关出版社的信息,诸如出版社的电话、地址和邮政编码。如果您打算在 titles 表中保存所有这些信息,那么对于某出版社出版的每本书都会重复该出版社的电话号码。

    更好的方法是将有关出版社的信息在单独的表,publishers,中只保存一次。然后可以在 titles 表中放置一个引用出版社表中某项的指针。

    为了确保您的数据同步,可以实施 titles 和 publishers 之间的参照完整性。参照完整性关系可以帮助确保一个表中的信息与另一个表中的信息相匹配。例如,titles 表中的每个书名必须与 publishers 表中的一个特定出版社相关。如果在数据库中没有一个出版社的信息,那么该出版社的书名也不能添加到这个数据库中。

    为了更好地理解表关系,请参阅:

    定义表关系

    关系的确立需要通过匹配列中的数据(通常是两表中同名的列)。在大多数情况下,该关系会将一个表中的主键(它为每提供了唯一标识)与另一个表的外部键中的某项相匹配。例如,通过创建 titles 表中的 title_id(主键)与 sales 表中的 title_id 列(外部键)之间的关系,则销售额就与售出的特定书名相关联了。

    表之间有三种关系。所创建关系的类型取决于相关是如何定义的。

    一对多关系

    一对多关系是最普通的一种关系。在这种关系中,A 表中的一行可以匹配 B 表中的多行,但是 B 表中的一行只能匹配 A 表中的一行。例如,publishers 和 titles 表之间具有一对多关系:每个出版社出版很多书,但是每本书名只能出自一个出版社。

    只有当一个相关列是一个主键或具有唯一约束时,才能创建一对多关系。

    多对多关系

    多对多关系中,A 表中的一行可以匹配 B 表中的多行,反之亦然。要创建这种关系,需要定义第三个表,称为结合表,它的主键由 A 表和 B 表的外部键组成。例如,authors 和 titles 表具有多对多关系,这是由于这些表都与titleauthors 表具有一对多关系。titleauthors 表的主键是 au_id 列(authors 表的主键)和 title_id 列(titles 表的主键)的组合。

    一对一关系

    一对一关系中,A 表中的一行最多只能匹配于 B 表中的一行,反之亦然。如果相关列都是主键或都具有唯一约束,则可以创建一对一关系。

    这种关系并不常见,因为一般来说,按照这种方式相关的信息都在一个表中。可以利用一对一关系来:

    • 分割具有多列的表。

    • 由于安全原因而隔离表的一部分。

    • 保存临时的数据,并且可以毫不费力地通过删除该表而删除这些数据。

    • 保存只适用于主表的子集的信息。

    实施参照完整性

    参照完整性是一个规则系统,能确保相关表行之间关系的有效性,并且确保不会在无意之中删除或更改相关数据。

    当实施参照完整性时,必须遵守以下规则:

    • 如果在相关表的主键中没有某个值,则不能在相关表的外部键列中输入该值。但是,可以在外部键列中输入一个 null 值。例如,不能将一项工作分配给一位没有包含在 employee 表中的雇员,但是可以在 employee 表的 job_id 列中输入一个 null 值,表明一位雇员没有分配工作。

    • 如果某行在相关表中存在相匹配的行,则不能从一个主键表中删除该行。例如,如果在 employee 表中表明某些雇员分配了某项工作,则不能在 jobs 表中删除该工作所对应的行。

    • 如果主键表的行具有相关行,则不能更改主键表中的某个键的值。例如,如果一位雇员分配了 jobs 表中的某项工作,则不能从 employee 表中删除该雇员。

    当符合下列所有条件时,才可以设置参照完整性:

    • 主表中的匹配列是一个主键或者具有唯一约束

    • 相关列具有相同的数据类型和大小。

    • 两个表属于相同的数据库。
    展开全文
  • 数据库中表关系(简明解释)

    千次阅读 2018-10-06 22:33:37
    在这种关系中,A 表中一行可以匹配 B 表中的多行,但是 B 表中一行只能匹配 A 表中一行。例如,publishers 和 titles 之间具有一对多关系个出版社出版很多书,但是本书名只能出自一个出版社。 ...

    一对多关系

    一对多关系是最普通的一种关系。在这种关系中,A 表中的一行可以匹配 B 表中的多行,但是 B 表中的一行只能匹配 A 表中的一行。例如,publishers 和 titles 表之间具有一对多关系:每个出版社出版很多书,但是每本书名只能出自一个出版社。

    只有当一个相关列是一个主键或具有唯一约束时,才能创建一对多关系。

     

    多对多关系

     

    在多对多关系中,A 表中的一行可以匹配 B 表中的多行,反之亦然。要创建这种关系,需要定义第三个表,称为结合表,它的主键由 A 表和 B 表的外部键组成。例如,authors 和 titles 表具有多对多关系,这是由于这些表都与titleauthors 表具有一对多关系。titleauthors 表的主键是 au_id 列(authors 表的主键)和 title_id 列(titles 表的主键)的组合。

    一对一关系

    在一对一关系中,A 表中的一行最多只能匹配于 B 表中的一行,反之亦然。如果相关列都是主键或都具有唯一约束,则可以创建一对一关系。

    这种关系并不常见,因为一般来说,按照这种方式相关的信息都在一个表中。可以利用一对一关系来:

    • 分割具有多列的表。
       
    • 由于安全原因而隔离表的一部分。
       
    • 保存临时的数据,并且可以毫不费力地通过删除该表而删除这些数据。
       
    • 保存只适用于主表的子集的信息。

     

    展开全文
  • 关系模型设计时的约束条件

    千次阅读 2019-02-26 15:27:19
    关系模型设计时的约束条件 、介绍 关系模型是目前最重要的也是应用最广泛的数据模型。简而言之,关系就是一张二维,由和列组成。关系模型将数据模型组织成表格的形式,这种表格在数学上称为关系 设计...

    关系模型中设计表时的约束条件

    一、介绍

    • 关系模型是目前最重要的也是应用最广泛的数据模型。简而言之,关系就是一张二维表,由行和列组成。关系模型将数据模型组织成表格的形式,这种表格在数学上称为关系

    • 设计表时,可对表中的一个字段或多个字段的组合设置约束条件,不满足约束条件的数据将被数据库管理系统拒绝录入。约束分为表级约束和字段级约束,表级约束是对表中几个字段的约束,字段级约束是对表中一个字段的约束

    二、常见的约束形式

    • 1.主键约束

      • 主键用来保证表中每条记录的唯一性,因此在设计数据库表时,建议为所有的数据库表都定义一个主键,用于保证数据库表中记录的唯一性。一张表只允许设置一个主键,这个主键可以是一个字段,也可以是一个字段组合。单个字段作为主键时,使用字段级约束;用字段组合作为主键时,则使用表级约束。在录入数据的过程中,必须在所有的主键字段中输入数据,即任何主键字段的值不允许为 null 。如果不在主键字段中输入数据,或输入的数据在表中已经存在,则这条记录将被拒绝。可以在创建表时创建主键,也可以对表中已有的主键进行修改或者增加新的主键
    • 2.外键约束

      • 外键约束主要用于定义表于表之间的某种关系,对于表 A 来说,外键字段的取值是 null,或者是来自于表 B 的主键字段的取值,表 A 与表 B 必须存放在同一关系型数据库中。外键字段所在的表称为子表,主键字段在的所在的表称为父表,父表与子表之间通过外键字段建立起了外键约束关系,即表 A 称为表 B 的子表,表 B 称为表 A 的父表。子表与父表之间的外键约束关系如下:

        • 如果子表的记录 “参照” 了父表的某条记录,则父表中该记录的删除(delete)或修改(update)操作可能以失败告终

        • 如果试图直接插入(insert)或者修改(update)子表的 “外键值”,子表中的 “外键值” 必须是父表中的 “主键值” 或者 null,否则插入(insert)或者修改(update)操作失败

    • 3.非空约束

      • 如果在一个字段中允许不输入数据,可以将该字段定义为 null,如果在一个字段中必须输入数据,则应当该字段定义为 not null。如果设置某个字段的非空约束,直接在该字段的数据类型后面加上 not null 关键字即可
    • 4.唯一性约束

      • 如果一个字段值不允许重复,则应当对该字段添加唯一性约束(unique)。与主键约束不同,一张表中可以存在多个唯一性约束。如果设置某个字段的唯一性约束,直接在该字段的数据类型后面加上 unique 关键字即可
    • 5.默认约束

      • 默认值字段用于指定一个字段的默认值,当尚未在该字段中输入数据时,该字段中将自动填入这个默认值。如果设置某个字段的默认值约束,直接在该字段的数据类型后面加上 “default 默认值” 即可
    • 6.检查约束

      • 检查(check)约束用于检查字段的输入值是否满足指定的条件,在表中输入或者修改记录时,如果不符合检查约束指定的条件,则数据不能写入该字段
    • 7.自增约束

      • 自增(AUTO_INCREMENT)约束是 MySQL 唯一扩展的完整性约束,当向数据库表中插入新记录时,字段上的值会自动生成唯一的 ID。在具体设置自增约束时,一个数据库表中只能有一个字段使用该约束,该字段数据类型必须是整型类型。由于设置自增约束后的字段会生成唯一的 ID,所以该字段也经常会被设置为主键
    • 8.删除约束

      • 在 MySQL 数据库中,一个字段的所有约束都可以用 alter table 命令进行删除
    展开全文
  • 关系数据库里,关系模式(模型)是型,关系是值,关系模式...关系实质上是个二维表中每一条记录()在关系模式中被称为元组,每个字段(列)被称为属性。 前者是描述结构,后者是具体数据。严格上不能划等号。
  • 数据库关系建模(ER图设计关系表)

    万次阅读 多人点赞 2018-11-21 20:22:46
    目录   、概述 ...4. 关系表 VS 一般的 5. 主码(主键primary key)  6. 实体完整性约束(entity integrity constraint) 7. 外码(外键foreign key) 8. 参照完整性约束(reference integrity c...
  • 数据库的数据之间的关系

    万次阅读 2012-12-14 16:56:16
    一个主键是唯一识别一个每一行记录,但这只是其作用的一疗分,主键的主要作用是将记录和存放在其他表中的数据进行关联,在这一点上,主键是不同表中各记录间的简单指针,主键约整就是确定表中一条记录,主键...
  • 表关系

    千次阅读 2004-09-24 11:14:00
    表关系分几种类型:一关系 需要个主键个外键,主键表中存在的数据,外键表中才可以添加,实际上个 列都为主键,比如: 主键表中ID为1、2、3,外键表中ID只能为1或者2或者3,不能添加主键表中...
  • 数据库的基本关系(基本

    千次阅读 2019-02-24 22:19:06
    数据库有三种关系,分别是:基本关系(又称基本或基表),查询,视图表 基本是实际存在的,查询是查询结果对应的,视图表是由基本和其他视图表导出的,是虚,不对应实际存储的数据。 下面我们来...
  • 本篇博客讲解(子查询)非相关子查询/相关子查询,对多,多对,多对的的关系!准备:首先我们创建列sex。再为部分设置好值0(女)或者1(男);delete from stud where age=26; 删除年龄为26的。 ...
  • Redis底层详解() 哈希和字典

    万次阅读 多人点赞 2018-06-28 17:27:37
    一文读懂哈希
  • 关系模型的一些关键字的定义

    千次阅读 2017-06-08 21:43:03
    元组(Tuple):表中一行即为一个元组。属性(Attribute):表中的一列即为一个属性,给一个属性起一个名称即属性名。码(Key):也称为码键。表中的某个属性组,它可以唯一确定一个元组。域(Domain):属性的取值范围。...
  • 关系模型名词解释 (1)关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。 (2)关系模式:关系模式实际上就是记录类型。它的定义包括:模式名,属性...在关系模型,字段称为属性。...
  • 轻松玩转hive各种join之间的关系以及使用

    万次阅读 多人点赞 2018-03-07 00:41:45
    hive的join只支持等值join,也就是说join on的on里面之间连接条件只能是=,不能是<,>等符号。此外,on的等值连接之间只能是and,不能是or. (如果在on 里添加非之间的条件可...
  • 看Head First Java 256页 ,书提到“this()只能用在构造函数,且它必须是第一行语句!”,不明白原因,查资料发现知乎已经有相关问题,搬运过来做个记录。 https://www.zhihu.com/question/47012546/1: 在构造...
  • 四、字段、记录、关系 五、列 六、 七、属性 八、元组 九、主键 十、外键 零、码仙励志 坚持和放弃,都不会绝对正确。最恨不过句,逼不得已。最大大不过句,老子乐意 、字段 个事物的某个...
  • 关系型与非关系型数据介绍

    千次阅读 2015-08-24 22:31:38
    (1)关系型数据库: 关系型数据库,是指采用了关系模型来组织数据的数据库。...元组:可以理解为二维表中一行,在数据库经常被称为记录 属性:可以理解为二维表中的一列,在数据库经常被称为
  • 每一类数据对象的个体称为实体。 数据库:E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。 实体之间的关系(如个学生...
  • 关系数据模型

    千次阅读 2019-08-14 10:40:01
    、数据结构  关系数据模型是有若干个关系模式...关系可看为个二维行称为元组,用来标识实体集中的个实体;的列称为属性,列名即为属性名,属性名不能相同。 关系的描述...
  •  在关系中,双方的一方在其表中拥有连接列。那么一方称为所有方(owning side) 或者关系的所有者。 不具有连接列的一方称之为非所有方(non-owning)或者反方  所有权对于映射很重要,因为用于定义映射到...
  • 知识点:数据库的相关概念、创建数据库的方法、设计数据库、向数据库表中插入数据、建立不同数据库之间的关系、删除数据库。 1、数据相关的一些概念 1.1 数据库里的数据是如何保存的? 数据库...
  • 数据建模的二维

    千次阅读 2012-05-04 22:19:36
    [讨论] 什么是//二维,哪位给个准确的定义 [复制链接] <!-- ...透视要求是, ...那什么是、二维呢?查了下午也没有找到准确的定义, ...13.在关系数据模型
  • 数据库 - 关系代数与关系运算

    万次阅读 2015-05-05 09:12:58
    专门的关系运算并(Union)R和S 具有相同的目n(即两个关系都有n个属性) 相应的属性取自同个域R∪S 仍为n目关系,由属于R或属于S的元组组成 R∪S = { t|t  R∨t S } 差(Difference)R和S 具有相同的目n ...
  • 关系数据库系列文章之到底什么是关系

    千次阅读 多人点赞 2018-08-05 02:28:45
    在语言X如何实现Y,像这种具体的只是(know-how)可快速提高你的工作效率。但是一旦语言发生变化,这种知识就无法再使用。... 作为程序员,在日常的开发,我们避免不了的就要接触数据库这个概念,而关系...
  • 关系型数据库基本概念(行列)

    千次阅读 2011-10-28 16:42:25
    关系型数据库基本概念: 1、列:行的组成单位,一个行...张三 178 60--这是一行,代表一个人的基本信息,也称为一条记录(该行由三个字段即姓名、身高与体重组成) 李四 178 70 ↓ 这是字段,如张三和李四是姓名
  • 关系型数据库的理解

    千次阅读 2015-11-26 19:43:50
    1.关系型数据库简单的可以理解为二维数据库,的格式就如Excel,有有列。常用的关系数据库有Oracle,SqlServer,Informix,MySql,SyBase等。(也即是我们平时看到的数据库,都是关系型数据库) 2.所谓关系型...
  • 如何定义数据库之间的关系

    千次阅读 2006-04-21 15:56:00
    在设计关系型数据库时,最主要的部分工作是将数据元素如何分配到各个关系数据表中。一旦完成了对这些数据元素的分类,对于数据的操作将依赖于这些数据之间的关系,通过这些数据之间的关系,就可以将这些数据...
  • 层次数据模型     定义:层次数据模型是用树状<...其实层次数据模型就是的图形表示就是个倒立生长的树,由基本数据结构的树(或者二叉树)的定义可知,棵树都有且仅有个根节点,其余的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 395,247
精华内容 158,098
关键字:

关系表中的每一行称为