文章目录

  • 1.ER图
    • 1.1实体之间的联系
    • 1.2实体集的转换规则
    • 1.3实体集间联系的转换规则
  • 2.作者答疑

  在软件架构设计师的考试中,数据库的管理是重点内容,本文主要介绍ER模型,关系代数和函数依赖。本文内容来至互联网内容的编辑修改,方便读者学习。如有侵权,第一时间联系作者删除。

1.ER图

  实体-联系方法(Entity-Relationship Approach),也叫E-R模型。主要是用来描述现实世界的概念模型。具体来说就是用以下三种图来描述我们的问题构成的世界。

注意:
  ①联系不能脱离实体,必须有实体连接且可以是实体的自身联系(后面有例子)
  ②属性既可以连接实体,也可以连接联系。但一个属性只能有唯一的连接对象。

1.1实体之间的联系

  ①一对一。比如:一个学校只能有一个校长,而一个校长也只能担任一个学校的校长。

  ②一对多。比如:一个学校里有多名教师,而每个教师只能在一个学校教学。

  ③多对多。比如:一个学生可以上n种课程,而每一个课程可以有m个学生学习。而上课还可以有一个属性:上课时间。

1.2实体集的转换规则

  一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系模式。

1.3实体集间联系的转换规则

1:1联系的转换方法

方法一:
  将1:1联系转换为一个独立的关系:与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,且每个实体的码均是该关系的候选码。

联系形成的关系独立存在:
职工(职工号,姓名,年龄)
产品(产品号,产品名,价格)
负责(职工号,产品号)

方法二:
  将1:1联系与某一端实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码。

“负责”与“职工”两关系合并:
职工(职工号,姓名,年龄,产品号)
产品(产品号,产品名,价格)也可以“负责”与“产品”两关系合并:
职工(职工号,姓名,年龄)
产品(产品号,产品名,价格,职工号)

1:n联系的转换方法

方法一:
  一种方法是将联系转换为一个独立的关系,其关系的属性由与该联系相连的各实体集的码以及联系本身的属性组成,而该关系的码为n端实体集的码。

联系形成的关系独立存在:
仓库(仓库号,地点,面积)
产品(产品号,产品名,价格)
仓储(产品号,仓库号,数量)

方法二:
  在n端实体集中增加新属性,新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。

仓库(仓库号,地点,面积)
产品(产品号,产品名,价格,仓库号,数量)

m:n联系的转换方法

  与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合(该码为多属性构成的组合码)。

转换的关系模型为:
学生(学号,姓名,年龄,性别)
课程(课程号,课程名,学时数)
选修(学号,课程号,成绩)

三个或三个以上实体集间的多元联系的转换方法

课程(课程号,课程名,学分,学时)
教师(教师号,教师名,性别,职称,课程号)
参考书(书号,书名,出版社,主编,课程号)

  对于多对多的联系,转换为关系模型的方法是新建一个独立的关系,该关系的属性为多元联系相连的各实体的码以及联系本身的属性,码为各实体码的组合。

供应商(供应商号,供应商名,地址)
零件(零件号,零件名,单价)
产品(产品号,产品名,型号)
供应(供应商号,零件号,产品号,数量)

2.作者答疑


  如有疑问,请留言。

