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图转换而得的关系模型如下:系(系号,系名,系主任)、教师(工号,姓名,职称)、学生(学号,姓名,年龄,性别)、项目(项目号,项目名称,负责人)、课程(课程号,课程名,学分),任课(课程号,工号)、参加(工号,项目号,排名)、选修(学号,课程号,成绩)、聘用(工号、系号)、隶属(学号,系号),其中带下划线的为各关系模式中的主关键字。
数据库概念结构及逻辑结构设计习题
例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图转换成关系模式,并指出主码和外码。
答案:
关系模式:
商店(商店编号,商店名,地址)
职工(职工编号,姓名,性别,业绩,商店编号,聘期,工资)商品(商品号,商品名,规格,单价)
销售(商店编号,商品号,月销售量)。