精华内容
下载资源
问答
  • 数据库实体之间的关系
    千次阅读
    2019-10-16 10:21:00

    原文链接https://blog.csdn.net/u012234452/article/details/78324727

    数据库实体关系

    数据库实体间有三种关联关系:一对一,一对多,多对多。

    一对一实例:一个学生只有个身份证编号。
    
    一对多实例:一个班级有多个学生。
    
    多对多实例:多对多就是双向一对多,一个学生可以选择多门课,一门课也有多名学生。
    
    一对一关系处理

    我们需要建立学生表来存放学生的信息 列属性为下面:

    身份证
    学生证
    年龄
    名字
    
    一对多关系处理

    我们需要建立两张表 一张表为学生表<身份证, 学生证, 年龄, 名字> 一张表为班级表<班级id, 班级名称, 班级位置> 然后在学生表中新增字段(班级号),该字段作为学生表的外键与班级表中的班级号关联。每一个学生实体在班级号字段的值,表示该学生属于的班级。

    多对多关系处理

    在多对多关系中,我们要新增加一个关系表。在学生表和课程表的基础上增加选课表来表示学生与课程之间的多对多关系。在选课表中,必须含有的属性有学生号和课程号。(学生号,课程号)这个属性集刚好也就是选课表的关键字。

    更多相关内容
  • 关系数据库实体之间关系

    千次阅读 2021-01-19 00:07:45
    关系数据库实体间有三种关联关系:一对一,一对多,多对多。一对一关系(1:1):如果实体集(表)A 中的每一个实休(就是每行记录),在实体集B中只有一条数据与它对应,反之实体集B 中的每一个实体,在实体A中只有一条...

    关系型数据库实体间有三种关联关系:一对一,一对多,多对多。

    一对一关系(1:1):

    如果实体集(表)A 中的每一个实休(就是每行记录),在实体集B中只有一条数据与它对应,

    反之实体集B 中的每一个实体,在实体A中只有一条数据与它对应

    这样的实体关系主是一对一关系

    实例:

    员工表、员工详细信息表之间的关系是员工表中的一行与详细信息表中的一行对应

    a2d634f996a12f00d8c9a3b19a6fb494.png

    一对多关系(1:n):

    如果实体集A中每一个实体,在实体集B中有n个与之对应(n>1)(当n为1时,就是一对一的关系)

    反之在实体集B中每一个实体,在实体集A中最多只有一个实体与之对应

    这样的实体就是一对多关系

    实例:

    学生表与班级表,多个学生属于同一个班级,班级表中的一行与学生表的多行数据对应

    在学生表中新增字段(班级号),该字段作为学生表的外键与班级表中的班级号关联。每一个学生实体在班级号字段的值,表示该学生属于的班级。

    a54bfac2d09e80d2fb3145d7ecacf9d2.png

    多对多关系(m:n):

    如果实体集A中每一个实体,在实体集B中有m个与之对应(m>1)

    反之如果实体集B中每一个实体,在实体集A中也有n个与之对应(n>1)

    这样的实体关系就是多对多关系

    实例:

    学生表与教师表,一位学生有多位老师来教,一位老师也可以教多位学生,可以看作由两个一对多关系组合而成

    fcf47f70ea8540b8626293ed095748b7.png

    外键:

    mysql中的innodb引擎才支持外键

    A实体的某个字段指向 B实体的主键, 则称A实体的那个字段为该实体的外键, 一个表里可以有多个外键,也可以没有外键;

    被指向的实体称为主实体(主表),也叫父实体(父表),负责指向的实体称为从实体(从表),也叫子实体(子表)。

    一般在哪个表里定义外键,这个表就是子表

    25bacd5b5216b4f15b5769b13499563e.png

    在创建的时候应该先创建主表,然后再创建从表, 插入数据时也应该先插入主表数据

    在删除表的时候应该先删除从表(子表), 然后再删除主表

    设置级联操作

    在主表发生数据改变时,与之相关的从表应该要怎么处理

    可以使用关键词on update, on delete来标识

    允许的级联操作有:

    cascade: 如果主表更新或者删除数据时,那么从表也会执行相应的操作

    set null: 如果主表更新或者删除数据时, 那么从表相应的数据会设置成null

    restrict: 拒绝主表的操作(默认)

    /*删除主表信息时,从表相应的字段设置为null(该字段定义时能为null)*/

    Alter table student add foreign key (class_id) references class (class_id) On delete set null

    9e0a8a5d14eabc822b75e2c1b55d8c1e.png

    /*主表执行删除或更新时,从表执行同样的操作*/

    alter table student add foreign key (class_id) references class (class_id) on delete cascade on update cascade

    df286462ab9b18dd5c2c977f17ebae00.png

    展开全文
  • 数据库实体关系笔记

    千次阅读 2017-03-30 09:12:49
    判断实体关系只需要问自己两个问题: 1. 实体A包含实体B吗? 2. 实体B包含实体A吗? - 都回答‘是’-->M:N - 都回答‘否’-->1:1 - 答案不同 --> 1:N ...- 再假设他们之间关系是多对多,想想我们的实现业务逻辑

    总结

    判断实体间关系只需要问自己两个问题:
    1. 实体A包含实体B吗?
    2. 实体B包含实体A吗?

    • 都回答‘是’–>M:N
    • 都回答‘否’–>1:1
    • 答案不同 –> 1:N

    当实在是不能分辨两个实体间的关系是 一对多 还是 多对多 我们不妨用假设法。

    • 我们先假设实体间是一对多,想想我们的实现业务逻辑
    • 再假设他们之间的关系是多对多,想想我们的实现业务逻辑
    • 相信最终你会选出一个相对简洁的业务逻辑去实现。

    今天设计数据库标间关系的是偶蒙圈了。在这里调整一下思路。

    一、数据库实体间关系总共有三种:

    实体A实体B
    -11
    -1N
    -MN

    1:1 (独生子家庭)一个儿子只有有一个父亲,一个父亲只有个一个儿子
    1:N 一个宇宙有多个星星,每一个星星都只存在于一个宇宙中
    M:N 一个老师有多个学生,一个学生有多个老师

    二、描述 1:1 关系我们用两个表就可以了

    每一列表示一个表中包含的字段

    儿子父亲
    ID:ID
    姓名:姓名
    年龄:年龄
    父亲:儿子

    三、描述M:N关系 必须三个表

    教师教师关联学生学生
    IDIDID
    姓名学生ID年龄
    身份证教师ID身份证

    这可以解决数据流向问题:
    数据流是
    - “宇宙–>星星 ”教师表+关联表–>找到一个老师的所有学生
    - “星星 –> 宇宙”学生表+关联表–>找到一个学生的所有老师

    四、描述 1:N 必须要三个表才可以?——其实不是,两个表就够了。

    每一列表示一个表中包含的字段

    3.1、对于1:N关系描述

    表现方式(三个表)

    宇宙宇宙关联星星星星
    IDIDID
    年龄宇宙ID(一直是同一个值)年龄
    直径星星ID直径
    • 探究
      又觉得 在 “宇宙关联星星”表中 ‘宇宙ID’一直都是同一个值
      那么我们用两个表好像也可以表示 1:N 的实体间关系。
      因为开发者在文档中注明这种 1:N 关系的存在就足够对表做出操作了。
      不管 数据流是
      • “宇宙–>星星 ”
      • “星星 –> 宇宙”

    不是吗?

    宇宙:星星
    ID:ID
    年龄:年龄
    直径:直径

    3.2、对于1:N关系解决

    事实上,我在1:N关系上出现的问题是没有真正的区分清楚
    我所处理的关系是否为一对多关系。
    怎么用一句话说出来这事这么简单。
    难的是在业务逻辑中的“区分”。

    展开全文
  • 数据库MySQL-实体之间关系

    千次阅读 2020-03-27 10:20:10
    1.2 实体之间关系 1.2.1 一对多(1:N) 主表中的一条记录对应从表中的多条记录 实现一对多的方式:主键和非主键建关系 问题:说出几个一对多的关系? 班主任表——学生表 品牌表——商品表 1.2.2 多对一(N:1...

    1.2 实体之间的关系

    在这里插入图片描述

    1.2.1 一对多(1:N)

    主表中的一条记录对应从表中的多条记录
    在这里插入图片描述

    实现一对多的方式:主键和非主键建关系

    问题:说出几个一对多的关系?

    班主任表——学生表
    品牌表——商品表
    

    1.2.2 多对一(N:1)

    多对一就是一对多

    1.2.3 一对一(1:1)

    在这里插入图片描述

    如何实现一对一:主键和主键建关系

    思考:一对一两个表完全可以用一个表实现,为什么还要分成两个表?

    答:在字段数量很多情况下,数据量也就很大,每次查询都需要检索大量数据,这样效率低下。我们可以将所有字段分成两个部分,“常用字段”和“不常用字段”,这样对大部分查询者来说效率提高了。【表的垂直分割】
    

    1.2.3 多对多(N:M)

    主表中的一条记录对应从表中的多条记录,从表中的一条记录,对应主表中的多条记录

    在这里插入图片描述

    如何实现多对多:利用第三张关系表

    问题:说出几个多对多的关系?

    讲师表——学生表
    课程表——学生表
    商品表——订单表
    

    小结:

    如何实现一对一:主键和主键建关系
    如果实现一对多:主键和非主键建关系
    如何实现多对多:引入第三张关系表
    
    展开全文
  • 数据库实体关系图(ER图)

    万次阅读 多人点赞 2020-11-08 10:07:49
    实体和实体之间以及实体内部的关系 用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来, 同时在无向边旁边标上联系的类型 2,关系详解 一,一对一 一对一关系是指对于...
  • 数据库关系数据库中的关系关系分类实际应用 ...在图中用红色标出的地方则可以选择关系类型,建立两个table(表)之间关系。 给出两个翻译帮助理解(不保证正确) 放置一个新的1:1非决定...
  • 数据库实体之间的联系

    千次阅读 2020-05-09 18:21:01
    二、实体之间的联系: 一般地,把参与联系的实体型的数目称之为联系的度。 一个实体型之间的联系称之为一元联系,联系的度为1。一元联系包括:一个实体型内部各属性之间的联系和同一个实体集内的各实体间的联系。 两...
  • 数据库之间关系实体类的对应

    千次阅读 2020-01-15 17:33:42
    如何在实体类中体现一对多,多对多的关系 一对多: 在从表中添加主表的实体类属性 在主表中添加从表的实体类的集合属性 多对多: 在两个表中可添加另一个表的实体类的集合属性 ...
  • 数据库实体联系模型与关系模型

    千次阅读 2020-03-02 19:11:33
    数据库设计是指根据用户的需求,在某一具体...这就需要规划课程、学生、老师、学习资料等数据构成以及相互之间关系。因此,规划数据构成及数据间关系,并应用某一具体的数据库管理系统如MySQL构建数据库的过程就是...
  • 定义并解释概念模型中术语(实体,实体型,实体集,实体之间的联系) 1.实体:客观存在并可相互区别的事物称为实体,实体可以是具体的事物,也可以是抽象的概念或联系。 2.实体型:具有相同属性的实体必然具有共同的...
  • 如何理解数据库实体间的关系 一对一:像人对应身份证号码,一个人只会有一个身份证号,一个身份证号也只会对应一个人 注:实体两边都是一对一的关系 一对多(多对一):父亲对孩子,一个父亲可以有多个孩子,但一...
  • 数据库实体关系图(ERD)及其画法

    万次阅读 多人点赞 2020-10-10 16:00:39
    数据库绝对是软件系统不可分割的一部分。在数据库工程中充分利用ER关系图,可以保证在数据库创建、管理和维护中产生高质量的数据库设计。ER模型还提供了一种通信手段。
  • 关系数据库以行和列的形式存储数据,行和列的形式被称为表,表是由一组相关实体组成的集合。一组表组成了数据库。表中的一行称为关系的一个元组,用来存储事物的一个实例;表中的一列称为关系的一个属性,用来描述...
  • 数据库设计之实体间的关系

    千次阅读 2020-05-07 23:56:03
    一个实体集A中的实体,在另一个实体集B中至多有一个实体与之对应,反之,实体集B中的实体,在实体A中至多有一个实体与之对应,则称A和B具有1:1关系 例: 一个学生至多拥有一张学生卡,每张学生卡只对应一个学生 ...
  • 数据库实体间有三种关联关系:一对一,一对多,多对多。一对一实例:一个学生只有个身份证编号。 一对多实例:一个班级有多个学生。 多对多实例:多对多就是双向一对多,一个学生可以选择多门课,一门课也有多名学生...
  • 数据库实体关系模型 --- ER Model

    千次阅读 2021-10-05 15:13:58
    数据库实体关系图 --- The Entity-Relationship Model: ER ModelER模型的基本组成E-R diagram的基本组成ConstraintsKey constraintsParticipation ConstraintsEntity or AttributeKeysweak entity set三元关系 --- ...
  • 如何用Visio画数据库实体关系

    千次阅读 2018-11-06 02:50:34
    如何用Visio画数据库实体关系
  • 干软件这一行这么多年,好的程序员也更加的博学。...通俗地讲:“你和任何一个陌生人之间所间隔的人不会超过六个,也就是说,最多通过六个人你就能够认识任何一个陌生人。” 我们很容易明白,六度理论的数学基
  • 数据库而言,实体往往指某类事物的集合。...实体之间关系有 一对一(如一个学生对应一个档案,一个档案对应一个学生); 一对多,多对一; 多对多; 数据库中一对一的实现方式: (1)唯一外键方式:在A和B任...
  • 请简述什么是数据模型。 答:数据模型是数据库系统的核心和基础,它是对现实世界数据特征的抽象,用来描述数据,可以理解成一种...请简述数据库、表和数据库服务器之间关系。 答:一个数据库服务器可以管理多个数...
  • 概念设计(Conceptual Design) —— 设计实体关系模型 (ER Model) 逻辑设计(Logical Design)—— 实现从 ER 模型到关系模式(Relation Schemas)的转换。 物理设计(Physical Design) 本文主...
  • 用于数据库设计的结构图,描述系统内的实体以及实体之间关系。 何时绘制ERD? 数据库设计 - 直接在数据库更改数据库结构会有风险, 为避免破坏数据库中的数据,需要仔细规划一切变更。通过绘制 ER 图来展示数据库...
  • 文章目录一、实体关系建模1.概念(1)实体关系和属性(2)约束2.ER图绘制3.实体关系模型存在的问题(1)Fan Traps(2)Chasm Traps二、增强实体关系建模...实体关系建模是一种自顶而下的数据库设计方法,通过定义一些
  • 数据库实体关系图(ERD)

    千次阅读 2022-07-04 14:57:47
    数据库实体关系图(ERD)
  • 数据库实体表的关系学习

    千次阅读 2017-12-29 11:08:32
    数据库实体关系
  • 数据库——实体联系模型

    千次阅读 2020-02-28 20:04:55
    1.实体 1.实体:客观存在并且可以相互区分的任何事物,可以是实际对象,也可以是抽象概念。 2.属性:实体所代表的事物具有的某种特性,每个实体都可以用一组属性来刻画  例如,我们可以用学号、姓名、性别、出生...
  • 关系数据库:是基于关系模型的,是由所有实体及实体之间的联系的关系集合组成。 关系数据库是由多个关系组成的; 每个关系即是一张二维表; 表名即为关系名; 实体或实体间的联系对应一张二维表; 二维表的列(字段...
  • 数据库 - 建模:实体关系图(ERD)

    万次阅读 2018-10-27 10:32:34
    数据库 - 建模:实体关系图(ERD) 草拟实体及其关系的常用方法。 我们来看一个公司数据库的例子   实体关系实体关系模型,也称为实体关系(ER)图,是实体(将成为您的表)及其相互关系的图形表示。 ...
  • NHibernate是一个O/RM框架在其应用中会产生三部分内容:实体类、Mapping配置文件、数据库表。这三者的联结促成了NHibernate的实现的基础。在这三者中Mapping配置文件为实体类和数据库表的纽带。没有Mapping配置文件...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 186,186
精华内容 74,474
关键字:

数据库实体之间的关系

友情链接: c8279.rar