DB第七章数据库设计.ppt
文本预览下载声明
An Introduction to Database System 第七章 数据库设计 7.1 数据库设计概述 7.2 需求分析 7.3 概念结构设计 7.4 逻辑结构设计 7.5 数据库的物理设计 7.6 数据库实施和维护 7.7 小结 7.4 逻辑结构设计 逻辑结构设计的任务 把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构 逻辑结构设计的步骤 将概念结构转化为一般的关系、网状、层次模型 将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换 对数据模型进行优化 逻辑结构设计(续) 7.4 逻辑结构设计 7.4.1 E-R图向关系模型的转换 7.4.2 数据模型的优化 7.4.3 设计用户子模式 7.4.1 E-R图向关系模型的转换 转换内容 转换原则 E-R图向关系模型的转换要解决的问题 如何将实体型和实体间的联系转换为关系模式 如何确定这些关系模式的属性和码 转换内容 将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转换为关系模式。 转换实例 多实体型之间多元联系转换实例 概念模型向关系模型的转换 实体集的转换规则 概念模型中的一个实体集转换为关系模型中的一个关系,实体的属性就是关系的属性,实体的码就是关系的码,关系的结构是关系模式。 2. 实体集间联系的转换规则(1) 1:1联系的转换方法1) 将1:1联系转换为一个独立的关系:与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,且每个实体的码均是该关系的候选码。2) 将1:1联系与某一端实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码。 【例】将图中E-R图转换为关系模型。 方案1:联系形成的关系独立存在: 职工(职工号,姓名,年龄); 产品(产品号,产品名,价格); 负责(职工号,产品号). 方案2:“负责”与“职工”两关系合并: 职工(职工号,姓名,年龄, 产品号); 产品(产品号,产品名,价格); 方案3:“负责”与“产品”两关系合并: 职工(职工号,姓名,年龄); 产品(产品号,产品名,价格,职工号). (2) 1:n联系的转换方法 一种方法是将联系转换为一个独立的关系,其关系的属性由与该联系相连的各实体集的码以及联系本身的属性组成,而该关系的码为n端实体集的码; 另一种方法是在n端实体集中增加新属性,新属性由联系对应的1端实体集的码和联系自身的属性构成,新增属性后原关系的码不变。 【例】将含有1:n联系的E-R图转换为关系模型。 方案1:联系形成的关系独立存在。 仓库(仓库号,地点,面积); 产品(产品号,产品名,价格); 仓储(仓库号,产品号,数量). 方案2:联系形成的关系与n端对象合并。 仓库(仓库号,地点,面积); 产品(产品号,产品名,价格,仓库号,数量). (3) m:n联系的转换方法 在向关系模型转换时,一个m:n联系转换为一个关系。转换方法为:与该联系相连的各实体集的码以及联系本身的属性均转换为关系的属性,新关系的码为两个相连实体码的组合(该码为多属性构成的组合码)。 【例】将图中含有m:n二元联系的E-R图,转换为关系模型。 转换的关系模型为: 学生(学号,姓名,年龄, 性别); 课程(课程号,课程名, 学时数); 选修(学号,课程号,成绩). (4) 三个或三个以上实体集间的多元联系的转换方法 1) 对于一对多的多元联系,转换为关系模型的方法是修改1端实体集对应的关系,即将与联系相关的其他实体集的码和联系自身的属性作为新属性加入到1端实体集中。 2) 对于多对多的多元联系,转换为关系模型的方法是新建一个独立的关系,该关系的属性为多元联系相连的各实体的码以及联系本身的属性,码为各实体码的组合。 供应商(供应商号,供应商名,地址); 零件(零件号,零件名,单价); 产品(产品号,产品名,型号); 供应(供应商号,零件号,产品号,数量). 实体型间的联系有以下不同情况 : (1)一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。 转换为一个独立的关系模式 与某一端实体对应的关系模式合并 (2)一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。 转换为一个独立的关系模式 与n端对应的关系模式合并 (3) 一个m:n联系转换为一个关系模式
显示全部