6 数据库设计:实体-联系方法

6 数据库设计:实体-联系方法

数据库的设计方法和生命周期

数据库设计方法

① 实体-联系方法

② 属性-联系方法

实体-联系方法

围绕实体展开

经历需求分析、概念设计、物理设计、数据库实现、运行维护等阶段

先建立概念模式,再转换为关系模式。

概念设计:

概念模式与具体的DBMS无关,通常使用实体-联系图表示,也叫E-R图

逻辑设计:

将概念模式转换成相应的逻辑模式,获得复合选定DBMS数据模型的逻辑结构,比如关系模式。

属性-联系方法

与实体-联系方法区别:没有概念设计阶段,在需求分析的基础上直接采用属性-联系方法进行逻辑设计

也就是把数据库保存的所有属性放在一个关系表中,进而通过属性之间的联系进行逻辑设计,进而进行优化。

实体-联系方法:以实体为中心,着重于一个关系模式基本对应一个实体或联系,即关系模式与实体或联系之间基本是一一对应的。

属性-联系方法:以属性为中心,着重于属性之间的依赖关系。

宏观上采用实体-联系方法,微观上采用属性-联系方法。对概念模式转换而来的关系表运用属性-联系方法进行分析优化。

基本E-R模型

实体-联系方法是先基于实体-联系模型(也叫E-R模型)进行概念模式,然后再转化为关系模式。

概念模式与具体的DBMS无关,通常使用实体-联系图表示,也叫E—R图。

用来区分一个实体集中不同的一个个实体的最小的属性集或者是属性组(一组属性),称为实体标识符,(简称标识符)也称为实体主键(简称主键)。联系也有属性

实体:

E-R图主要包括实体和联系以及它们各自的属性。

实体:现实世界中客观存在的一个事物或对象,可以是具体可触及的实物,也可以是抽象的对象。

同类实体组成的集合称为实体集。

例如:一个考生就是一个实体,所有考生就是一个实体集,把实体和实体集称为实体。

在E-R图中,实体用方框表示,方框内表示实体的命名。

联系:

实体不是孤立的,实体间总存在一些联系。一个或多个实体之间的关联关系称为联系。

E-R图中,联系用菱形表示,并用线段将其与相关的实体联系起来。

属性:

实体通常通过一组属性描述,同类实体通常使用相同属性组来描述。

属性可能取值的范围称为属性域,称为属性的值域。

能够并且用以区分一个实体集中不同实体的最小属性集(组)称为实体标识符,或称为实体主键,组成主键的属性称为标识属性

联系也会有属性。

E-R图中,属性用椭圆表示,用线段将其与相关的实体或联系连接起来,以加下划线的方式标示出标识属性

E-R图主要包括实体和联系以及它们各自的属性。

基本E-R图设计

简单属性和复合属性

简单属性是不可在分割的属性,复合属性是可再分解为其他属性的属性。

单值属性和多值属性

单值属性指的是同一个实体在该属性上只能取一个值。多值属性指同一个实体的某些属性可能取多个值。

可以用双线椭圆来表示多值属性

存储属性和派生属性

派生属性:从其他属性的值推导出的属性。一般不必存储在数据库内。

其他需要存储的属性称为存储属性。

派生属性用虚线椭圆与相应实体相连。

允许为Null的属性
联系的设计
联系的元数

联系关联的实体集个数,称为该联系的元数或度数。

一元联系:同类实体集内部实体与实体之间的联系。

二元联系:两个不同实体集中实体之间的联系。

三元联系:三个不同实体集中实体之间的联系。

联系的基数

如果实体集 E 1 E_1 E1 E 2 E_2 E2之间有二元联系,则把参与该联系的实体数目称为映射基数。

1:1

一对一:如果实体集 E 1 E_1 E1中每个实体至多和实体集 E 2 E_2 E2中的一个实体有联系,反之亦然。

1:N

一对多:如果实体集 E 1 E_1 E1中的每个实体可以与 E 2 E_2 E2中的任意个(0个或多个)实体间有联系,而 E 2 E_2 E2中的每个实体至多和 E 1 E_1 E1中一个实体有联系,则称为一对多联系。

