E-R图转换到关系模式

本文详细介绍了如何将E-R图转换为关系模式,涵盖了三种基本关系:一对一、一对多和多对多。通过实例展示了转换过程,包括联系的属性处理和外键的设置,帮助理解数据库设计中的关键步骤。

一、一对一

       一个公司有一个经理,一个经理也只能在一个公司进行任职,所以公司和经理之间是一对一的关系。公司(公司编号,公司名,地址,电话),经理(职工编号,姓名,性别,电话)。经理任职会产生任职日期属性。

1. 将联系转换成一个独立的关系模式,关系模式的名称为联系的名称。联系的属性包括该联系的属性和关联两个实体的主键,联系的主键为任意两个关联实体的主键之一。

2.将联系的属性归并到关联的两个实体的任一方,并将那一方实体集的主键加过来作为外键。

 

转换为关系模式:

1、 公司(公司编号,公司名,地址,电话)             

       经理(职工编号,姓名,性别,电话)                

       任职(公司编号,职工编号,任职日期)             主键为公司编号或者是职工编号

 

2、 

(1)公司(公司编号,公司名,地址,电话,职工编号,任职日期) 主键为公司编号,外键为职工编号

         经理(职工编号,姓名,性别,电话)  

(2)公司(公司编号,公司名,地址,电话) 

         经理(职工编号,姓名,性别,电话,公司编号,任职日期)     主键为职工编号,外键为公司编号。
 

 

二、一对多

        一个部门中有多个员工,但是每个员工只能属于一个部门,所以部门和员工之间的关系就是一对多。部门(部门号,部门名称,电话),员工(员工号,姓名,电话)。

1. 将联系转换一个独立关系模式:名称为联系的名称,关系模式的属性两个实体的主键,联系的主键是多方(n方)实体集的主键。

2.将联系的属性和1端的主键加入多方(n方)


1、  1方:      部门(部门号,部门名称,电话)  

        n方:      员工(员工号,姓名,电话)       
                       隶属(员工号,部门号)             主键是n方   

2、        部门(部门号,部门名称,电话)   

             员工(员工号,姓名,电话,部门号) 主键为员工号,外键为部门号
 

 

三、多对多

           多对多的联系只能转换成一个独立的关系模式,关系模式的名称取联系的名称,关系模式的属性取该联系所关联的所有实体集的主键和自身的属性,关系模式的主键由所有关联的实体集共同组成。
 

       学生(学号,姓名,性别)

       课程(课程号,课程名称,授课老师)    

       选课(学号,课程号,成绩)              主键为学号和课程号的组合,外键为课程号,学号

 

 

Example:

下面是教学管理的一个可能的E-R图。图中,有三个实体类型:系、教师和课程;有四个联系类型:主管、聘用、开设和任教。根据转换算法,把该图转换成关系模式集的步骤如下:

 

第一步:

把三个实体类型转换成三个关系模式(注意关系模式的表示方法):

系(系编号,系名,电话)

教师(教工号,姓名,性别,职称)

课程(课程号,课程名,学分)

 

第二步:

对于1:1联系,可以在“系”模式中加入教工号(教工号为外键)。

对于1:N联系“聘用”,可以在“教师”模式中加入系编号和聘期两个属性(系编号为外键);

对于1:N联系“开设”,可以在“课程”模式中加入系编号(系编号为外键)。这样第一步得到的三个模式改变成如下形式(注意:外键通常使用波浪线表示):

系(系编号,系名,电话,主管人的教工号

教师(教工号,姓名,性别,职称,系编号,聘期)

课程(课程号,课程名,学分,系编号

 

第三步:

对于M:N联系“任教”,则生成一个新的关系模式:

任教(教工号课程号,教材)

 

这样,转换成的四个关系模式如下:

系(系编号,系名,电话,主管人的教工号

教师(教工号,姓名,性别,职称,系编号,聘期)

课程(课程号,课程名,学分,系编号

任教(教工号课程号,教材)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值