软件架构设计师-ER图-关系模型转换相关推荐

  1. 【数据库】E-R图向关系模型转换的规则

    E-R图向关系模型转换的规则: (1) 一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码(关键字)就是关系的码. (2) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对 ...

  2. 数据库设计规范、E-R图、模型图

    参考文章:E-R模型.E-R分析介绍 数据库设计规范.E-R图.模型图 (1)数据库设计的优劣: 糟糕的数据库设计: ①数据冗余冗余.存储空间浪费. ②数据更新和插入异常. ③程序性能差. 良好的数据 ...

  3. Navicat Premium 查看某几个表的ER图(模型图)

    之前一直使用EXCEL表或者其他模型工具去查看几个表的关联关系.最近接触的关系数据库类型比较多,所以用上了 Navicat Premium.这个工具真的很强大,可以连接大多数关系数据库.再也不用来回切 ...

  4. 数据库:ER图↔关系模式

    常考题目: ①如何画ER图 ②如何将ER图转化为关系模式 1,ER图 概念: 实体关系图 (Entity-Relationship,E-R),有三个组成部分:实体.属性.联系.用来进行关系型数据库系统 ...

  5. [golang gin框架] 16.Gin 商城项目-商品模块数据表ER图关系分析

    1.数据表ER图 2.数据表相关 (1).商品分类表相关 1).数据表 -- ---------------------------- -- Table structure for goods_cat ...

  6. 案例讲解如何将ER图转化为关系模型

    要将ER图转化为关系模型,就得先弄清楚ER图中的基本元素. 如果不清楚主体.属性.键等元素分别代表什么,那么下面谈转化准则的时候,大家可能会冒出很多问号. 关于ER图的基本元素,此前在这篇文章中做过详 ...

  7. 数据库逻辑结构设计之E-R图向关系模型的转换

    实例: 一.工厂物资管理E-R图: 二.E-R图向关系模型转换的一般原则: 一个实体型转换为一个关系模式,关系的属性就是实体的属性,关系的码就是实体的码. 三.对于实体型间的联系有以下不同的情况: 1 ...

  8. 将E-R图转换为关系模型的方法

    将E-R 图转换为关系模型的转换规则如下: 1)实体集转换为关系   - 实体集对应于一个关系   -关系名:与实体集同名.   -属性:实体集的所有属性.   -主码:实体集的主码. 2)联系转换为 ...

  9. 数据库设计(ER模型和UML模型及转换为关系模型的公式)

    本文根据b站鲁老师的教学视频整理而来,可能会偏理论化,有点枯燥,但是如果认真看完,还是会有所收获哒. 从本文可以学习到: 对于一个即将展开的项目,我们应该怎么设计及实现数据库. 掌握概念模型(ER模型 ...

  10. 数据库原理-ER模型转换为关系模型

    1.ER图转换成关系模式集的算法(联系类型的转换):不同的情况做不同的处理.(二元联系类型的转换) ①若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关 ...

最新文章

  1. numpy 中的 random.rand() 函数
  2. 使用scipy进行聚类
  3. xcode升级xcode9 1之后报错swift stdlib tool error
  4. 多核导航模块(Multicore Navigator)
  5. jsp session
  6. 力扣- -241.为运算表达式设计优先级
  7. git clone拉取太慢怎么办?
  8. 《软件工程》 教 学 大 纲
  9. linux学习笔记-第六课-/etc/passwd,/etc/shadow,useradd,su,sudo等
  10. android com.squareup,android – 无法导入com.squareup.okhttp.OkHttpClient;
  11. AJAX扩展-POST传递参数并跳转页面
  12. Ubuntu下基本的命令总结
  13. phpstorm如何同时打开两个文件夹_iPhone如何同时添加两个不同的面容ID?
  14. 海外仓储系统有哪些功能?
  15. 吴恩达机器学习ex7:K-means分类
  16. 《深入理解Java虚拟机》第1,2章
  17. c#中,如何获取日期型字段里的年、月、日?
  18. 已经被说“烂”的微服务,到底是个什么鬼?通过拆分实战案例来带你入门。...
  19. Codeforces Round #446 (Div. 2) D. Gluttony 构造,思维
  20. 学习大数据参加培训班,大概需要多长时间?

热门文章

  1. .NET性能系列文章二:Newtonsoft.Json vs System.Text.Json
  2. GNSS最终、快速、超快速星历下载地址汇总
  3. 最新PyCharm2018破解教程
  4. VMware14虚拟机安装Ubuntu
  5. 02. Win32 API简介
  6. winform基础 C#编程
  7. s5p4418安卓系统适配fpc8563芯片遇到的问题及解决
  8. 惠普服务器如何修改ip地址,HP网络打印机如何设置IP地址
  9. 基于springboot房产在线租房管理系统
  10. android mvp快速创建,学习MVPArms历程之Android Studio快速创建MVPArms项目