E-R图中,有箭头表示1,无箭头表示多。

M:N

多对多:如果实体集 E 1 E_1 E1中的每个实体可以与实体集 E 2 E_2 E2中的任意个(0个或多个)实体有联系,反之亦然。

有时对映射基数做出精确描述,即最小映射数目min和最大映射数目max。用范围min…max表示

最少映射数目表示该实体集中每个实体最少参与联系数,最大则是最多参与联系数。*表示无上限。

参与度

如果实体集S中的每个实体都参与联系集 L L L的至少一个联系中,称实体集S完全参与联系集 L L L

相应的部分参与,同理。

完全参与双线表示,部分参与单线表示。

基本E-R图转换为关系模式

① 一个实体转换为一个关系模式,实体的一个属性对应为该表的一个列,实体的主键就是表的主键。

② 一个联系转换为一个关系模式,联系的属性对应表的属性,另外并上所有参与联系的各实体主键的并集

由联系转换来的表的主键,有以下三种情况:

  1. 联系是 M : N M:N M:N的,主键是所有参与联系的各实体主键的并集。
  2. 联系是 1 : N 1:N 1:N的,主键是多端实体主键。
  3. 联系是 1 : 1 1:1 1:1的,主键是任意端实体主键。

③ 主键相同的关系模式可合并。

  1. 1 : 1 1:1 1:1联系转换的表可与任一端实体对应的表合并。
  2. 1 : N 1:N 1:N联系转换的表可与== N N N端对应的表==合并。

如果E-R图涉及自环联系,先将自环联系变成非自环联系。

扩展E-R图及到关系模式的转换

弱实体

如果一个实体对于另一个实体(强实体)具有很强的依赖性,而且该实体主键的一部分或全部从其所依赖的强实体中获得,则该实体为弱实体。

也就是说,所有属性都不足以形成主键的实体称为弱实体。

其属性可形成主键的实体集称为强实体集。

弱实体用两个方框表示,弱实体联系用两个菱形框表示。

转换规则

① 一个关联弱实体的联系和弱实体一起转换为一个关系模式:弱实体属性集和关联弱实体的联系的属性集,以及其依赖的强实体主键的并集就是表的属性集

② 如果弱实体在联系的基数约束上属于多端,则主键是参与联系的强实体主键并上弱实体标识属性

③ 如果弱实体在联系的基数约束上处于1端,则主键是参与联系的强实体主键

父子实体

一般化:根据实体间具有的共同特征,将多个实体集综合成一个较高层次实体集的过程,称为一般化。

高层实体集和底层实体集也称父实体集和子实体集。

通过▽中的标记为ISA来表示。(自底向上)

特殊化(自顶向下)

根据实体间的区别在实体集内部进行分组的过程称为特殊化。

从单一的实体集出发,通过创建不同的低层实体集来强调同意实体集中不同实体的差异。

低层实体集继承高层实体集的属性,与其所参与的联系。

特殊化与一般化互为逆过程。

表创建父子实体集:

① 为高层实体集创建一个表;为每个低层实体集创建一个表,并加入高层实体集的主键属性。

② 如果每个高层实体肯定会对应于某个低层实体集,并且只会对应于一个低层实体集,则只需为每个低层实体集创建表

大数据E-R图及其到关系模式的转换

不仅需要对当前状态数据关注,还要对过往业务数据重视。

图书馆结束例子:5

如果只考虑存储当前书书否被借走,则一个人能借走多本书,而一本书能被多个人借。采用 1 : N 1:N 1:N,无法统计这本书借阅次数

1 : N 1:N 1:N改为 M : N M:N M:N,有读者号和ISBN共同作为主键。

但是这样同一个读者借一本书,只能保存最后一次借阅的信息

需要以ISBN和借书时间共同作为主键,可以采用 1 : n 1:n 1:n

但是现在图书馆有多个同一本书的副本,同一ISBN的图书也可以同时借给多个读者,因此采用 M : N M:N M:N,并==读者号,ISBN,借书时间==共同作为主键。

习题:

一般化中,实体成员之间的差异被最小化

