数据库设计5-逻辑结构设计

本文详细介绍了如何将E-R模型转换为关系模式,包括实体集、联系集的转换规则,并探讨了1:1、1:n、m:n联系的转换方法。同时,阐述了关系模式规范化的重要性,讲解了第一范式(1NF)、第二范式(2NF)和第三范式(3NF),以及它们在解决插入、删除和更新异常中的作用。最后,提到了模式评价与改进的必要性,以确保数据库性能和应用需求的匹配。
摘要由CSDN通过智能技术生成

目录

一、概念

二、初始关系模式设计(E-R图转换关系模式)

1、实体集向关系模式的转换

2、两个实体型之间的联系集向关系模式的转换

3、同一实体型之间的联系集向关系模式的转换

4、多实体型之间的联系向关系模式的转换

5、弱实体集向关系模式的转换

 三、关系模式规范化

1、概念

2、范式

四、模式的评价与改进


一、概念

        逻辑结构设计是将概念结构设计阶段完成的概念模型,转换成能被选定的数据库管理系统(DBMS)支持的数据模型。这里主要将E-R模型转换为关系模式。需要具体说明把原始数据进行分解、合并后重新组织起来的数据库全局逻辑结构,包括所确定的关键字和属性、重新确定的记录结构和文件结构、所建立的各个文件之间的相互关系,形成本数据库的数据库管理员视图。一般的逻辑设计分为以下3步:初始关系模式设计、关系模式规范化、模式的评价与改进。


二、初始关系模式设计(E-R图转换关系模式)

1、实体集向关系模式的转换

        实体集的转换规则:一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就的码。

例:学生实体可以转换为如下关系模式:

学生(学号,姓名,性别,出生日期,所在系,年级)

2、两个实体型之间的联系集向关系模式的转换

(1)1:1联系的转换

        1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

        如果转换为一个独立的关系模式,则与该联系相连的各实体的主码以及联系本身的属性均转换为关系的属性,每个实体的主码均是该关系的候选码。如果与某一端对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的主码和联系本身的属性。

(2)1:n联系的转换

         1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。

        若转换为一个独立的关系模式,则与该联系相连的各实体的主码以及联系本身的属性均转换为关系的属性,而关系的主码为n端实体的主码。若与n端关系模式合并,则在n端实体集中增加新属性,新属性由联系对应的1端实体集的主码和联系自身的属性构成,而关系模式的主码不变。

 

(3)m:n联系的转换

        与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。 

3、同一实体型之间的联系集向关系模式的转换

        同一实体型的实体间的联系即自联系,也可按上述1:1、1:nm:n三种情况分别处理。

 (1)1:1联系的转换

(2)1:n联系的转换

(3)m:n联系的转换

4、多实体型之间的联系向关系模式的转换

        两个以上的实体型间也存在着1:1、1:n和m:n三种情况。

(1)1:n的多元联系

        修改1端实体集对应的关系,即将与联系相关的其他实体集的码和联系自身的属性作为新属性加入到1端实体集中。

(2)m:n的多元联系

        新建一个独立的关系,多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。

5、弱实体集向关系模式的转换

        强实体集和弱实体集的概念与存在依赖密切相关,强实体集的成员必然是支配实体,而弱实体集的成员是从属实体。由于弱实体不能独立存在,它必须依附于一个所有者实体,因此将弱实体集转换成关系模式时,弱实体所对应的关系中必须包含所有者实体的主码。

 三、关系模式规范化

1、概念

        数据库逻辑设计的结果不是唯一的。为了进一步提高数据库应用系统的性能,还应该根据应用需要适当修改、调整数据模型的结构,这就是数据模型的优化。关系数据模型的优化通常以规范化理论为指导,将关系模式规范化,使之达到较高的范式是设计好关系模式的唯一途径,否则,设计的关系数据库会产生一系列的问题。

        一个“好”的关系模式应当不会发生插入和删除异常,冗余度要尽可能少。对于存在问题的关系模式,可以通过模式分解的方法使之规范化。“分解”是解决冗余的主要方法,也是规范化的一条原则,“关系模式有冗余问题,就分解它”。

        函数依赖基本概念
        规范化是指用形式更为简洁、结构更加规范的关系模式取代原有关系模式的过程。

        关系模式必须满足一定的完整性约束条件以达到现实世界对数据的要求。完整性约束条件主要包括以下两个方面:

        对属性取值范围的限定

        属性值间的相互联系(主要体现在值的相等与否),这种联系称为数据依赖。

        客观世界的事物间存在着错综复杂的联系,实体间的联系有两类:一类是实体与实体之间的联系;另一类是实体内部各属性间的联系。而属性间的联系可分为3类:

        一对一联系(1:1)。设X和Y是关系R的两个属性(集)。如果对于X中的任一具体值,Y中至多有一值与之对应;反之亦然,则称X、Y两属性间是一对一联系。

        一对多联系(1:n)。设X和Y是关系R的两个属性(集)。如果对于X中的任意具体值,Y中至多有一个值与之对应,而Y中的一个值却可以在X中的n个值(n≥0)相对应,则称Y对X是一对多联系。

        多对多联系(m:n)。设X和Y是关系R的两个属性(集)。如果对于X中的任意具体值,Y中有m个值(m≥0)与之对应,而Y中的一个值也可以和X中的n个值(n≥0)相对应,则称Y对X是多对多联系。

        数据依赖是指通过一个关系中属性间值的相等与否体现出来的数据间的相互关系,是现实世界属性间相互联系的抽象,是数据内在的性质。数据依赖共有3种:

        函数依赖(Functional Dependency, FD)

        多值依赖(Multivalued Dependency, MVD)

        连接依赖(Join Dependency, JD)

        其中最重要的是函数依赖和多值依赖。

        在数据依赖中,函数依赖是最基本、最重要的一种依赖,它是属性之间的一种联系,假设给定一个属性的值,就可以唯一确定(查找到)另一个属性的值。这种唯一性并非指只有一个记录,而是指任何记录。

        设有关系模式R(U),X和Y均为U={A1, A2, …, An}的子集,r是R的任一具体关系,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等(也就是说,如果对于r中的任意两个元组t和s,只要有t[X]=s[X],就有t[Y]=s[Y]),则称X函数决定Y,或称Y函数依赖于X,记作X→Y,其中X叫作决定因素(Determinant),Y叫作依赖因素(Dependent)。

        属性间联系决定函数依赖。

        1:1联系。如果两属性集X、Y之间是1:1联系,则存在函数依赖X←→Y。

        1:n联系。如果两属性集X、Y之间是n:1联系,则存在函数依赖X→Y。

        m:n联系。如果两属性集X、Y之间是m:n联系,则不存在函数依赖。

        识别函数依赖是理解数据语义的一个组成部分,依赖是关于现实世界的断言,它不能被证明,决定关系模式中函数依赖的唯一方法是仔细考察属性的含义。

