kingwz

逻辑结构设计

作用:
E-R图向关系模型的转化
转换原则:
一个实体型转换为一个关系模式。
关系的属性:实体的属性
关系的码:实体的码

实体型间的联系的不同情况

  1. 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
    • 转换为一个独立的关系模式
      关系的属性:与该联系相连的各实体的码以及联系本身的属性
      关系的候选码:每个实体的码均是该关系的候选码
    • 与某一端实体对应的关系模式合并
      合并后关系的属性:加入对应关系的码和联系本身的属性
      合并后关系的码:不变
  1. 一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
    • 转换为一个独立的关系模式
      关系的属性:与该联系相连的各实体的码以及联系本身的属性
      关系的码:n端实体的码
    • 与n端对应的关系模式合并
      合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性
      合并后关系的码:不变
      可以减少系统中的关系个数,一般情况下更倾向于采用这种方法
  1. 一个m:n联系转换为一个关系模式
    关系的属性:与该联系相连的各实体的码以及联系本身的属性
    关系的码:各实体码的组合

举例:
image

可以将部门压缩到职工
可以将领导压缩到部门
参加n:m所以必须独立
负责:可以将职工压缩到产品中
供应:n:m:p 必须独立

压缩后:5个关系变为
5个实体+2个关系
image

优化数据模型的方法:

从一范式到更高的范式优化。
(1)确定数据依赖
按需求分析阶段所得到的语义,分别写出每个关系模式内部各属性之间的数据依赖以及不同关系模式属性之间数据依赖。
(2)对于各个关系模式之间的数据依赖进行极小化处理,消除冗余的联系。
(3)按照数据依赖的理论对关系模式进行分析,考察是否存在部分函数依赖、传递函数依赖、多值依赖等,确定各关系模式分别属于第几范式。
(4)按照需求分析阶段得到的各种应用对数据处理的要求,分析对于这样的应用环境这些模式是否合适,确定是否要对它们进行合并或分解。
(5)对关系模式进行必要分解,提高数据操作效率和存储空间的利用率。
常用分解方法

  1. 水平分解
    把(基本)关系的元组分为若干子集合,定义每个子集合为一个子关系,以提高系统的效率。
    实际中:
    对符合80/20的,把经常被使用的数据(约20%)水平分解出来,形成一个子关系。
    水平分解为若干子关系,使每个事务存取的数据对应一个子关系。

  2. 垂直分解
    概念: 把关系模式R的属性分解为若干子集合,形成若干子关系模式。
    分解原则 经常在一起使用的属性从R中分解出来形成一个子关系模式
    优点
    可以提高某些事务的效率
    缺点
    可能使另一些事务不得不执行连接操作,降低了效率
    分解要求:
    垂直分解必须不损失关系模式的语义(保持无损连接性和保持函数依赖)

设计用户子模式(视图)

(1)使用更符合用户习惯的别名
(2)针对不同级别的用户定义不同的视图,以保证系统的安全性。
(3)简化用户对系统的使用

  • 如果某些局部应用中经常要使用某些很复杂的查询,为了方便用户,可以将这些复杂查询定义为视图。

物理结构设计

数据库的物理结构
数据库在物理设备上的存储结构与存取方法。它依赖于选定的数据库管理系统。
设计目标:
为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程。

关系模式存取方法选择

常用存取方法

  1. B+树索引存取方法
  2. Hash索引存取方法
    优点:等值查询速度max
    缺点:范围查找太慢,不允许出现两个相同值。
  3. 聚簇存取方法
    解释: 将数据分类。具有相同值的元组集中存放在连续的物理块中称为聚簇。
    缺点: 一个表只能建立一个,后期维护成本高。
    优点: 某些场景可以提高速度,节省存储空间(减少聚簇码的存储)

确定数据库的存储结构

确定数据库物理结构主要指确定数据的存放位置和存储结构,包括:确定关系、索引、聚簇、日志、备份等的存储安排和存储结构,确定系统配置等。

确定数据的存放位置和存储结构要综合考虑存取时间、存储空间利用率和维护代价3个方面的因素。

评价物理结构

评价方法
定量估算各种方案
存储空间
存取时间
维护代价
对估算结果进行权衡、比较,选择出一个较优的合理的物理结构。

数据库的实施和维护

分类:

技术点:

相关文章: