E-R模式与关系模式的转换
来源:互联网 发布:好的读书软件 编辑:程序博客网 时间:2024/05/18 00:46
一.概念
E-R(Entity-Relationships)模式的构成成分是实体集、属性和联系集,其表示方法如下:
(1) 实体集用矩形框表示,矩形框内写上实体名。(2) 实体的属性用椭圆框表示,框内写上属性名,并用无向边与其实体集相连。
(3) 实体间的联系用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1—1、1—N或M—N。
关系模式(Relation Schema)是对关系的描述,它可以形式化地表示为:
R(U,D,dom,F)其中R为关系名,U为组成该关系的属性名集合,D为属性组U中属性所来自的域,dom为属性向域的映象集合,F为属性间数据的依赖关系集合。通常简记为:R(U)或R(A1,A2,…,An)其中R为关系名,U为属性名集合,A1,A2,…,An为各属性名。
二.E-R图转换为关系模型的转换规则
1)实体集转换为关系
–实体集对应于一个关系–关系名:与实体集同名。
–属性:实体集的所有属性。
–主码:实体集的主码。
2) 联系转换为关系
联系转换成为关系模式。联系转换成为关系模式时,要根据联系方式的不同采用不同的转换方式①1:1联系的转换方法
a) 将1:1联系转换为一个独立的关系:与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,且每个实体的码均是该关系的候选码。b) 将1:1联系与某一端实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码。
第一步:联系形成的关系独立存在:
职工表(职工号,姓名,年龄)主码:职工号
产品表(产品号,产品名,价格)主码:产品号
负责(职工号,产品号)主码:职工号或产品号
合并方案1:“负责”与“职工”两关系合并:
职工(职工号,姓名,年龄,产品号)
产品(产品号,产品名,价格)
合并方案2:“负责”与“产品”两关系合并:
职工(职工号,姓名,年龄)
产品(产品号,产品名,价格,职工号)
② 1:n联系的转换方法
a)一种方法是将联系转换为一个独立的关系,其关系的属性由与该联系相连的各实体集的码以及联系本身的属性组成,而该关系的码为n端实体集的码;
b)另一种方法是在n端实体集中增加新属性,新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。
步骤一:联系形成的关系独立存在。
仓库(仓库号,地点,面积)
主码:仓库号
产品(产品号,产品名,价格)
主码:产品号
仓储(仓库号,产品号,数量)主码:产品号
合并后方案:联系形成的关系与n端对象合并。
仓库(仓库号,地点,面积)
③ m:n联系的转换方法
在向关系模型转换时,一个m:n联系转换为一个关系。转换方法为:与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合(该码为多属性构成的组合码)。
该模型包含两个实体集(学生、课程)和一个m:n联系
该模型可转换为三个关系模式:
–学生(学号,姓名,性别,年龄)主码:学号
-课程(课程号,课程名,学分)主码:课程号
–选课(学号,课程号,成绩)主码:学号+课程号
二.总结
(1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
(2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
(3)一个m:n联系转换为一个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,各实体码的组合组成该关系的码,或码的一部分。
(4)三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
(5)具有相同码的关系模式可合并。
- E-R模式与关系模式的转换
- E-R图关系模式的转换
- E-R图关系模式的转换
- E-R图转换关系模式
- E-R图转换成关系模式
- E-R图转换为关系模式
- E-R图转换成关系模式
- E-R图转换成关系模式
- E-R图转换成关系模式
- 对E-R模型向关系模式转换的认识
- E-R图转换为关系模式的原则
- [转]E-R图转换为关系模式
- E-R图转化为关系模式
- 数据库E-R模式图的设计与实现
- E-R图向关系数据模型的转换
- E-R图向关系模型的转换遵循原则
- E-R图转换关系模型的文章
- E-R图向关系模型的转换
- php定时器
- 循环链表实现Joseph环(约瑟夫环)猴子选大王类似问题
- Oracle模糊查询之(3.2从使用函数和sql语法角度来提高模糊查询效率 二)ORACLE中Like与Instr模糊查询性能大比拼
- POJ 2449 Remmarguts' Date 求K短路(入门)
- eclipse生成jar包
- E-R模式与关系模式的转换
- android intent 的缺陷。
- 利用WTOPCSvr DLL 开发OPC服务器指南(英文原版),空的时候再翻译了...很实用
- Oracle模糊查询之(3.3从使用函数和sql语法角度来提高模糊查询效率 三)使用Oracle的instr函数与索引配合提高模糊查询的效率
- 内连接、外链接、嵌套查询解决 人员信息一对一条记录的的实现----廊坊人事档案系统
- 使用JXLS由数据库查询结果生成xls
- 比喻:进程和线程
- OS App 自定义 URL Scheme 设计
- 搜索ABAP程序代码中的字符串