特殊化中,实体成员之间的差异被最大化

同一实体集的实例之间的联系称为递归联系

基本E-R图转换为关系模式学习体会分享与碰到问题探讨,设计一个图书馆数据库,此数据库保存每个借阅者每次节约图书的记录,包括:读者号,姓名,地址,性别,年龄,部门。对每本书存有:书号,书名,作者,出版社。每当有一本书被借还时,保存每次借阅信息:借出日期、应还日期、归还日期。要求:给出 E-R 图,并转换成关系模式。请以图片形式上传您画出的E-R 图及关系模式,给出相应的说明

img

★★★★★ 逻辑模式通常使用实体-联系图表示。(错)概念模式

含弱实体E-R图向关系模式转换时,一个关联弱实体的联系和弱实体一起转换为一个关系模式,主键是参与联系的强实体的主键。(错)

根据实体间的区别在实体集内部进行分组的过程称为特殊化。(对)

概念模式通常使用实体-联系图表示。(正确)

属性联系方法,以属性为中心,着重于一个关系模式,基本对应一个实体或联系,即关系模式与实体或联系之间基本是一一对应的。(错) (实体-联系方法)

一个 1:1 联系转换的表可与任一端实体对应的表合并在一起。(正确)

含弱实体 E-R 图向关系模式转换时,一个关联弱实体的联系和弱实体一起转换为一个关系模式,主键是参与联系的强实体的主键。(错误)

解释:弱实体多端:(弱+强)主键;强实体多端:强主键

低层实体集所特有的联系也适用于其高层实体集。(错误)只适用于自己

E-R 模型由___实体、属性、联系____组成。

有两个不同的实体集,它们之间存在着一个 1:1 联系和一个 M:N 联系,那么根据 ER 模型转换成关系模型的规则,这个 ER 结构转换成的关系模式个数为______3__。

==解释:==一对一不为联系单独创建表,多对多额外创建一个表。

当同一个实体集内部的实体之间存在着一个 1:N 联系时,那么根据 ER 模型转换成关系模型的规

则,这个 ER 结构转换成的关系模式个数为_______1__。

==解释:==一个一对多的联系,联系可以与多端进行合并。

解释:弱实体多端:(弱+强)主键;强实体多端:强主键

低层实体集所特有的联系也适用于其高层实体集。(错误)只适用于自己

E-R 模型由___实体、属性、联系____组成。

有两个不同的实体集,它们之间存在着一个 1:1 联系和一个 M:N 联系,那么根据 ER 模型转换成关系模型的规则,这个 ER 结构转换成的关系模式个数为______3__。

==解释:==一对一不为联系单独创建表,多对多额外创建一个表。

当同一个实体集内部的实体之间存在着一个 1:N 联系时,那么根据 ER 模型转换成关系模型的规

则,这个 ER 结构转换成的关系模式个数为_______1__。

==解释:==一个一对多的联系,联系可以与多端进行合并。

