ER模型的概念

  • 实体
    画图时用方形表示

  • 属性
    椭圆形表示

  • 关系
    菱形表示

  • 主键(主码)
    在主属性下面画划线

  • 外键(外码)
    这里一般是用于一对多或者一对一有关系的时候将某个主属性作为另一方的外键时候要用到,这里是在外键属性下波浪线表示外键(外码)

如何画ER图

画ER图的总结反思:

  • 实体之间基本都是用关系(菱形) 关联起来
  • 关系之间标上对应数量 1:1 / 1:n / n:m
  • 实体还可以与自身创建关系(比如:职工与领导,领导本身也是职工的一员,这时候就可以开一个关系叫做“带领”/“领导”之类的动词作为关系 ,然后与自身连起来)
  • 在画关系的时候,有时候一个关系也要唯一标识的时候就需要加上某些属性,比如说借书这个关系,借书需要有借书时间,借书人ID等等,这就是权衡利弊的时候了,设也是我认为设计数据库的魅力之一。

ER图转换为关系数据库

  • 实体转化为一个关系数据表即可(考虑主键的设计)
  • 1:1关系
    当出现1:1的二者实体的关系的时候,很简单,只需要将一方的主键添加到另一方中作为外键属性
    举例子:一对一,一个院对应一个院长,要么将院长(ID)主键加入到系的表中作为外键或者将院的ID加入到院长的属性中作为外键,这里可能会很容易想到将院ID加入院长中不切实际,因为其他教师也要加入用来分辨该老师属于哪一个院的,所以这也是数据库设计的一大魅力,这里的需求肯定是第一种方式解决最好。
  • 1:n关系
    1:n需要将1的一方的主键添加到n一方实体的属性中作为外键。
    举例子:一个院对应多名老师,这时候本该的操作肯定是将院的ID加入到多名老师中,假设我们不这么做会发生什么?假设不这么做,而是将多名老师的ID加入到院中,正常人一想到这肯定就知道了这数据冗余是有多大,而且我们要查某个老师是哪一个院的时候我们还要去院表中查,这既不方便又充斥着无用数据在院表中,因为不止一个院不止一个老师。还方便查找等等。
  • n:m关系
    出现这个多对多的关系之后就要求把这个关系也设计出来一个单独的关系(表),我认为比较暴力有用的方法就是将这个关系连接的两者的主键取出来作为该关系的联合主键,然后这关系该有的属性也一并添加进去即可
    举例子:书籍与借书人的关系,我们不能把书籍信息放进借书人表中,因为不止借一本,借书人表信息一般只对应一个与元组,因为有他自己注册的ID账号嘛,做过数据库的都知道不可能多个主键存储,反过来对于书籍也是一样,不可能为了你这个借书人特地为这个书籍存储的信息记录借书人的信息,更不要说一本书以后会有多个人借阅了,这时候就需要另外创建一个表,用来记录二者的关系,查找的时候也方便,将二者的主键添加到ER关系的关系表中,然后也方便查找,正产人思维去到前台不都是报自己的账户然后书名查看自己到底有没有借还某本书,或者一查账户就知道借还了什么书。(同理还有学生与课程之间有一个选课关系也要单独提取出来为一个表,因为是多对多的关系,一个学生不可能只学习一门课程,一门课程也不可能只为一个学生开设。)
  • 用鲁琴老师的课件例题作为参考复习

