数据库的逻辑设计

更新时间:2023-05-22 19:43:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

7.4 数据库的逻辑设计

逻辑结构设计的任务把概念结构设计阶段设计好的基本E-R图转 换为与选用DBMS产品所支持的数据模型相 符合的逻辑结构

逻辑结构设计的步骤

7.4.1 E-R图向关系模型的转换

要解决的问题– –

联系向模式转化

一般地,实体均可转化为关系模式

确定模式的属性和码

1:1联系的转化K a–

E1

r

E2

h b

s

转换为一个独立的关系模式,则与该联系相关的实体的码及其本身的 属性均转化为关系的属性

R1(k,a),R2(h,b),R3(k,h,s)

与某一端实体对应的关系模式合并,则在关系中加入另一关系的码和 联系的属性

R1(k,a,h,s),R2(h,b)

1:1联系转化例

病人

1

入住

1

病床 长度 高度

病号 姓名 性别病因

床号

?

1:1联系转化中存在的问题理论上,1:1联系可以向任意一方合并,但是 但在一些情况下,与不同的关系模式合并效率 会大不一样。因此究竟应该与哪端的关系模式 合并需要依应用的具体情况而定。由于连接操 作是最费时的操作,所以一般应以尽量减少连 接操作为目标。 例如:上例中,如何经常要查询某病人的入院时 间(用于结账),若将联系并入病床方显然会 降低效率。

1:n联系的转化K a

E1

1

r

n

E2

h b

s

转化为一个独立的关系模式,与该联系相连的各实体的 码以及联系本身的属性均转换为关系的属性,而关系 的码为n端实体的码 与n端的关系模式合并 R1(k,a),R2(h,b,k,s)

1:n联系转化例

学生

n

属于

1

班级

学号 姓名 性别 出生

班号

班名

人数

职务

m:n联系的转化K a

E1

m

r

n

E2

h b

s

直接转化为一个关系,包括与联系相关的实体的码以及 本身的属性 R(k,h,s)

m:n联系转化例n m

学生

选秀

课程 课名 学分

学号 姓名 性别出生

课号

?

多元联系的转化 三个或三个以上实体间的一个多元联系转 换为一个关系模式,包含了相关实体的码 及其自身的属性 班级 教师

教授 课程

具有相同码的关系模式可以合并

例如 班级(班号,班名,人数) 班主任(班号,姓名,性别)

课本第223页

提问

7.4.2 数据模型的优化

得到初步数据模型后,还应该适当地修改、调整 数据模型的结构,以进一步提高数据库应用系统 的性能,这就是数据模型的优化 关系数据模型的优化通常以规范化理论为指导

数据模型优化的步骤

确定函数依赖关系 消除冗余 确定范式 对于不满足要求的范式进行分解 一般要求第三范式 对关系模式进行必要的分解,提高数据操作的 效率和存储空间的利用率(??)

例:在关系模式 学生成绩单(学号,英语,数学,语文,平均成绩) 中存在下列函数依赖:

学号→英语 学号→数学 学号→语文 学号→平均成绩 (英语, 数学, 语文)→平均成绩提问

7.4.3 设计用户子模式(视图)定义用户外模式时应该注意的问题 包括三个方面: (1) 使用更符合用户习惯的别名 (2) 针对不同级别的用户定义不同的View ,以满足 系统对安全性的要求 (3) 简化用户对系统的使用

[例] 关系模式产品(产品号,产品名,规格,单价,

生产车间,生产负责人,产品成本,产品合格率,质量等级)

为一般顾客建立视图: 产品1(产品号,产品名,规格,单价) 为产品销售部门建立视图: 产品2(产品号,产品名,规格,单价,车间,生产负责人) 顾客视图中只包含允许顾客查询的属性 销售部门视图中只包含允许销售部门查询的属性 生产部门则可以查询全部产品数据 可以防止用户访问不允许他们查询的数据,保证系统的 安全性

7.5 数据库的物理设计

数据库的物理设计–

数据库在物理设备上的存储结构与存取方法称为数据 库的物理结构,它依赖于选定的数据库管理系统为一个给定的逻辑数据模型选取一个最适合应用环境 的物理结构的过程,就是数据库的物理设计

7.5.1数据库物理设计的内容和方法

设计数据库物理结构的准备工作–

对要运行的事务进行详细分析,获得选择物理 设计所需参数

充分了解所用RDBMS的内部特征,特别是系 统提供的存取方法和存储结构

选择物理数据库设计所需参数

数据库查询事务 查询的关系

查询条件所涉及的属性 连接条件所涉及的属性 查询的投影属性

本文来源:https://www.bwwdw.com/article/rui4.html

Top