数据库系统(四) 数据库系统(四)---关系型数据库设计及 关系型数据库设计及E-R图 图 1、关系型数据库:   关系型数据库是⼀类采⽤关系模型作为逻辑数据模型的数据库系统,遵从数据库设计的基本步骤,包括:需求分析、概念结构设计、逻辑结构设 计、物理结构设计数据库实施、数据库的运⾏和维护等阶段。 概念结构设计与逻辑结构设计是关系数据库整个设计过程的关键。 2、关系数据库设计过程与各级模式   在关系数据库设计的不同阶段,会形成数据库的各级模式。   1)需求分析阶段,综合各个⽤户的应⽤需求;   2)概念结构设计阶段,形成独⽴于机器特点、独⽴于各个关系数据库管理系统产品的概念模式;   3)逻辑结构设计阶段,将 E-R 图转换成具体的数据库产品⽀持的关系数据模型,形成数据库逻辑模式,然后根据⽤户处理的要求、安全性的考 虑,在基本表的基础上再建⽴必要的视图,形成数据的外模式;   4)物理结构的设计阶段,根据关系数据库管理系统的特点和处理的需要,进⾏物理存储安排,建⽴索引,形成数据库内模式。 3、 概念结构设计⽅法   关系数据库的概念结构设计通常采⽤⾃顶向下法,它通过两个步骤来完成概念设计,⾸先建⽴局部信息结构,然后将局部信息结构合成为全局信 息结构并优化,使⽤ E-R 图作为概念模型的描述⼯具。 1)局部信息结构设计   局部信息结构设计:根据需求分析报告中标明的不同⽤户视图范围所建⽴的满⾜该范围内⽤户需求的信息结构,称为局部信息结构。   局部信息结构设计的步骤包括:确定局部范围;选择实体;选择实体关键字; 确定实体间联系;确定实体的属性。 2)E-R 图的表⽰⽅法   概念结构设计就是将需求分析得到的⽤户需求抽象为信息结构的过程,通常使⽤ E-R 图来作为描述现实世界的建模⼯具。E-R 图提供了表⽰信息 世界中实体、属性和联系的⽅法。   1.实体型,⽤矩形表⽰,写明实体的名称;   2.属性,⽤椭圆形表⽰,并⽤⽆向边将其与其相应的实体连接起来。   3.联系,⽤菱形表⽰,写明联系的名称,⽤⽆向边分别与有关实体连接起来,同时在⽆向边旁标注联系的类型(1:1、1:N 或 M:N),如果⼀个联系 具有属性, 则这些属性也要⽤⽆向边与该联系连接起来。   两个实体型之间、两个以上的实体型之间以及单个实体型内的联系,都会存在如下关系: ⼀对⼀联系(1:1) ⼀对多联系(1:N) 多对多联系 (M:N) 3)全局信息结构设计   全局信息结构设计是将上述步骤中产⽣的所有局部信息结构合并成为⼀个全局信息结构。 各局部 E-R 图之间的冲突主要表现在三个⽅⾯:   3.1).属性冲突:属性域冲突和属性取值单位冲突。   3.2).命名冲突:同名异义和异名同义。   3.3).结构冲突:     同⼀对象在⼀个局部 E-R 图中作为实体,⽽在另⼀个 局部 E-R 图中作为属性;     同⼀实体在不同的 E-R 图中属性个数和类型不同;     实体之间的联系在不同的 E-R 图中是不同的类型。   eg:   【例】设有如下实体:     学⽣:学号,姓名,性别     课程:课程号,课程名,学分     班级:班号,班名,     其中,每个班有若⼲学⽣,每个学⽣只可以在—个班级学习;每个学⽣可选修多门课程,每门课程可被多个学⽣选修,学⽣选修课程要记录 成绩。    1. 试画出反映上述实体关系的 E-R 图(不必画实体的属性)。          注意:学⽣选修课程之后才能有成绩,故成绩是选修(联系)的属性。 4、逻辑结构设计⽅法   逻辑结构设计的任务是把在概念结构设计产⽣的概念模型转换为具体的 DBMS 所⽀持的逻辑数据模型,也就是导出特定的 DBMS 可以处理的数 据库逻辑结构。 通常包括三项⼯作:将 E-R 图转换为关系模型、对关系数据模型进⾏优化、设计⾯向⽤户的外模式。 1)E-R 图向关系模型的转换 遵循原则如下:   1. ⼀个实体型转换为⼀个关系模式。   2. ⼀个⼀对⼀联系可以转换为⼀个独⽴的关系模式。   3. ⼀个⼀对多联系可以转换为⼀个关系模式。   4. ⼀个多对多联系转换为⼀个关系模式。   5. 具有相同码的关系模式可合并。  eg:   使⽤3中的⽰例,将E-R图转化为关系模式,并说明主外键   (1)⼀个实体型对应⼀个关系模式:    R学⽣(学号,姓名,性别)     R课程(课程号,课程名,学分)     R班级(班号,班名) (2)⼀个⼀对多联系可转化为⼀个关系模式(中间表)     R属于(学号、班号)外键 学号 和 班号   (3)⼀个多对多联系可转化为⼀个关系模式(中间表)     R选修(学号、课程号、成绩)外键 学号 和 课程号   (4)R学⽣和R属于可合并成⼀张表    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值