第3讲 数据库设计方法—逻辑模型以及ER模型到关系模型的转化
- 格式:ppt
- 大小:671.50 KB
- 文档页数:26
51科技资讯 S CI EN CE & T EC HNO LO GY I NF OR MA TI ON 工 程 技 术数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。
数据库设计一般可分为六个步骤:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。
其中概念结构设计阶段通过对用户需求进行综合、归纳与抽象,产生一个独立于具体DBMS的概念模型。
一般用E-R模型(即实体一联系模型)表示概念模型。
逻辑结构设计是把概念结构转换为所选择的DBMS支持的数据模型。
目前,绝大多数是转换成关系数据模型。
这里就涉及至E-R模型向关系模型转换的问题。
E一R模型是由PeterChen于1976年提出的。
此后,人们对矛R模型进行了扩充和修改。
1 E-R 模型概念构成成分是实体集、属性和联系集,其表示方法如下。
(1)实体集用矩形框表示,矩形框内写上实体名。
(2)实体的属性用椭圆框表示,框内写上属性名,并用无向边与其实体集相连。
(3)实体间的联系用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向连线将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1—1、1—M 或M —M 。
因此,E -R 模型也称为E -R 图。
2 关系数据模型概念行与列交叉的二维表称为关系,关系的每一行称为元组,关系的每一列称为属性,关系中唯一标识一个元组的属性或属性组称为候选码,简称码。
如果候选码有多个,则选定中一个作为主码。
如果关系R 中的属性或属性组X 并非R 的码,但X是另一个关系的码,则称X是R的外码。
3 作E-R 模型图的方法(1)确定实体和实体的属性。
(2)确定实体之间的联系及联系的类型。
(3)给实体和联系加上属性。
如何划分实体及其属性有两个原则可作参考:一是作为实体属性的事物本身没有再需要刻画的特征而且和其它实体没有联系。
ER图向关系模型的转化规则转换一般遵循如下原则:1.一个实体型转换为一个关系模式。
实体的属性就是关系的属性。
实体的码就是关系的码。
例如在我们的例子中,学生实体可以转换为如下关系模式,其中学号为学生关系的码:学生(学号,姓名,出生日期,所在系,年级,平均成绩)同样,性别、宿舍、班级、档案材料、教师、课程、教室、教科书都分别转换为一个关系模式。
2.一个联系转化为一个关系模式,与该联系相连的各实体的码以及联系的属性转化为关系的属性,该关系的码则有三种情况:若联系为1:1,则每个实体的码均是该关系的后选码。
若联系为1:n,则关系的码为n端实体的码。
若联系为m:n,则关系的码为诸实体码的组合。
2.1 联系为1:1一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,l 每个实体的码均是该关系的候选码。
如果与某一端对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。
例如在我们的例子中,"管理"联系为1:1联系,我们可以将其转换为一个独立的关系模式:管理(职工号,班级号)或管理(职工号,班级号)管理"联系也可以与班级或教师关系模式合并。
如果与班级关系模式合并,则只需在班级关系中加入教师关系的码,即职工号:班级:{班级号,学生人数,职工号}同样,如果与教师关系模式合并,则只需在教师关系中加入班级关系的码,即班级号:教师:{职工号,姓名,性别,职称,班级号,是否为优秀班主任}2.2 联系为1:n一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。
如果与n端对应的关系模式合并,则在n端实体对应模式中加入1端实体所对应关系模式的码,以及联系本身的属性。
数据库概念模型、逻辑模型、外部模型、内部模型之间的相互关系下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!本店铺为大家提供各种类型的实用资料,如教育随笔、日记赏析、句子摘抄、古诗大全、经典美文、话题作文、工作总结、词语解析、文案摘录、其他资料等等,想了解不同资料格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you! In addition, this shop provides you with various types of practical materials, such as educational essays, diary appreciation, sentence excerpts, ancient poems, classic articles, topic composition, work summary, word parsing, copy excerpts, other materials and so on, want to know different data formats and writing methods, please pay attention!Certainly! Here's a structured article demonstrating the relationships between database conceptual model, logical model, external model, and internal model:目录1. 引言2. 数据库概念模型。
数据库——数据库设计E-R图向关系模型的转换1、将下列物资管理E-R图转换为关系模式:转换原则⒈ ⼀个实体型转换为⼀个关系模式。
关系的属性:实体型的属性关系的码:实体型的码⒉ ⼀个m:n联系转换为⼀个关系模式(初步,以后可能调整)。
关系的属性:与该联系相连的各实体的码以及联系本⾝的属性关系的码:各实体型码的组合⒊ 1:n联系---与n端对应的关系模式合并在n端关系中加⼊1端关系的码和联系本⾝的属性⒋ ⼀个1:1联系,可以与任意⼀端对应的关系模式合并。
⒌ 3个或3个以上实体间的⼀个多元联系转换为⼀个关系模式。
关系的属性:与该多元联系相连的各实体的码以及联系本⾝的属性关系的码:各实体码的组合供应(供应商号,项⽬号,零件号,供应量)⒍ 同⼀实体集的实体间的联系,即⾃联系,也可按上述1:1、1:n和m:n三种情况分别处理。
⒎ 具有相同码的关系模式可合并。
⽬的:减少系统中的关系个数1.⼀个实体型转换为⼀个关系模式:供应商(供应商号,姓名,地址,电话号,账号)2.⼀个实体型转换为⼀个关系模式:项⽬(项⽬号,预算,开⼯⽇期)3.⼀个实体型转换为⼀个关系模式:零件(零件号,名称,规格,单价,描述)4. 3个或3个以上实体间的⼀个多元联系转换为⼀个关系模式。
供应(供应商号,项⽬号,零件号,供应量)5.⼀个实体型转换为⼀个关系模式:仓库(仓库号,⾯积,电话号)6. ⼀个实体型转换为⼀个关系模式。
1:n联系---与n端对应的关系模式合并。
(1:n⼯作联系)同⼀实体集的实体间的联系,即⾃联系,也可按上述1:1、1:n和m:n三种情况分别处理。
(职⼯与领导职⼯的⾃联系)职⼯(职⼯号,姓名,年龄,职称,仓库号,领导职⼯号)7. ⼀个m:n联系转换为⼀个关系模式。
库存(仓库号,零件号,库存量)2019/6/19更新后天考试,这⾥再给出两道课本样题1.学校中有若⼲系,每个系有若⼲班级和教研室,每个教研室有若⼲教员,其中有的教授和副教授每⼈各带若⼲研究⽣; 每个班有若⼲学⽣, 每个学⽣选修若⼲课程, 每门课可由若⼲学⽣选修。
ER模型和关系模型是数据库设计中非常重要的概念,它们之间有着密切的对应关系。
在本文中,我们将深入探讨这两种模型的特点、关联和区别,以便更清晰地理解它们的重要性和应用价值。
1. ER模型的简介ER模型,即实体-关系模型,是由彼得·钱(Peter Chen)在1976年提出的一种数据模型。
它主要描述了现实世界中各种实体以及它们之间的关系,通过实体、属性和关系来构建数据库的模型。
在ER模型中,实体用矩形框表示,属性用椭圆形表示,关系用菱形表示,实体之间的联系用箭头表示。
2. 关系模型的简介关系模型是由埃德加·科德提出的,它是一种用表格形式来表示和操作数据的模型。
在关系模型中,数据以表的形式呈现,每个表代表一个实体,表中的行表示具体的实例,表中的列则表示实体的属性。
通过关系模型,可以更直观、方便地对数据进行操作和管理。
3. ER模型和关系模型的对应关系在数据库设计中,ER模型和关系模型有着密切的对应关系。
实际上,ER模型可以很自然地转换为关系模型。
在ER模型中,实体可以被转换为关系模型中的表,属性可以成为表的字段,关系可以成为表之间的关系。
通过这种对应关系,可以将现实世界中的概念和数据转化为数据库中的结构化数据,实现对数据的管理和应用。
4. 个人观点和理解我认为,ER模型和关系模型的对应关系是数据库设计中非常重要的一环。
通过对实体、属性和关系的建模,可以更清晰地把握数据的结构和关联,从而更有效地对数据进行管理和分析。
关系模型的表格形式也使得数据的操作和查询变得更加便捷和高效。
ER模型和关系模型的对应关系为数据库的设计和应用提供了坚实的基础和方法论支撑。
在本文中,我们深入探讨了ER模型和关系模型的对应关系,分析了它们的特点和重要性,并共享了个人的观点和理解。
通过对这一主题的全面评估和论述,相信读者对数据库设计和应用都会有更深入的理解和认识。
ER模型和关系模型在数据库设计中是非常重要的概念,它们之间有着密切的对应关系。
如何把ER模型转换为关系模型这是数据库工程设计进行到逻辑设计的一重大环节,简单的说,如果概念设计是用ER模型,整合为全局的ER模型,那么在逻辑设计这块,主要任务就是把ER模型转换为关系模型。
转换只需知道三个转换准则:1:1遇到1:1 关系的话在两个实体任选一个添加另一个实体的主键即可。
1:N1:N 遇到1:N 关系的话在N端添加另一端的主键,假如有学生和班级两个实体,一个班级可以容纳多个学生,但是一个学生只能选择一个班级,因此班级和学生是1:N的关系,现在要转换为关系模型,我们只需在学生的这端加上班级的唯一标识即可,这样做的原因是,因为一个学生只能有一个班级,班级是相对学生唯一的。
N:M遇到N:M我们需要将联系转换为实体,然后在该实体上加上另外两个实体的主键,作为联系实体的主键,然后再加上该联系自身带的属性即可。
例如有学生和老师两个实体,一个学生可以由多名老师来授课,一名老师也可以授课多名学生,它们是M:N关系的,假如联系为授课,该联系上有成绩属性,因此当我们把它转换为关系模型时,我们把联系转换为联系实体,并添加学生实体的主键(学号)和教师实体的主键(教师编号)作为自己的主键,值得注意的是,授课实体的外键分别是学号和教师编号,但是它的主键是(学号,教师编号),另外它还拥有自己的一个属性成绩。
1:1:N这是三元联系的对应关系,但是当转换为关系模型时,和1:N的情况是差不多的。
我们只需将N端添加另外两端的主键即可。
M:N:P这种三元联系的三种多对应关系,看上去很复杂,其实转换起来并不是那么复杂了,我们要做的仅仅是将其中的联系转换为联系实体,然后在联系实体上添加M 端N端P端的主键,然后加上联系实体自身的属性,就行了。
例子:说了这么多看个小例子。
这是一份关于商店商品仓库的ER图。
先看仓库和商品之间是M:N的关系,于是我们首先想到的应该是把联系库存转换为库存实体。
库存(仓库号,商品号,日期,库存量)然后是商品实体和仓库实体商品(商品号,商品名,单价)仓库(仓库号,仓库名,地址)除此之外仓库和商品还有一个供应关系,同样是M:N关系:供应(仓库号,商品号,月份,月供应量)在上图的商店和仓库之间的关系可能写漏了,但是它们应该也是M:N的关系,一个商店可以被多个仓库供应,一个仓库也可以供应多个商店。
将ER模型转换为关系模型的规则如下:(1)一个实体型转换为一个关系模式,实体的属性就是关系的属性,实体的码就是关系的码.(2)一个1:1的联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并.如果转换为一个独立的关系模式,则与该联系相连的各实体的码及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选键.(3)一个1:n联系可以转换为一个独立的关系模式,也可以与任意n端对应的关系模式合并。
如果转换为一个独立模式,则与该联系相连的各实体的码及联系本身的属性均转换为关系的属性,而关系的码为n端的实体的码。
如果与n 端实体对应的关系模式合并,则需要在该关系模式的属性中加入1端关系模式的码和联系本身的属性。
(4)一个m:n的联系可以转换为一个独立的关系模式,与该联系相连的各实体的码及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
(5)三个以上实体间的一个多元联系可以转换为一个独立的关系模式,与该联系相连的各实体的码及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。
S1: 处理强实体建立一个新表T,将所有简单属性(复合属性拆解为简单属性)添加进表,确定主码;S2: 处理1:1的弱实体W找到其依附的强实体所映射的表T,将弱实体所有简单属性(复合属性拆解为简单属性)添加进该表;S3: 处理1:N或M:N的弱实体W建立一个新表T,将W所有简单属性(复合属性拆解为简单属性)添加进T表;如果是1:N的弱实体,添加W依附的强实体的主码为外码到T表,T表的主码由该外码和W的鉴别器组成;如果是N:M的弱实体,建立新的具有唯一值的一列为主码;S4: 处理1:1的联系R确定参与该联系的表S和T,选定全参与的一方S,将另一方T的主码作为外码加入S,将联系R的所有属性(复合属性拆解为简单属性)添加入S;S5: 处理1:N的联系R确定处于N端的实体S和处于1端的实体T,将T的主码作为外码加入S,将联系R的所有属性(复合属性拆解为简单属性)添加入S;S6: 处理N:M的联系R建立新表T,将参与该关系的实体的主码作为外码加入T,将联系R的所有属性(复合属性拆解为简单属性)添加入T;S7: 处理多值属性A建立新表T,将A的所有属性(复合属性拆解为简单属性)添加入T,将A所属的实体或联系的主码作为外码加入T,将该外码和A对应的属性作为T的主码。