什么是E-R模型?

E-R模型是有P.P.S.Chen提出的一个用E-R图描述现实世界的概念模型。

E-R模型有三个重要的概念:实体、属性、联系。

实体就是现实世界的一个现实或虚拟的对象,如一个学生就是一个实体,学生有属性 : 学号、姓名、年龄、身高等。属性依附于实体而存在,一个实体通常有一个或多个属性。有学生就有老师,一个老师有多个学生,同样一个学生有多个老师,那么学生与老师存在多对多的联系。一个学生只能存在于一个班级中,一个班级有多个学生,所以学生与班级存在多对一的联系。

E-R图提供了表示实体型、属性和联系的方法。

1.实体型用矩形表示,矩形框内写明实体名。

2.属性用椭圆表示,并用无向边将其与对应的实体型连接起来。

3.联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:1、1:n、或n:n)。

如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。

例如:

E-R图

E-R图是用来表示实体及实体间关系的图,在数据库的设计中被广泛运用。下面我们直接来看一个E-R图的实例,很快就能理解什么是E-R图。

下面用E-R图来表示某个工厂物资管理的概念模型。物资管理涉及以下几个实体:

  • 仓库:仓库号、面积、电话号码。
  • 零件:零件号、名称、规格、单价、描述
  • 供应商:供应商号、姓名、地址、电话号码、账号
  • 项目:项目号、预算、开工日期
  • 职工:职工号、姓名、年龄、职称。

各个实体的联系如下

  1. 仓库与零件:一个仓库有多个零件,一个零件也可存放于多个仓库,所以仓库与零件是多对多联系。
  2. 仓库与职工:一个仓库一个职工,一个职工同时只能在一个仓库上班,所以仓库和职工是一对一联系。
  3. 职工与职工:职工中有一个领导,领导若干下属共同管理仓库,所以职工中存在一对多的联系。
  4. 供应商、项目、零件:一个供应商可以给多个项目供应多种零件,一个项目可以使用多个供应商的多种零件,一种零件可以由多个供应商供给且一种零件可用于多个项目。

分析好这个模型下的实体和实体间的关系后,可以开始画图了,画图工具为office visio。

第一步:画出各个实体

第二步:根据实体间的关系画出实体联系图

第三步:在实体联系图的实体上面画出实体的属性

工厂物资管理E-R图:

实体和属性的划分原则:为了简化E-R图的处置,现实世界的事物能作为属性对待的尽量作为属性对待。

符合什么条件的事物可以作为属性对待呢?可以给出两条准则

1.作为属性,不能再具有需要描述的性质,即属性必须是不可分的数据项,不能包含其他属性。

2.属性不能与其他实体具有联系,即E-R图中所表示的联系是实体之间的联系。

例如,职工是一个实体,职工号、姓名、年龄是职工的属性,职称如果没有与工资、岗位津贴、福利挂钩,换句话说,没有需要进一步描述的属性,则根据准则(1)可以作为职工实体的属性;但如果不同的职称有 不同的工资、岗位津贴和不同的附加福利,则职称作为一个实体看待就更恰当,如下图所示:

数据库系统概论笔记二——画E-R图相关推荐

  1. 数据库系统概论笔记(第一章 引言)—— 持续更新,争取每周更新一章

    第一章 引言 数据库管理系统(DataBase-Management System, DBMS)*是由一个相互关联的数据的集合和一组用以访问这些数据的程序构成.这个数据集合通常称为数据库(DataBa ...

  2. 数据库系统概论笔记整理———第一章(绪论之数据库系统,数据模型,外模式,内模式,层次模型,数据独立性等)

    ❤️ 数据库系统概论 1.数据(data):描述事物的符号记录,可以是数字,图像,音频,视频等. 2.数据的含义称为数据的语义,数据与其语义是不可分的 3.数据库(DB):是长期存储在计算机内,有组织 ...

  3. 【架构设计】架构学习笔记--如何画好架构图(一)

    如何画好架构图? 先摸清一些基础概念 1.什么是架构? 是对系统中的实体以及实体之间的关系所进⾏的抽象描述,是结构和愿景的一种体现. 做了架构,就需要让⼲系⼈理解.遵循相关决策 2.什么是架构图? 是 ...

  4. 数据库系统概论实验二——创建及管理数据库

    一.实验准备知识 1.数据库相关属性 1)逻辑名称:数据文件和日志文件名称 2)文件类型:数据文件及日志文件 3)文件组:各个数据文件所属的文件组名称 4)初始大小:文件的最原始大小 5)自动增长:文 ...

  5. 数据库系统概论实验二(数据库及数据表操作)

    1.启动MySQL mysql -u root -p 然后输入自己的数据库密码,成功打开数据库 2. 创建xskc数据库并查看 create xskc; show databases; 3. 删除刚刚 ...

  6. 数据库系统概论笔记——第一章

  7. 数据库系统概论笔记第五章和习题

  8. 《数据库系统概论》学习笔记

    第0章 脚手架 0.1 写在前面 本学习笔记的主要用途,是来回顾数据库的一些基本理论知识和SQL语句. 学习笔记的主要参考文献,为王珊著的<数据库系统概论>(第5版,2014)和教育部考试 ...

  9. 数据库系统概论学习笔记

    文章目录 前言 数据库系统概论复习 一.绪论 概念模型 逻辑模型 三层模式结构 外模式+模式+内模式 二.关系数据库 关系数据结构 关系的操作 关系代数运算符 笛卡尔积 选择 投影 连接 自然连接 外 ...

最新文章

  1. JavaScript的运行模式
  2. yum命令安装jdk
  3. C#多线程中lock的用法
  4. reactjs组件通讯:子组件传递数据给父组件
  5. java-HTMLjavaSkcriptCSSjQueryajax
  6. 文字 竖排居中_学会了这几招,瞬间就搞定PPT文字排版问题!
  7. android编辑框最大字数,TextView 限制最大行数、最小行数、字数超过“...”表示...
  8. 西门子em235模块的功能_图文讲解PLC模拟量模块与传感器接线方法和注意事项
  9. android-清单小文件
  10. UVA 993 Product of digits
  11. 小米手机计算机连接设置方法,小米手机怎么连接电脑并上网?小米手机USB共享上网方法详细图解...
  12. 概率 无穷数列求和公式
  13. 进不去系统rpc服务器不可用,rpc服务器不可用_详细解决方法,彻底修复
  14. 准备了个freyja实例项目(单数据源版)
  15. 清除浏览器痕迹(RunDll32.exe)
  16. 通过RDA5807制作一个收音机
  17. 微信公众号开发--js关闭浏览器回到公众号对话窗口
  18. 工业交换机和普通交换机的区别
  19. 郑大计算机专业多少分,2020年,郑大各专业分数线公布,里面门道很多,给你们一一分析...
  20. android 短信 app下载,云短信app下载安装-云短信 安卓版v2.0.0-PC6安卓网

热门文章

  1. 按钮控制LED灯的亮灭
  2. 【智能制造】智能制造与智能工厂的主要特征
  3. H3 R4900 G3装系统详细步骤
  4. CF1677E Tokitsukaze and Beautiful Subsegments
  5. 10[粒子系统的实现]
  6. lucene相关资料
  7. Mac软件:分享五款实用的Mac软件,值得收藏
  8. 嵌入式linux系统应用开发
  9. 大梦谁先觉 --伍立杨
  10. Centos7 下nexus的安装和使用