er图实例
- 格式:doc
- 大小:166.00 KB
- 文档页数:8
E-R事例1、某商业集团的销售管理系统数据库中有三个实体集。
一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。
(1)试画出ER图,并在图上注明属性、联系的类型。
(2)将ER图转换成关系模型,并注明主键和外键.解:(1) ER图如图7。
1所示。
图7。
1(2)这个ER图可转换4个关系模式:商店(商店编号,商店名,地址)职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)商品(商品号,商品名,规格,单价)销售(商店编号,商品号,月销售量)2、设某商业集团的仓库管理系统数据库有三个实体集.一是“公司”实体集,属性有公司编号、公司名、地址等;二是“仓库”实体集,属性有仓库编号、仓库名、地址等;三是“职工”实体集,属性有职工编号、姓名、性别等. 公司与仓库间存在“隶属”联系,每个公司管辖若干仓库,每个仓库只能属于一个公司管辖;仓库与职工间存在“聘用"联系,每个仓库可聘用多个职工,每个职工只能在一个仓库工作,仓库聘用职工有聘期和工资。
(1)试画出ER图,并在图上注明属性、联系的类型。
(2)将ER图转换成关系模型,并注明主键和外键。
解:(1) ER图如图7。
2所示.图7。
2(2)这个ER图可转换3个关系模式:公司(公司编号,公司名,地址)仓库(仓库编号,仓库名,地址,公司编号)职工(职工编号,姓名,性别,仓库编号,聘期,工资)3、设某商业集团的商品供应管理系统数据库有三个实体集。
一是“商品”实体集,属性有商品号、商品名、规格、单价等;二是“商店”实体集,属性有商店号、商店名、地址等;三是“供应商”实体集,属性有供应商编号、供应商名、地址等。
ER图转换为关系模式实例⼆、概念结构设计1、系统概念模型图1选课系统概念模型E-R图(注:本例中上课时间可以抽象成实体,也可以抽象成属性。
)2、详细说明(1)系统涉及的实体集●班级实体集:具有属性班级名称和选课学分限制。
●学⽣实体集:具有属性学号、姓名、性别和⽣⽇。
●课程实体集:具有属性课程号、课程名、学分、授课教师、接纳⼈数。
●上课时间实体集:具有属性时间。
(2)系统涉及的联系●⼀个班级可以有多个学⽣,⼀个学⽣只能属于⼀个班级,所以班级和学⽣之间的联系为1:M的联系。
●⼀个班级可以有多门必修课程,⼀门课程是多个班级的必修课,所以班级和课程之间的必修联系是M:N的联系。
●⼀个学⽣课以选修多门课程,⼀门课程可以被多个学⽣选修,所以学⽣和课程之间的联系是M:N的联系。
⼀门课程可以有多个上课时间,同⼀时间内可以有多门课程在上课,所以课程和上课时间的联系是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表⽰接纳⼈数。
(4)班级和学⽣之间的联系是1:M的联系,所以没有必要为其建⽴⼀个关系,可以通过扩展学⽣关系来表⽰。
STUDENT(STUDENTID , NAME , SEX , BIRTHDAY , CLASSNAME)CLASSNAME表⽰学⽣所在班级名。
数据库概念设计ER图实例
例2.上海可的商业连锁集团需要建立信息系统。
该系统中存在3个实体集,一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可以放在多个商店销售,每个商店销售的一种商品有月销售量;商店与职工之间存在“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和工资。
(1).试画出E-R图。
(2).将该E-R图转换成关系模式,并指出主码和外码。
两个不同实体型之间的联系【例1.1】分别画出学校与教师联系,学生与课程联系的ER图。
见图1.11。
(a)学校与教师联系的ER图 (b)学生与课程联系的ER图图1.11 两个不同实体型间联系的ER图例子l多个不同实体型之间的联系【例1.2】假设厂家供应零件,仓库负责采购零件并管理零件的入库、出库,多个工程项目所需的零件在仓库领取。
画出仓库管理的ER图。
见图1.12。
(图中省去属性,属性另列,后同。
)有三个实体型:工程项目(项目号,项目名,负责人);零件(零件号,零件名,单价,数量);厂家(编号,厂名,厂址)。
有两个联系型:需求(需求量);采购(购进数)。
图1.12 多个不同实体型间联系的ER图例子l多个不同实体型之间的多元联系【例1.3】上例中,虽有多个实体型,但从联系的方式看,均属“两两联系”。
其实,联系也可以出现在多于两个实体型之间。
若在上例中进一步假设某个工程项目指定要购买某个厂家的零件,那么,工程项目和厂家之间也有联系。
这就是多个不同实体型之间的多元联系。
ER图可以是下面图1.13的样子:图1.13 多个不同实体型间联系的ER图例子l 两个不同实体型之间的多种联系【例1.4】两个实体型间可以通过多种联系反映不同语义。
例如,“职工”和“工程”两实体型间有两种联系,而且两种联系的方式也不一样。
一种是M:N联系,表示一个职工可参加多项工程,一个工程有很多职工参与。
另一种是1:N 联系,表示一个施工队长负责多项工程。
ER图如下,见图1.14。
图1.14 两个不同实体型间多种联系的ER图例子l 同一实体型内各实体间的联系【例1.5】同一实体型内各实体间的联系,有时候比起两个不同实体型间的联系还要复杂。
下面分开1:N联系和M:N联系两种情况来讨论。
假设实体型是“女性公民”,联系型是“母女”。
显然,联系方式是1:N。
因为每个人只有一位亲生母亲,但可能有几个女儿。
ER图如下,见图1.15。
图1.15 同一实体型内各实体间1:N联系的ER图例子假设实体型是“课程”,联系型是“预修”。
E-R图设计示例:例 1 设有某医院有以下事实:每个科室聘用多位医生可接诊病人;每位医生属于属于一个科室;病人根据自己的症状选择相应的科室就诊;一位病人在同一科室中多次看病时,每次可能由不同的医生为其诊断。
设科室的属性包括科室代码、科室名称,医生的属性包括工号、姓名、职称,病人的属性包括姓名、年龄、工作单位,设计其E-R图。
分析:“科室”与“医生”间的“聘用”关系为一对多的联系,可有聘用日期、聘用期限等属性;“医生”与“病人”间的“主治”关系为多对多的联系,可有就诊日期等属性;“科室”与“病人”间的“就诊”关系为多对多联系,但该关系可通过“科室”与“医生”间的“聘用”关系以及“医生”与“病人”间的“主治”关系来反映,可不必画出来。
E-R图结果:例 2 设某高校有若干个系,每个系有若干老师和学生,每位老师可担任多门课程,并可参与多个科研项目,每门课程可由多位老师担任,每个科研项目也可由多位教师共同参与,每位学生可选修本系或外系的多门课程。
试设计E-R图,给出每个实体、联系的属性,并将该E-R图转化为关系模型。
分析:由题意可知ER图中应包括5个实体:系、教师、学生、项目和课程,各实体的属性设计如下:系(系号,系名,系主任)、教师(工号,姓名,职称)、学生(学号,姓名,年龄,性别)、项目(项目号,项目名称,负责人)、课程(课程号,课程名,学分)。
个实体之间的联系包括:教师担任课程的“任课”联系;教师参加项目的“参加”联系;学生选修课程的“选修”联系;教师与系之间的“聘用”联系、学生与系之间的“隶属”联系。
其中“参加”联系可有项目排名属性。
“选修”联系应有成绩属性。
画出ER图后,可根据ER 图向关系模型转化。
E-R图结果:关系模式:由ER图转换而得的关系模型如下:系(系号,系名,系主任)、教师(工号,姓名,职称)、学生(学号,姓名,年龄,性别)、项目(项目号,项目名称,负责人)、课程(课程号,课程名,学分),任课(课程号,工号)、参加(工号,项目号,排名)、选修(学号,课程号,成绩)、聘用(工号、系号)、隶属(学号,系号),其中带下划线的为各关系模式中的主关键字。
珠海市某一百货商店要设计一个数据库管理信息系统来管理这家商店的业务信息,通过调研分析得知:该商店有一个重要方面的问题是同供应商打交道,商店出售的商品由他们提供,各供应商提供多种商品。
但是,每种商品可以从多个供应商处获得,各供应商提供的商品价格不同;该商店由若干各部门,每个部门由一个经理和若干雇员组成,每个雇员只能属于一个部门;每个部门销售某些商品,每种商品规定只能由一部门来销售;商店的顾客开定单买商品,由商店送货上门;每个顾客的定单数量可以开多张,一个定单由顾客要求的若干商品和购买的数量构成。
当然,同一类商品可以出现在多个定单中。
作出E-R 图,再转换道关系模式。
1、实体:
2、实体属性:
3、联系
A、首先—2个实体开始找B
C
4、转化成关系模式
A、实体:一个实体对应一个关系模式,关系模式的关键字就是实体的键。
供应商(供应商号,名称,联系方式)。
B、联系:一个联系就是一个关系模式。
属性------包括两个相关实体的关键字和联系自己本身属性,自己的关键字原则如下:
1:1的任意一个实体的关键字作为关键字。
1:n的n端实体的关键字作为关键字。
m:n的两个实体的关键字同时作为关键字。
E-R图实例图⽂详解E-R图实例第⼀题实体:学⽣(学号,姓名,年龄……)教师(职⼯号,姓名,年龄……)课程(课程号,课程名)要求:⼤学实⾏学分制,学⽣可根据⾃⼰的情况选课,每名学⽣可同时选修多门课程;每门课程可由多位教师主讲,每位教师可讲授多门课程;每名学⽣有⼀位教师指导,每个教师指导多名学⽣。
第⼆题设某汽车运输公司数据库中有三个实体集。
实体:车队(车队号,车队名)车辆(车牌照号,⼚家,出⼚⽇期)司机(司机编号,姓名,电话)要求:车队与司机之间存在“聘⽤”联系,每个车队可聘⽤若⼲司机,但每个司机只能应聘于⼀个车队,车队聘⽤司机有聘期;司机与车辆之间存在着“使⽤”联系,司机使⽤车辆有使⽤⽇期和公⾥数,每个司机可以使⽤多辆汽车,每辆车可被多个司机使⽤。
第三题实体:职⼯(职⼯号,姓名,地址,所在部门)部门(部门名,经理)产品(产品编号,产品名,制造商,价格,型号)制造商(制造商编号,制造商名称)要求:部门有很多职⼯,职⼯仅在⼀个部门⼯作;部门销售多种产品,这些产品也在其它部门销售;制造商⽣产多种产品,其它制造商也制造这些产品。
第四题实体:科室(科室名,科地址,科电话)病房(病房号,床位号,科室名)医⽣(姓名,职称,科室名,年龄,⼯作证号)病⼈(病历号,姓名,性别,诊断,主管医⽣,病房号)要求:⼀个科室有多个病房,多个医⽣;⼀个病房只能属于⼀个科室;⼀个医⽣只属于⼀个科室,但可负责多个病⼈的诊治,⼀个病⼈的主管医⽣只有⼀个。
第五题某运动会组委会需要⼀运动会管理系统,现提出如下需求。
实体:运动队(队编号,队名,教练姓名)队员(编号,姓名,性别)项⽬类别(类别编号,类别名称,主管)项⽬(项⽬名,场地)要求:每⼀项⽬类别包含很多⽐赛项⽬;⼀个运动队有多个队员,⼀个队员仅属于⼀个运动队;⼀个队有⼀个教练;⼀个队员可参加多个项⽬。
第六题海军某部要建⽴⼀个舰队信息系统,它包括如下两⽅⾯的信息:1.舰队⽅⾯实体:舰队(舰队名称,基地地点)舰艇(编号,舰艇名称,所属舰队)2.舰艇⽅⾯实体:舰艇(舰艇编号,舰艇名,武器名称)武器(武器编号,武器名称,武器⽣产时间,舰艇编号)官兵(官兵证号,姓名,舰艇编号)要求:⼀个舰队拥有多艘舰艇,⼀艘舰艇属于⼀个舰队;⼀艘舰艇安装多种武器,⼀种武器可安装于多艘舰艇之上;⼀艘舰艇有多名官兵,⼀名官兵只属于⼀艘舰艇。
数据库概念结构及逻辑结构设计习题
例1:现有图书管理的信息如下:
图书信息包括:书号、书名、作者、出版社、所属类别、单价。
出版社信息包括:社号、社名、地址、电话。
读者信息包括:借书证号、姓名、性别、所属院系。
一个出版社可以出版多种书籍,但每本书只能在一个出版社出版,出版应有出版日期和责任编辑。
一个读者可以借阅多本图书,一本图书可以有多个人借阅。
借阅信息包括:借书日期、还书日期。
根据以上信息,要求完成以下任务:(1)确定实体及其包含属性,以及各实体的码。
(2)确定各实体之间的联系,并设计图书管理情况的E-R图。
解:(1)本例包括图书、出版社、读者三个实体,其中图书实体包含书号、书名、作者、出版社、所属类别、单价6个属性,其中书号为码;出版社实体包含社号、社名、地址、电话4个属性,其中社号为码;读者实体包含借书证号、姓名、性别、所属院系4个属性,其中借书证号为码。
(2)出版社与图书两个实体之间为1:n联系,联系名为出版,该联系含有出版日期和责任编辑两个属性;读者与图书两个实体之间为m:n联系,联系名为借阅,该联系含有借书日期、还书日期2个属性。
例2:设有如下运动队和运动会两个方面的实体集:
运动队方面:
运动队:队编号、队名、教练名;
运动员:姓名、性别、项目;
其中,一个运动队有多个运动员,一个运动员仅属于一个运动队,一个队一般有一个教练。
运动会方面:
运动员:编号、姓名、性别;
项目:项目名、比赛场地;
其中,一个项目可由多个运动员参加,一个运动员可参加多个项目,一个项目在一个比赛场地进行,每场比赛都有名次和成绩。
要求:分别设计运动队和运动会两个局部E-R图。
(1)设计局部E-R图,
(2)合并消除冲突,生成初步E-R图,(属性冲突,命名冲突和结构冲突)
(3)优化初步E-R图,消除冗余(分析法、规范化理论中的函数依赖概念),生成基本E-R图。
命名冲突:项目和项目名是异名同义,统一命名为:项目名。
结构冲突:项目在两个局部E-R图中,一个作为属性,一个作为实体,合并为一个实体型。
队员属性个数不同,统一为两个局部E-R图中队员实体所有属性的并集。
例3.海军某部要建立一个舰队信息系统,它包括如下两方面的信息:
1.舰队方面
舰队:舰队名称、基地地点
舰艇:编号、舰艇名称、所属舰队
2.舰艇方面
舰艇:舰艇编号、舰艇名、武器名称
武器:武器编号、武器名称、武器生产时间、舰艇编号
官兵:官兵证号、姓名、舰艇编号
其中,一个舰队拥有多艘舰艇,一艘舰艇属于一个舰队;一艘舰艇安装多种武器,一种武器可安装于多艘舰艇之上;一艘舰艇有多名官兵,一名官兵只属于一艘舰艇。
要求完成如下设计:
(1).分别设计舰队和舰艇两个局部E-R图;
(2).将上述两个局部ER图合并成一个全局E-R图;
(3).将该全局E-R图转换为关系模式;
舰队局部E-R图
舰艇局部E-R图
全局E-R图
系模式:
舰队(舰队名称,基地地点)
舰艇(舰艇编号,舰艇名称,舰队名称)
官兵(官兵证号,姓名,舰艇编号)
武器(武器编号,武器名称, 武器生产时间)安装(舰艇编号,武器编号)
外键有哪些?
课堂练习
例4:上海可的商业连锁集团需要建立信息系统。
该系统中存在3个实体集,一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可以放在多个商店销售,每个商店销售的一种商品有月销售量;商店与职工之间存在“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和工资。
(1).试画出E-R图。
(2).将该E-R图转换成关系模式,并指出主码和外码。
答案:
关系模式:
商店(商店编号,商店名,地址)
职工(职工编号,姓名,性别,业绩,商店编号,聘期,工资)商品(商品号,商品名,规格,单价)
销售(商店编号,商品号,月销售量)。