第3讲 数据库设计方法—逻辑模型以及ER模型到关系模型的转化
- 格式:ppt
- 大小:768.50 KB
- 文档页数:8
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)给实体和联系加上属性。
如何划分实体及其属性有两个原则可作参考:一是作为实体属性的事物本身没有再需要刻画的特征而且和其它实体没有联系。
数据库——数据库设计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的关系,一个商店可以被多个仓库供应,一个仓库也可以供应多个商店。
E-R图向关系模型的转换学习目标:概念模型E-R图是各种数据模型的共同基础。
为了能够用某一数据库管理系统实现用户需求,还必须将概念模型进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。
逻辑结构设计的步骤如下。
(1)将概念模型转化为一般的关系、网状、层次模型。
(2)将转化来的关系、网状、层次模型向特定数据库管理系统数据库管理系统支持下的数据模型转换。
(3)对数据模型进行优化。
下面讲述E-R图向关系模型的转换。
一、转换内容E-R图由实体、实体的属性和实体之间的联系三个要素组成,关系模型的逻辑结构是一组关系模式的集合。
将E-R图转换为关系模型就是将实体、实体的属性和实体之间的联系转化为关系模式。
二、转换原则(1)一个实体型转换为一个关系模式。
关系的属性:实体型的属性。
关系的码:实体型的码。
例如,学生实体可以转换为如下关系模式:学生(学号,姓名,出生日期,所在系,年级,平均成绩)同样,如下图所示。
性别、宿舍、班级、档案材料、教师、课程、教室、教科书都分别转换为一个关系模式。
(2)一个m:n联系转换为一个关系模式。
关系的属性:与该联系相连的各实体的码以及联系本身的属性。
关系的码:各实体码的组合。
例如,“选修”联系是一个m:n联系,如下图所示,可以将它转换为:选修(学号课程号,成绩),其中学号与课程号为关系的组合码。
(3)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
①转换为一个独立的关系模式。
关系的属性:与该联系相连的各实体的码以及联系本身的属性。
关系的码:n端实体的码。
②与n端对应的关系模式合并。
合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性。
合并后关系的码:不变,可以转换为一个独立的关系模式,也可以与n端对应。
可以减少系统中的关系个数,一般情况下更倾向于采用这种方法。
(4) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
实验一E-R模型与关系模型的转换一、实验目的:本章实验通过给学生一个设计实例,要求设计E-R模型,并分析。
然后选择熟悉的DBMS 将给出的E-R模型转换为关系模型,并按要求实现创建数据库、数据表、表间关系等(修改表结构)。
二、实验设备和仪器1.硬件:PC一台,局域网环境2. 软件:win2000操作系统,sql server 2000三、实验内容及要求1.数据模型分析设计一个教学管理系统2. E-R模型转换为关系模型3.数据字典设计四、实验准备:数据库设计数据库设计的一个最基本的问题是如何建立一个好的数据库模式。
即给出一组数据,如何构造一个适合于它们的数据模式,使数据库系统无论是在数据存储方面,还是在数据操纵方面都有较好的性能。
E-R模型方法讨论了实体与实体之间的数据联系,现在来讨论实体内部属性与属性之间的数据关联,目标是要设计一个“好”的数据库模型。
概念结构设计在需求基础上,用数据模型表示数据及其联系。
设计E—R图步骤:1、设计局部E-R图。
概念结构设计依据是需求分析阶段的DFD/DD。
在DFD中选择适当层次的DFD,作为设计局部E-R图的出发点。
中层允许有一定的重叠。
(1)确定实体集合第一步(关键一步)数据流 / 数据源 / 目的 / 数据存储根据具体情况决定,常作为实体集合。
(2)联系标明:1:1,1:N,N:M。
原则上:与处理框相关的输入流(数据流),输出流(数据目的地),输入或输出的工作之间的可能存在的联系。
(3)属性属性名尽量和数据流中数据项名相同。
(4)主关键字属性中标明作为PK(primary key)的属性集合.(5)其它建E-R图,要完善DD(DD:包括实体集,联系,属性的描述)某些情况:描述产生频率(每年/月/季),是否长期保存,变化快慢,保密级别,存在的约束。
2、集成局部E-R图在设计局部E-R图的基础上,将局部E-R图集成为全局E-R图。
集成时要解决的问题:消除冲突、消除冗余3、合并局部E-R图合并局部E-R图中相同部分,尽可能的保留特殊部分,删除冗余部分,用累加的方式一次集成两个局部E-R图。