ER模型实际实例
- 格式:ppt
- 大小:810.50 KB
- 文档页数:26
二、概念结构设计1、系统概念模型图1选课系统概念模型E-R 图(注:本例中上课时间可以抽象成实体,也可以抽象成属性。
) 2、详细说明(1)系统涉及的实体集● 班级实体集:具有属性班级名称和选课学分限制。
● 学生实体集:具有属性学号、姓名、性别和生日。
● 课程实体集:具有属性课程号、课程名、学分、授课教师、接纳人数。
● 上课时间实体集:具有属性时间。
(2)系统涉及的联系● 一个班级可以有多个学生,一个学生只能属于一个班级,所以班级和学生之间的联系为1:M 的联系。
● 一个班级可以有多门必修课程,一门课程是多个班级的必修课,所以班级和课程之间的必修联系是M :N 的联系。
● 一个学生课以选修多门课程,一门课程可以被多个学生选修,所以学生和课程之间的联系是M :N 的联系。
班级学分限制班级名学生学号 姓名性别生日属于必修课程选修上课时间上课时间授课教师接纳人数课号课名学分1mmnmmnn一门课程可以有多个上课时间,同一时间内可以有多门课程在上课,所以课程和上课时间的联系是M:N的联系。
三、逻辑结构设计将E-R模型转换为关系模式(1)班级实体集可以转换为关系CLASS(CLASSNAME,MAXCREDIT,MINCREDIT)CLASSNAME表示班级名称,MAXCREDIT表示最大学分限制,MINCREDIT表示最小学分限制。
(2)学生实体集可以转换为关系STUDENT(STUDENTID , NAME , SEX , BIRTHDAY)STUDENTID表示学号,NAME表示姓名,SEX表示性别,BIRTHDAY表示生日(3)课程实体可以转换为关系COURSE(COURSEID, COURSENAME, CREDIT, TEACHER, ACCEPTION)COURSEID表示课程号,COURSENAM表示课程名,CREDIT表示学分,TEACHER表示授课教师,ACCEPTION表示接纳人数。
ER模型在E-R模型中,主要有实体、属性、联系三个部分组成。
建立E-R图的过程如下:(1) 首先确定实体类型。
(2) 确定联系类型(1:1,1:N,M:N)。
(3) 把实体类型和联系类型组成E-R图。
(4) 确定实体类型和联系类型的属性。
(5) 确定实体类型的键,在属于键的属性名下划一条横线。
E-R图示例一. ER模型E-R模型就是实体关系模型(Entity Relationship Model)。
关系物理形态就是数据库中的基本表。
我们根据业务需求绘出相应的E-R模型图,然后将E-R模型转为关系。
这样就完成了数据库的设计。
E-R模型转为关系的步骤是1.实体的转换每个实体都需要用一个关系来表示,并将实体的属性表达为关系的属性。
2.联系的转换此联系就是“实体关系”中的“关系”,只是为了区分物理形态为基本表的关系。
E-R模型共用三种联系:1.一对一用1:1表示2.一对多用1:N表示3.多对多用M:N表示2.1 一对一联系1.若双方部分的参与,则将联系定义为一个新的关系,属性为参与双方的码例子:A场的职工配偶是本场的职工,同时只有部分职工有配偶,则关系可以设计如下:职工(职工号,职工名)配偶(丈夫职工号,妻子职工号)2.若一方全部参与,则将联系另一方的码作为全部参与一方的属性每个部门都有一个职工作为它的管理者,反过来只有部分职工是部门的管理者.则则关系可以设计如下:职工(职工号,职工名)部门(部门号,部门名,管理者职工号)2.2 一对多联系将单方参与实体的码作为多方参与实体的属性1.一个班级有多个学生,只有一个班主任.则关系可以设计如下:教师(教工号,教工名)学生(学生号,学生名,班主任教工号)2.多个职工有一个领导,领导也是职工则关系可以设计如下:职工(职工号,职工名,领导职工号)2.3 多对多联系将联系定为新的关系,属性为参与双方的码学生可以选修多门课程,一门课程可以有多个学生则关系可以设计如下:学生(学生号,学生名)课程(课程号,课程名)选修(学生号,课程号)二. 根据ER模型画出对应的ER图E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
Entity Relationship Model - ER模型- 实体关系模型1976年Peter Chen首次提出了Entity Relationship Modeling(实体关系建模)概念,并发明了陈氏表示法Peter Chen's Notation,因此ER模型也可以叫做Chen's Model(陈氏模型)。
下面是一个ER模型(ERD - ER diagram - Entity Relationship diagram)示例:图:ER模型- Peter Chen's Notation图:ER模型- Peter Chen's Model,实际上这是一个EER - Enhanced Entity-Relationship Model,扩展ER模型Entity 实体:使用方框表示Attribute 属性:使用圆或椭圆表示。
实体和实体关系都可以拥有属性,例如图中的Order-Line 关系拥有3个属性Relationship 关联关系:使用菱形表示,菱形中写上关联关系的名字ER模型中关联关系也可以拥有属性,在多对多关联关系中不需要使用额外中间关联实体来表示,关联关系本身就可以作为这个中间实体。
另外ER模型的关联关系不限于2个实体之间,可以在多个实体间使用一个关联关系Unique Identifier 唯一标识陈氏表示法没有很好的解决唯一标识问题,仅使用一种简单的标记方法,下图表示Party的ID 作为Purchase Order唯一标识一员的情况,关联关系名称改为E,朝依赖实体方使用一个箭头,依赖实体使用一个额外的方框括起来图:ER模型中唯一标识的表示方法图:ER模型中唯一标识的表示方法Sub-type 子类型最初的陈氏表示法中不包含子类型概念,后来Robert Brown和Mat Flavin添加了子类型表示法,这种ER模型称为扩展ER模型。
上图ER模型中有一个子类型例子,超类Party派生出子类Organization和PersonConstraints between relationships 关联关系的约束最初的陈氏表示法中关联关系的每一端只使用一个数字表示,比如一对多的关联关系,在一端使用1,另一端实体上使用n表示,这对关联关系约束不充分。
原则1:ER图中的每一个独立实体变换为一个关系,其属性变为关系的属性,其主标识变为关系的主码。
例如,图中独立实体“部门”、“职员”分别变为部门关系、职员关系。
部门关系原则2:ER图中的从实体及相应的“的”联系变换为一个关系,从实体的属性加上主实体关系的主码构成这个关系的属性。
如果“的”联系是1:1的,则以主实体关系的主码(作为外来码)为这个关系的主码;如果“的”联系是1:M的,则以主实体关系的主码加上同一主实体个体联系的不同从属实体个体赖以相互区分的属性组,组成该关系的主码。
例如:原则3:1:M联系通过在“多”实体关系中增加相联系的“1”实体关系的主码及联系本身的属性来表达。
其中“1”实体主码为外来码。
例如,在员工关系中增加“所属部门号”这个外来码反映1:M联系所属职员关系。
员工关系在部门关系中增加“主管工号”这个外来码反映1:1联系主管与部门关系。
原则4:M:M联系转换成一个独立的关系,被联系实体关系的主码(作为外来码)和联系本身的属性作为该关系的属性,被联系实体关系的主码组成其复合主码。
分录关系有工程和职工两个实体,工程实体有工程号、工程名、预算等属性;职工实体有职工号、姓名、性别、职务、小时工资率等属性。
假设一名职工参加多个工程项目,且一个工程项目有多名职工参加;按照职工的小时工资率以及在每一项工程中完成的工时发酬金;职工的职务决定小时工资率。
(1)根据语义设计E-R模型,要求标出实体的属性和联系方式;(2)将E-R模型转换成一组关系模式,并指出主码和外码;(3)判断每个关系模式属于第几范式。
(1) E-R图如下:(2)工程(工程号,工程名,预算)(1分)职工(职工号,姓名,性别,职务,小时工资率)(2分)酬金(职工号,工程号,工时)(2分)(3)工程和酬金是3NF (3分)职工是2NF (2分)设某商业集团数据库中有三个实体集。
一是“仓库”实体集,属性有仓库号、仓库名和地址等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“商品”实体集,属性有商品号、商品名、单价。