数据库—ER模型概念设计的更多相关文章

  1. 数据库 E-R模型

    数据库 E-R模型被定义被两种模型  "实体模型"  AND "关系模型" 1.1 实体模型 如图:这是一个"项目表" Project    ...

  2. 17数据表&E-R模型&概念数据模型上-选学天轰穿大话数据库视频教程

    大纲:解剖“数据表”,戏说E-R模型,概念数据模型(E-R 到 CDM),使用PowerDesigner创建概念模型,生成逻辑数据模型 土豆超清地址: 腾讯超清地址: 百度云盘下载地址:上传ing,稍 ...

  3. 数据库E-R模型,数据字典

    概述:实体-联系模型(简称E-R模型) 模型结构: E-R模型的构成成分是实体集.属性和联系集,其表示方法如下: (1) 实体集用矩形框表示,矩形框内写上实体名. (2) 实体的属性用椭圆框表示,框内 ...

  4. 18数据表&E-R模型&概念数据模型-下(选学)-天轰穿大话数据库视频教程

    关键字:数据表 三大范式 外键 主键 数据表设计 天轰穿 sqlserver 数据库大纲:属性与主键,外键&联系,三大范式,设计表时应该考虑的因素 土豆超清地址: 优酷超清地址: 原文地址:h ...

  5. 数据库设计与 ER 模型 - 数据库系统原理

    数据库系统生存周期 数据库应用系统的开发是一项软件工程,一般具有信息的采集.组织.加工.抽取.综合.传播等功能,但又有自己的特点,所以称为 数据库工程. 数据库应用系统从开始规划.设计.实现.维护到最 ...

  6. 数据库设计和ER模型-------之ER模型的基本概念(第二章)

    ER模型(实体联系模型)的基本元素 实体:是一个数据对象,在ER模型中,实体用方框表示,方框内注明实体的名称 联系:表示一个或多个实体之间的关联关系,联系用菱形框表示,并用线段将其与相关的实体联系起来 ...

  7. 数据库设计和ER模型-------之关系模型的基本概念(第二章)

    关系模型的基本术语 定义:用二维表格来表示实体集,用关键码表示实体之间联系的数据模型称为关系模型 有时也习惯称呼关系为表或表格,元组为行(Row),属性为列.关系中属性个数称为“元数”,元组个数称为“ ...

  8. 基于E-R模型的关系型数据库设计方法

    摘要 在管理信息系统开发中,数据库设计的目标是建立DBMS能识别的关系数据模型.而关系数据模型建立的基础是首先建立E-R模型,通过E-R模型才能转换为关系数据模型.如何建立E-R模型以及如何将E-R模 ...

  9. 数据库设计和ER模型-------之数据库系统生存期(第二章)

    数据库设计 概念:开发人员利用开发环境表达用户要求.设计构造最优的数据模型,然后据此建立数据库以及其应用系统,这个过程称为数据库设计 数据库生存期 1968年首次提出“软件工程”的概念 概念:我们把数 ...

  10. MySQL数据分析-(5)数据库设计之ER模型

    大家好,我是jacky,很高兴跟大家分享本课时的内容,从本节课开始,就开始了我们第二章的学习,第一章我们抛出了若干问题,从第二章开始往后,都是解决问题的一个过程: 第一章的案例中,我们拿手机销售公司举 ...

随机推荐

  1. ContOS7搭建RAID-5磁盘阵列

    RAID5:分布式奇偶校验的独立磁盘结构 RAID5就是raid0和RAID1的一种折中,既提升了磁盘读写能力,又有一定的容错能力,成本也低: 实验开始: 1.挂载四块5G硬盘 2.进行分区:fdis ...

  2. C/C++常考习题

    1.什么是虚函数?什么是纯虚函数? 虚函数:允许被其子类重新定义的成员函数. 虚函数的声明:virtual returntype func(parameter);引入虚函数的目的是为了动态绑定: 纯虚 ...

  3. 获取电脑真实的IP地址,忽略虚拟机等IP地址的干扰

    /** * @author yins * @date 2018年8月12日下午9:53:58 */ import java.net.Inet4Address; import java.net.Inet ...

  4. 容器启动流程(containerd 和 runc)

    启动流程 containerd 作为一个 api 服务,提供了一系列的接口供外部调用,比如创建容器.删除容器.创建镜像.删除镜像等等.使用 docker 和 ctr 等工具,都是通过调用 contai ...

  5. FastWiki一分钟本地离线部署本地企业级人工智能客服

    FastWiki一分钟本地离线部署本地企业级人工智能客服 介绍 FastWiki是一个开源的企业级人工智能客服系统,它使用了一系列先进的技术和框架来支持其功能. 技术栈 前端框架:React + Lo ...

  6. 第11課-Channel Study For Create Custom Restful Service

    这节课我们一起学习利用Mirth Connect的HTTP Listener源通道与JavaScript Writer目的通道搭建自定义Restful风格webapi服务. 1.新建名为'Custom ...

  7. 成中集团线下IDC迁移上云

    阿里云根据成中集团业务场景入手,提供了上云方案和迁移建议,利用这套架构,保障了公司数据的安全性并且满足了公司对于备份机制的建立的基本诉求,并且降低了业务出现中断的风险. 公司介绍 成中简介: 我们公司 ...

  8. EDA 事件驱动架构与 EventBridge 二三事

    ​简介: 事件驱动型架构 (EDA) 方兴未艾,作为一种 Serverless 化的应用概念对云原生架构具有着深远影响.当我们讨论到一个具体架构时,首当其冲的是它的发展是否具有技术先进性.这里从我们熟 ...

  9. Effective Java 在工作中的应用总结

    简介: <Effective Java>是一本经典的 Java 学习宝典,值得每位 Java 开发者阅读.笔者将书中和平日工作较密切的知识点做了部分总结. ​ 作者 | 宜秋 来源 | 阿 ...

  10. Apache Flink 在京东的实践与优化

    ​简介: Flink 助力京东实时计算平台朝着批流一体的方向演进. 本文整理自京东高级技术专家付海涛在 Flink Forward Asia 2020 分享的议题<Apache Flink 在京 ...