一、简介

我们在做数据库设计的时候经常需要系统性的去认识系统涉及到的全部对象,以及对象间的相互关系,如果系统复杂的话,如果不借助合适工具的话,到最后设计出来的数据库肯定会存在或多或少的问题,不过前辈们早就遇到过这类问题,并提供了具体的解决方案,那就是本文要讲的ER图(Entity Relationship Diagram),ER图提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。就像数学符号一样,ER图也通过简单的约定俗成的规则来定义各自概念,主要涉及三大概念:

  1. 实体:数据模型中的数据对象,可以理解为数据表;通过“矩形框”表示实体型,矩形框内写明实体名称;
  2. 属性:实体所具有的属性,可以理解为数据表中的字段;通过“椭圆图框”表示实体的属性,并用“实心线段”与“实体型”连接起来;属性分为唯一和非唯一,唯一属性(数据表中的主键)用下划线表示。
  3. 关系:数据对象与数据对象之间的联系,可以理解为数据表与数据表之间的关系;通过”菱形框“表示实体型之间的关系,在框内写明关系,并用”实心线段“与有关实体型连接起来,同时在”实心线段“旁标上联系的类型(1:1,1:n或m:n)。
    具体的例子可以通过学生-课程表来观察,逻辑是不是很清晰,添加再多的表也能梳理好之间的关系。

二、问题

  1. 如何判断实体之间的关系类型?
    关系确认需要从正反两个角度去思考,对于两个实体集A和B,观察A中的实体值在B中实体值的对应关系,反之B中实体值在A中实体值的对应关系,如果两者得出的关系一致那就可以确认是这种关系了。例如教师-课程之间的关系,1位教师可以有N门课程,但是每门课程就只有1位教师,从这个角度分析教师-课程之间是1:N的关系。

工具:数据库设计ER图相关推荐

  1. SQL Server 数据库设计(ER图)

    用户表(User) ID 用户编号,主键 UserName 用户名 UserPwd 用户密码 Lever 用户级别 Ison 是否在线 订单表(Order) ID 订单号,主键 UuserId 客户编 ...

  2. 数据库系统概念 | 第七章:使用E-R模型的数据库设计 | ER图设计| ER图转化为关系模型 | 强实体和弱实体

    文章目录

  3. 微信小程序开发之路(十三)正式开工--设计ER图与数据库的创建

    微信小程序开发之路(十三)正式开工–设计ER图数据库的创建 先制作班费公是示功能 我们在项目的 settings.py 文件中找到 DATABASES 配置项,将其信息修改为: DATABASES = ...

  4. php电商网站开发流程图,php网上购物平台设计+ER图+流程图.doc

    php网上购物平台设计ER图流程图 php网上购物平台设计+ER图+流程图 摘要:广义来说,电子商务是指电子工具在商务活动中的应用.狭义来说,电子商务是在技术.经济高度发达的现代社会里,掌握信息技术和 ...

  5. mysql 数据表e-r图_数据库中E-R图是如何组成的

    数据库中E-R图是如何组成的 发布时间:2020-12-05 13:36:45 来源:亿速云 阅读:97 作者:小新 小编给大家分享一下数据库中E-R图是如何组成的,相信大部分人都还不怎么了解,因此分 ...

  6. Microsoft Visio 2013 设计E-R图和数据库模型图

    一.设计E-R图 1.新建"空白绘图" 注:不一定非得是"空白绘图",任意选择一个类型的模型图即可,我们进去再具体选择. 2.选择左侧"更多形状&qu ...

  7. 如何设计ER图(弱实体集)

    相关系列: ER图转为关系模式 无损分解和保持依赖 3NF分解与BCNF分解 正则覆盖与候选码 如何设计ER图(弱实体集) 如何设计ER图(映射基数) 弱实体集的定义:没有足够的属性形成主码的实体集. ...

  8. powerdesigner反向MySQL5.1数据库 生成ER图

    powerdesigner反向MySQL5.1数据库 生成ER图 转载于:https://www.cnblogs.com/passer1991/archive/2013/03/17/2964680.h ...

  9. 数据库系统概论----设计ER图

    设计ER图 需要避免的两个主要的缺陷 冗余 体现为信息的重复出现,比如一个学生表中,含有班别,班主任,那么同一个班的学生都含有含有班别.班主任的信息,造成了信息的冗余,这是因为只要知道班别,就确定了班 ...

  10. 【数据库】ER图进行描述某系统之学习七

    文章目录 [数据库]ER图进行描述某系统之学习七 一.前提准备 二.要求 三.分析 四.ER图 [数据库]ER图进行描述某系统之学习七 一.前提准备 二.要求 画出相应的ER图,使得可以从该ER图推导 ...

最新文章

  1. R语言ggplot2可视化保存高分辨率的图片(high resolution)实战
  2. 认识python(了解)
  3. python 多进程管道 消息式通信
  4. 怎么学JavaScript?
  5. 使用DLL进行不同语言之间的调用
  6. 描写火车站场景_关于描写火车站的句子
  7. supervisor 重启_每日一说:说一下supervisor进程管理工具
  8. 今日恐慌与贪婪指数为72 贪婪程度与昨日持平
  9. c#在当前窗体的按钮事件调用另一封…
  10. Adobe产品在Lion上的已知问题
  11. centos出现“FirewallD is not running”
  12. matlab 安装matpower,MATPOWER的安装详细教程
  13. 远区场matlab仿真,matlab结题报告(电偶极子的辐射场)博客_0.doc
  14. 教你用电脑键盘打出“囍”字
  15. 【NVIDIA Jetson TK1】一,开发板重装ubuntu系统,重新刷机,重新烧系统,恢复系统
  16. ktt算法 约化_答:那些深度学习《面试》你可能需要知道的
  17. Kubeadm部署-Kubernetes-1.18.6集群
  18. php 公众号发表文章,微信公众号如何发布文章最基本教程
  19. pt1000转0-20ma模块、cu50转0-5v热电阻温度信号转换器
  20. 剑侠情缘修改服务器列表名字,史上奇葩的游戏氪金活动,充钱就能改服务器名,剑侠情缘也在其中...

热门文章

  1. 数学建模笔记——评价类模型(一)
  2. ansys19.2安装教程
  3. 基于SpringBoot实现二手交易商城
  4. Ubuntu GCC编译器升级
  5. 你想要的宏基因组-微生物组知识全在这(2022.2)
  6. 今天和孝辉一起去交大买书了!
  7. 用注册表修改右键菜单
  8. 计算机病毒发展简史,计算机病毒分析_计算机病毒简史
  9. webx框架升级springboot遇到的问题及解决方案
  10. 欧姆龙plc OMRON SYSMAX CP1H-E 使用 CXONE_V4.60 连接和编程