Entity Relationship Diagrm
来源:互联网 发布:手机解压软件中文 编辑:程序博客网 时间:2024/05/22 04:50
E-R
Entity Relationship Diagrm
概念:
E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
组成:
在ER图中有如下四个成分:
矩形框:表示实体,在框中记入实体名。
菱形框:表示联系,在框中记入联系名。
椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划一下划线。
连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上标注联系的类型。(对于一对一联系,要在两个实体连线方向各写1; 对于一对多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体连线方向各写N,M。)
范例:
1、图书借阅管理系统
1.1数据库要求提供下述服务:
(1)可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号惟一标识。
(2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。
约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有惟一性。
(3)当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向相应出版社增购有关书籍。
约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有惟一性。
1.2数据建模:
(1)满足上述需求的E-R图如图:
(2)转换为等价的关系模式结构如下:
借书人(借书证号,姓名,单位)图书(书号,书名,数量,位置,出版社名)出版社(出版社名,电报编号,电话,邮编,地址)借阅(借书证号,书号,借书日期,还书日期)
2、学生选课管理系统
2.1数据库要求提供下述服务:
(1)数据库需要有以下信息:
学生:学号、单位名称、姓名、性别、年龄、选修课程名
课程:编号、课程名、开课单位、任课教师号
教师:教师号、姓名、性别、职称、讲授课程编号
单位:单位名称、电话、教师号、教师姓名
(2)上述实体中存在如下联系:
1)一个学生可选修多门课程,一门课程可被多个学生选修。 2)一个教师可讲授多门课程,一门课程可由多个教师讲授。 3)一个单位可有多个教师,一个教师只能属于一个单位。
2.2数据建模
(1)学生选课局部E-R图如图:
(2)教师任课局部E-R图如图:
(3)合并的全局E-R图如图:
(4)该全局E-R图转换为等价的关系模式表示的数据库逻辑结构如下:
单位(单位名称,电话)教师(教师号,姓名,性别,职称,单位名称)课程(课程编号,课程名,单位名称) 学生(学号,姓名,性别,年龄,单位名称) 讲授(教师号,课程编号) 选修(学号,课程编号)
- Entity Relationship Diagrm
- Service Builder entity relationship
- Database Design Using Entity-Relationship Diagrams
- 如何使用Entity Relationship Diagram (ERD) 建模
- Entity Relationship diagram/Data model for Microsoft Navision
- 实体关系图E-R图(Entity Relationship Diagram)
- Dynamics CRM Entity Relationship Many to Many (N:N)
- E-R图(Entity Relationship Diagram实体联系图)
- uml relationship
- the relationship
- coreData relationShip
- distribution relationship
- entity
- entity
- Entity
- @Entity
- Customer Relationship Management
- Relationship Based Object
- NSUserDefaults
- 1025. PAT Ranking (25)
- Project Euler:Problem 28 Number spiral diagonals
- CTreeCtrl
- Android开发技巧——实现可复用的ActionSheet菜单
- Entity Relationship Diagrm
- 原材料入库控制的三个问题
- 开始刷leetcode day29:Swap Nodes in Pairs
- [leetcode] Rotate Array
- Java中的相对路径与绝对路径
- 浅谈LINUX
- Python 基础
- 微软100题(55)类的赋值函数
- 解析JDK、J2EE、J2SE、J2ME的区别