内容正文:
数据库系统设计
第5章
目录
01
数据库系统
设计概述
02
需求分析
03
概念结构设计
04
逻辑结构设计
05
物理结构设计
06
数据库实施
07
数据库运行
和维护
本章主要内容
本章主要介绍数据库系统设计的整体过程及具体设计过程中使用的相关方法和技术。从数据库设计的概念出发,引出了数据库系统设计的内容、特点、使用的方法、基本过程和步骤;重点介绍需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护等阶段的具体设计内容和步骤,并详细介绍需求分析、概念结构设计、逻辑结构设计的模型设计方法和模型创建步骤。
准备知识
模型是对事物、对象、过程等客观系统中人们感兴趣的内容的模拟和抽象表达,是理解系统的思维工具。
数据模型也是一种模型,是计算机世界对现实世界数据特征的抽象、表示和处理的工具。
数据库不仅要反映数据本身内容,而且要反映数据之间的联系,而这种模拟是通过数据模型实现的。
数据模型是数据库的框架,是数据库的核心和基础。
逻辑结构设计
第5章
04
5.4.1 概念模型转换为逻辑模型的步骤
(1)选择最佳的数据模型,把概念模型转换成一般的数据模型,并将一般的数据模型转换成特定的数据库管理系统所支持的数据模型。
(2)通过优化方法将其转化为优化的数据模型。
(3)设计用户子模式。
5.4.2 概念模型向关系模型转换的原则
将E-R图转换为关系模型实际上就是要将实体集、属性及联系转换为相应的关系模式。
概念模型向关系模型转换的原则涉及以下2方面内容:
1.实体集、属性转换为关系模型的转换规则
2.实体集间的联系转换为关系模式的转换规则
1. 实体集、属性转换为关系模型的转换规则
将概念模型中的一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系模式。
2. 实体集间的联系转换为关系模式的转换规则
实体集间的联系转换为关系模型时,分以下3种情况:
(1)1∶1联系转换为关系模式的转换规则
(2)1∶n联系转换为关系模式的转换规则
(3)m∶n联系转换为关系模式的转换规则
1∶1联系转换为关系模式的转换规则
1∶1联系转换为关系模式有以下2种转换方法:
① 将联系与任意一端实体所对应的关系合并。在被合并关系中增加属性,新增的属性为与联系相关的另一端实体对应关系的码,被合并关系中的码不变。
② 将联系转换为一个独立的关系。将与该联系相连的各实体的码及联系本身的属性均转换为关系的属性,且关系的码为两端实体码的联合。
【例5.11】
将图5.38所示的1∶1联系转换为关系模式。
【例5.11】
方案1:将每个实体集转换为关系模型中的一个关系,1∶1的联系形成一个担任领导关系独立存在。
该方案形成的关系模型如下:
职工(职工号,姓名,出生日期,职称)
部门(部门号,名称,地址,联系电话)
担任领导(职工号,部门号)
【例5.11】
方案2:“担任领导”与“职工”关系合并。
该方案形成的关系模型如下:
职工(职工号,姓名,出生日期,职称,部门号)
部门(部门号,名称,地址,联系电话)
【例5.11】
方案3:“担任领导”与“部门”关系合并。
该方案形成的关系模型如下:
职工(职工号,姓名,出生日期,职称)
部门(部门号,名称,地址,联系电话,职工号)
对比以上3种方案:方案1转换得到的关系多,增加了系统的复杂性;方案2中的职工关系,由于并不是每个职工都担任一个部门的领导,会造成部门号属性的空值过多。比较起来,方案3比较合理。
1∶n联系转换为关系模式的转换规则
1∶n联系转换为关系模型有以下2种转换方法:
① 将联系转换为一个独立的关系。新关系的属性由与该联系相连的各实体的码及联系本身的属性组成,该关系的码为n端实体的码。
② 将联系与n端实体所对应的关系合并。在n端实体对应的关系中增加新属性,新属性由联系对应的1端实体的码和联系自身的属性构成,新增属性后n端实体对应关系的码不变。
【例5.12】
将图5.39所示的1∶n联系转换为关系模式。
【例5.12】
方案1:将每个实体转换为关系模型中的一个关系,1∶n联系形成新的关系独立存在。
该方案形成的关系模型如下:
专业(专业号,专业名)
班级(班号,班名,人数)
属于(专业号,班号,年级)
【例5.12】
方案2:与n端实体合并。
该方案形成的关系模型如下:
专业(专业号,专业名)
班级(班号,班名,人数,专业号,年级)
对比以上两个方案:方案1转换得到的关系较多,适用于属于关系频繁改变的应用场景;方案2的关系少,适用于属于关系变化概率较小的应用场景。
【例5.13】
将图5.40所示的1∶n联系转换为关系模式。
【例5.13】
方案1:将实体转换为关系模型中的一个关系,1∶n联系形成新的关系独立存在