ER图实例
ER图例子
ER图举例
3
司机编号 姓名 电话 车牌照号 厂家 出厂日期
司机 n
m
使用
n
车辆
使用日期 聘期 聘用
公里数
1 车队
车队号
车队名
ER图举例
3 关系模式: 1) 车队(车队号、车队名)
主键:车队号
2) 车辆(车牌照号、厂家、出厂日期)
主键:车牌照号
3) 司机(司机编号、姓名、电话,聘期,车队号)
主键:司机编号,外键:车队号
4) 运动员( 运动员编号 ,姓名,年龄,性别, 团编号 )
5) 参加( 项目编号 ,运动员编号 ,成绩)
ER图举例ຫໍສະໝຸດ ER图举例1 现有论文和作者两个实体,论文实体的属性包括题目、期刊名 称、年份、期刊号;作者实体的属性包括姓名、单位、地址;一篇 论文可以有多个作者,且每一位作者写过多篇论文,在每一篇论文 中有作者的顺序号。请完成以下操作: (1)画出E-R图 (2)将E-R图转换成关系模式,并指出每个关系模式的主键(加 下划线)和外键(加波浪线)。
ER图举例
2
ER图举例
3
设某汽车运输公司数据库中有三个实体集。一是“车队”实体 集,属性有车队号、车队名等;二是“车辆”实体集,属性有车牌 照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、 姓名、电话等。设车队与司机之间存在“聘用”联系,每个车队可 聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有 聘期;司机与车辆之间存在着“使用”联系,司机使用车辆有使用 日期和公里数,每个司机可以使用多辆汽车,每辆车可被多个司机 使用。 要求: (1)试画出ER图,并在图上注明属性、联系类型; (2)将ER图转换成关系模式,并说明主键和外键。
E-R图实例
E-R图实例1,现有论⽂和作者两个实体,论⽂实体的属性包括题⽬、期刊名称、年份、期刊号;作者实体的属性包括姓名、单位、地址;⼀篇论⽂可以有多个作者,且每⼀位作者写过多篇论⽂,在每⼀篇论⽂中有作者的顺序号。
请完成以下操作:(1)画出E-R图(2)将E-R图转换成关系模式,并指出每个关系模式的主键(加下划线)和外键(加波浪线)。
CREATE TABLE发表 (姓名CHAR(7) NOT NULL, 题⽬CHAR(6) NOT NULL, 顺序号INT DEFAULT NULL, PRIMARY KEY (姓名, 题⽬), FOREIGN KEY (姓名) REFERENCES论⽂ON DELETE CASCADE, FOREIGN KEY (题⽬) REFERENCES 2,某企业集团有若⼲⼯⼚,每个⼯⼚⽣产多种产品,且每⼀种产品可以在多个⼯⼚⽣产,每个⼯⼚按照固定的计划数量⽣产产品,计划数量不低于300;每个⼯⼚聘⽤多名职⼯,且每名职⼯只能在⼀个⼯⼚⼯作,⼯⼚聘⽤职⼯有聘期和⼯资。
⼯⼚的属性有⼯⼚编号、⼚名、地址,产品的属性有产品编号、产品名、规格,职⼯的属性有职⼯号、姓名、技术等级。
请:(1)该集团进⾏概念设计,画出E-R图。
(2)E-R图转换成关系模式,并指出每个关系模式的主键和外键。
CREATE TABLE⽣产(⼯⼚编号CHAR(7) NOT NULL,产品号CHAR(6) NOT NULL,数量DEC(5,2),PRIMARY KEY (⼯⼚编号,产品号),FOREIGN KEY (⼯⼚编号)REFERENCES⼯⼚ON DELETE CASCADE,FOREIGN KEY (产品号)REFERENCES产品ON DELETE RESTRICT,CHECK (数量>=300));3,设某汽车运输公司数据库中有三个实体集。
⼀是“车队”实体集,属性有车队号、车队名等;⼆是“车辆”实体集,属性有车牌照号、⼚家、出⼚⽇期等;三是“司机”实体集,属性有司机编号、姓名、电话等。
E-R图例子
1 现有论文和作者两个实体,论文实体的属性包括题目、期刊名 称、年份、期刊号;作者实体的属性包括姓名、单位、地址;一篇 论文可以有多个作者,且每一位作者写过多篇论文,在每一篇论文 中有作者的顺序号。请完成以下操作: (1)画出E-R图 (2)将E-R图转换成关系模式,并指出每个关系模式的主键(加 下划线)和外键(加波浪线)。
ER图举例
1
ER图举例
1 CREATE TABLE 发表
(姓名 CHAR(7) NOT NULL,
题目 CHAR(6) NOT NULL, 顺序号 INT DEFAULT NULL,
PRIMARY KEY (姓名, 题目),
FOREIGN KEY (姓名) REFERENCES 论文 ON DELETE CASCADE, FOREIGN KEY (题目) REFERENCES 作者 ON DELETE RESTRICT);
ER图举例
3
司机编号 姓名 电话 车牌照号 厂家 出厂日期
司机 n
m
使用
n
车辆
使用日期 聘期 聘用
公里数
1 车队
车队号
车队名
ER图举例
3 关系模式: 1) 车队(车队号、车队名)
主键:车队号
2) 车辆(车牌照号、厂家、出厂日期)
主键:车牌照号
3) 司机(司机编号、姓名、电话,聘期,车队号)
主键:司机编号,外键:车队号
ER图举例
2 某企业集团有若干工厂,每个工厂生产多种产品,且每一种产 品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品, 计划数量不低于300;每个工厂聘用多名职工,且每名职工只能在 一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编 号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的 属性有职工号、姓名、技术等级。请: (1)该集团进行概念设计,画出E-R图。 (2)E-R图转换成关系模式,并指出每个关系模式的主键和外键。
ER图例子XIUG
1、某商业集团的销售管理系统
数据库中有三个实体集。
一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。
(1)试画出ER图,并在图上注明属性、联系的类型。
(2)将ER图转换成关系模型,并注明主键和外键。
解:(1) ER图如图7.1所示。
图7.1
(2)这个ER图可转换4个关系模式:
商店(商店编号,商店名,地址)
职工(职工编号,姓名,性别,业绩,商店编号,聘期,月薪)
商品(商品号,商品名,规格,单价)
销售(商店编号,商品号,月销售量)
1 / 26。
软件工程导论实例:ER图
例:请为某仓库的管理设计一个ER模型。 该仓库主要管理零件的订购和供应等事项。 仓库向工程项目供应零件,并且根据需要 向供应商订购零件。
实例2:银行计算机储蓄系统的工作过程大致如 下:储户填写的存款单或取款单由业务员键入系 统,如果是存款则系统记录存款人姓名,住址 (或电话号码),身份证号码,存款类型,存款 日期,到期日期,利率及密码(可选)等信息, 并打印出存款单给储户;如果是取款而且存款时 留有密码,则系统首先核对储户密码,若密码正 确或存款时未留有密码,则系统计算利息并打印 出利息 清单给储户。
要是名称,地址和电话号码,而数额,类型,到期日期,利率和密码则是 联系类型存取款的属性。下图是描绘计算机储蓄系统中数据对象的实体-联 系图
住址
身份证号码
地址
姓名
电话号码
储户
M
名称
电话号码
存取款
N
储蓄所
数额 类型
到期日期
密码 利率
状态转换图
办公室复印机的工作过程大致如下:未接到复 印命令时处于闲置状态,一旦接收到复印命令则 进入复印状态,完成一个复印命令规定的工作后 又回到闲置状态,等待下一个复印命令;如果执 行复印命令时发现缺纸,则进入缺纸状态,发出 警告,等待装纸,装满纸后进入闲置状态,准备 接收复印命令;如果复印时发生卡纸故障,则进 入卡纸状态,发出警告等待维修人员来排除故障, 故障排除后回到闲置状态。 请用状态转换图描绘复印机主要有闲置,复印, 缺纸和卡纸。引起状态转换的事件主要是复印命令,完 成复印命令,发现缺纸,装满纸,发生卡纸故障和排除 了卡纸故障。
以下状态转换图描绘了复印机的行为。
闲置
排除卡纸故障
复印 do/复印
装满纸
ER图例子
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图例子
ER图例子
这里是一个简单的ER图例子:
对于一个小型的社交平台,我们需要设计一个ER模型。
该平台的主要功能包括用户注册和登录,用户可以发布状态和分享照片、视频和音乐,用户可以关注其他用户并被其他用户关注。
在这个ER图中,我们有以下实体:
1.用户:该实体包含有关实际用户的信息,例如用户名、密码和电子邮件地址等。
2.状态:该实体代表用户分享的短文本或照片、视频和音乐等多媒体内容。
3.评论:该实体包含用户对状态发表的反馈和评论,以及个人消息的评论。
4.消息:该实体代表用户发送和接收的私人消息。
5.关注:该实体表示用户之间关注或被关注的关系。
用户可以关注其他用户,其活动将显示在其资料中。
这些实体之间的关系有以下几种类型:
1.一对多关系:用户可以发布多个状态,每个状态只有一个用户。
一个用户可以发表多个状态。
2.多对多关系:一个用户可以关注多个其他用户,一个用户可以被多个其他用户关注。
3.一对一关系:每条消息只能由一个用户发送给一个用户。
最后,我们有以下属性:
1.用户:用户名、密码、电子邮件地址、个人资料等信息。
2.状态:文本、图片、视频、音乐、时间戳、喜欢数等信息。
3.评论:文本、时间戳等信息。
4.消息:文本、时间戳等信息。
5.关注:时间戳等信息。
以上是我们的ER图例子。
它能够解决社交平台的基本需求,如用户注册、分享多媒体内容、分享消息和关注其他用户等功能。
通过此ER图,设计者能够更好地理解和管理这些实体之间的关系,从而设计相应的数据库架构。
ER图事例
珠海市某一百货商店要设计一个数据库管理信息系统来管理这家商店的业务信息,通过调研分析得知:该商店有一个重要方面的问题是同供应商打交道,商店出售的商品由他们提供,各供应商提供多种商品。
但是,每种商品可以从多个供应商处获得,各供应商提供的商品价格不同;该商店由若干各部门,每个部门由一个经理和若干雇员组成,每个雇员只能属于一个部门;每个部门销售某些商品,每种商品规定只能由一部门来销售;商店的顾客开定单买商品,由商店送货上门;每个顾客的定单数量可以开多张,一个定单由顾客要求的若干商品和购买的数量构成。
当然,同一类商品可以出现在多个定单中。
作出E-R 图,再转换道关系模式。
1、实体:
2、实体属性:
3、联系
A、首先—2个实体开始找B
C
4、转化成关系模式
A、实体:一个实体对应一个关系模式,关系模式的关键字就是实体的键。
供应商(供应商号,名称,联系方式)。
B、联系:一个联系就是一个关系模式。
属性------包括两个相关实体的关键字和联系自己本身属性,自己的关键字原则如下:
1:1的任意一个实体的关键字作为关键字。
1:n的n端实体的关键字作为关键字。
m:n的两个实体的关键字同时作为关键字。
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图实例图文详解
E-R图实例图⽂详解E-R图实例第⼀题实体:学⽣(学号,姓名,年龄……)教师(职⼯号,姓名,年龄……)课程(课程号,课程名)要求:⼤学实⾏学分制,学⽣可根据⾃⼰的情况选课,每名学⽣可同时选修多门课程;每门课程可由多位教师主讲,每位教师可讲授多门课程;每名学⽣有⼀位教师指导,每个教师指导多名学⽣。
第⼆题设某汽车运输公司数据库中有三个实体集。
实体:车队(车队号,车队名)车辆(车牌照号,⼚家,出⼚⽇期)司机(司机编号,姓名,电话)要求:车队与司机之间存在“聘⽤”联系,每个车队可聘⽤若⼲司机,但每个司机只能应聘于⼀个车队,车队聘⽤司机有聘期;司机与车辆之间存在着“使⽤”联系,司机使⽤车辆有使⽤⽇期和公⾥数,每个司机可以使⽤多辆汽车,每辆车可被多个司机使⽤。
第三题实体:职⼯(职⼯号,姓名,地址,所在部门)部门(部门名,经理)产品(产品编号,产品名,制造商,价格,型号)制造商(制造商编号,制造商名称)要求:部门有很多职⼯,职⼯仅在⼀个部门⼯作;部门销售多种产品,这些产品也在其它部门销售;制造商⽣产多种产品,其它制造商也制造这些产品。
第四题实体:科室(科室名,科地址,科电话)病房(病房号,床位号,科室名)医⽣(姓名,职称,科室名,年龄,⼯作证号)病⼈(病历号,姓名,性别,诊断,主管医⽣,病房号)要求:⼀个科室有多个病房,多个医⽣;⼀个病房只能属于⼀个科室;⼀个医⽣只属于⼀个科室,但可负责多个病⼈的诊治,⼀个病⼈的主管医⽣只有⼀个。
第五题某运动会组委会需要⼀运动会管理系统,现提出如下需求。
实体:运动队(队编号,队名,教练姓名)队员(编号,姓名,性别)项⽬类别(类别编号,类别名称,主管)项⽬(项⽬名,场地)要求:每⼀项⽬类别包含很多⽐赛项⽬;⼀个运动队有多个队员,⼀个队员仅属于⼀个运动队;⼀个队有⼀个教练;⼀个队员可参加多个项⽬。
第六题海军某部要建⽴⼀个舰队信息系统,它包括如下两⽅⾯的信息:1.舰队⽅⾯实体:舰队(舰队名称,基地地点)舰艇(编号,舰艇名称,所属舰队)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模型实例
2.
• 设物质管理数据库中有两个实体集,一是“仓库” 实体集,具有仓库号、地址、电话等属性;另一 个“零件”实体集,具有零件号、零件名称、规 格、单价等。如果规定:一种零件可以存放在多 个仓库中但最多只能存放在5个仓库中;一个仓库 可以存放20种零件,最少要存放4种零件。存放 20 4 在仓库中的零件有日期、库存量等属性。 a.试图画出E-R图,并注明属性和联系的连通词和 基数。 b.将E-R图转换成关系模型,并注明每个表的主码 和外码。
收银员
1
商品
1
MLeabharlann 收银销售M
M
1
购物单
• 收银员(收银员代号,……) 主码:收银员代号 • 商品(商品编号,商品名称,单价,……) 主码:商品编号 • 购物单(购物单号,购物时间,总金额,收银员 代号,……) 主码:购物单号 外码:收银员代号 • 销售(购物单号,商品编号,数量,……) 主码:购物单号,商品编号 外码:购物单号, 商品编号
E-R模型实例
1.某医院病房计算机管理中需要如下信息: • 科室:科名,科地址,科电话,医生姓名 • 病房:病房号,床位号,所属科室名 • 医生:姓名,职称,所属科室名,年龄,工作证 号 • 病人:病历号,姓名,性别,诊断,主管医生, 病房号 • 其中,一个科室有多个病房、多个医生,一个病 房只能属于一个科室,一个医生只属于一个科室, 但可负责多个病人的诊治,一个病人的主管医生 只有一个。 • 完成如下设计: • (1)设计该计算机管理系统的E-R图; • (2)将该E-R图转换为关系模型结构; • (3)指出转换结果中每个关系模式的候选码。
病房号
床位号
答案:
n
科 名
科地址 科电话
1 组成
E-R设计实例
E-R图设计示例:例 1 设有某医院有以下事实:每个科室聘用多位医生可接诊病人;每位医生属于属于一个科室;病人根据自己的症状选择相应的科室就诊;一位病人在同一科室中多次看病时,每次可能由不同的医生为其诊断。
设科室的属性包括科室代码、科室名称,医生的属性包括工号、姓名、职称,病人的属性包括姓名、年龄、工作单位,设计其E-R图。
分析:“科室”与“医生”间的“聘用”关系为一对多的联系,可有聘用日期、聘用期限等属性;“医生”与“病人”间的“主治”关系为多对多的联系,可有就诊日期等属性;“科室”与“病人”间的“就诊”关系为多对多联系,但该关系可通过“科室”与“医生”间的“聘用”关系以及“医生”与“病人”间的“主治”关系来反映,可不必画出来。
E-R图结果:例 2 设某高校有若干个系,每个系有若干老师和学生,每位老师可担任多门课程,并可参与多个科研项目,每门课程可由多位老师担任,每个科研项目也可由多位教师共同参与,每位学生可选修本系或外系的多门课程。
试设计E-R图,给出每个实体、联系的属性,并将该E-R图转化为关系模型。
分析:由题意可知ER图中应包括5个实体:系、教师、学生、项目和课程,各实体的属性设计如下:系(系号,系名,系主任)、教师(工号,姓名,职称)、学生(学号,姓名,年龄,性别)、项目(项目号,项目名称,负责人)、课程(课程号,课程名,学分)。
个实体之间的联系包括:教师担任课程的“任课”联系;教师参加项目的“参加”联系;学生选修课程的“选修”联系;教师与系之间的“聘用”联系、学生与系之间的“隶属”联系。
其中“参加”联系可有项目排名属性。
“选修”联系应有成绩属性。
画出ER图后,可根据ER 图向关系模型转化。
E-R图结果:关系模式:由ER图转换而得的关系模型如下:系(系号,系名,系主任)、教师(工号,姓名,职称)、学生(学号,姓名,年龄,性别)、项目(项目号,项目名称,负责人)、课程(课程号,课程名,学分),任课(课程号,工号)、参加(工号,项目号,排名)、选修(学号,课程号,成绩)、聘用(工号、系号)、隶属(学号,系号),其中带下划线的为各关系模式中的主关键字。
ER图例子
2 某企业集团有若干工厂,每个工厂生产多种产品,且每一种产
品可以在多个工厂生产,每个工厂按照固定的计划数量生产产品, 计划数量不低于300;每个工厂聘用多名职工,且每名职工只能在 一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编 号、厂名、地址,产品的属性有产品编号、产品名、规格,职工的 属性有职工号、姓名、技术等级。请: (1)该集团进行概念设计,画出E-R图。 (2)E-R图转换成关系模式,并指出每个关系模式的主键和外键。
ER图举例
3
司机编号
姓名
电话
车牌照号
厂家
出厂日期
司机 m
使用
n 车辆
n
使用日期
公里数
聘期
聘用
1 车队
车队号
ER图举例
车队名
3 关系模式: 1) 车队(车队号、车队名)
主键:车队号
2) 车辆(车牌照号、厂家、出厂日期)
主键:车牌照号
3) 司机(司机编号、姓名、电话,聘期,车队号)
主键:司机编号,外键:车队号
ER图举例
3 设某汽车运输公司数据库中有三个实体集。一是“车队”实体
集,属性有车队号、车队名等;二是“车辆”实体集,属性有车牌 照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、 姓名、电话等。设车队与司机之间存在“聘用”联系,每个车队可 聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有 聘期;司机与车辆之间存在着“使用”联系,司机使用车辆有使用 日期和公里数,每个司机可以使用多辆汽车,每辆车可被多个司机 使用。 要求: (1)试画出ER图,并在图上注明属性、联系类型; (2)将ER图转换成关系模式,并说明主键和外键。
ER图举例
ER图(实例与练习)
原则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)判断每个关系模式属于第几范式。