2、范式


        利用规范化理论,使关系模式的函数依赖集满足特定的要求,满足特定要求的关系模式称为范式(Normal Form)。关系按其规范化程度从低到高可分为5级范式,分别称为1NF、2NF、3NF(BCNF)、4NF、5NF。规范化程度较高者必是较低者的子集。一个低一级范式的关系模式,通过模式分解可以转换成若干个高一级范式的关系模式的集合,这个过程称为规范化。

(1)第一范式(1NF)
        如果关系模式R中不包含多值属性(每个属性必须是不可分的数据项),则R满足第一范式(First Normal Form),记作R∈1NF 。1NF是规范化的最低要求,是关系模式要遵循的最基本的范式,不满足1NF的关系是非规范化的关系。关系模式如果仅仅满足1NF是不够的,只有对关系模式继续规范化,使之满足更高的范式,才能得到高性能的关系模式。

(2)第二范式(2NF)
        如果关系模式R(U, F)∈1NF,且R中的每个非主属性完全函数依赖于R的某个候选码,则R满足第二范式(Second Normal Form),记作R∈2NF。不满足2NF的关系模式,会产生以下几个问题:插入异常、删除异常、更新异常。解决的办法是用投影分解把关系模式分解为多个关系模式。投影分解是把非主属性及决定因素分解出来构成新的关系,决定因素在原关系中保持,函数依赖关系相应分开转化(将关系模式中部分依赖的属性去掉,将部分依赖的属性单组组成一个新的模式)。

(3)第三范式(3NF)
        如果关系模式R(U, F)∈2NF,且每个非主属性都不传递函数依赖于任何候选码,则R满足第三范式(Third Normal Form),记作R∈3NF。解决的办法同样是投影分解。3NF是一个可用的关系模式应满足的最低范式,也就是说,一个关系模式如果不满足3NF,则实际上它是不能使用的。

四、模式的评价与改进

        关系模式的规范化不是目的而是手段,数据库设计的目的是最终满足应用需求。因此,为了进一步提高数据库应用系统的性能,还应该对规范化后产生的关系模式进行评价、改进,经过反复多次的尝试和比较,最后得到优化的关系模式。

数据库 E-R(实体-关系)逻辑结构图是一种表示数据库中实体以及它们之间关系的图形化工具。它是一种高级概念模型,用于描述系统中需要存储和管理的实体及其属性,以及实体之间的关系。E-R图主要由实体、属性和关系三个基本元素组成。 其中,实体是指现实世界中的一个独立个体,可以是人、物、事件等有形或无形的事物。每个实体都具有一些属性,用于描述和区分这些实体间的差异。属性可以是实体的特征或特点,例如一个人的姓名、年龄、性别等。 实体之间的关系定义了实体之间的联系和互动。它们可以是一对一的、一对多的或多对多的关系。关系可以用来描述实体之间的相互依赖、关联或交互。 E-R图通过使用图形符号来表示实体、属性和关系,以及它们之间的联系。例如,一个实体可以用一个矩形框来表示,属性可以用椭圆形来表示,关系可以用菱形来表示。实体、属性和关系之间可以使用箭头线连接,表示它们之间的关系。 数据库 E-R逻辑结构图可以帮助开发人员和数据库设计者对数据库的结构和关系进行可视化表示。它可以用于理解和分析数据库的需求,设计和优化数据库的结构,以及指导数据库的实施和维护工作。通过使用E-R图,用户可以更直观地理解数据库设计和功能,也可以通过修改图形化模型来更方便地改变和更新数据库的结构。因此,E-R图在数据库开发和管理中起着非常重要的作用。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kupeThinkPoem

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值