数据库原理——第七章:数据库设计

参考书目《数据库系统概论(第5版)》

数据库设计概述

数据库设计的一般定义:
数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求

数据库设计的6个阶段:

  1. 需求分析阶段。
  2. 概念结构设计阶段。
  3. 逻辑结构设计阶段。
  4. 物理结构设计阶段。
  5. 数据库实施阶段。
  6. 数据库运行和维护阶段。

需求分析概念结构设计可以独立于任何数据库管理系统进行,逻辑结构设计物理结构设计与选用的数据库管理系统密切相关


需求分析

简单的说就是用户缺少计算机知识,我们需要通过与他们的交流来获得我们构建数据库所必要的信息以及用户的需求

通过调查明确用户的各种需求:
(1)信息要求:用户需要从数据库中获得信息的内容与实质
(2)数据要求:数据库需要存储哪些数据
(3)处理要求:用户要完成的数据处理功能
(4)安全性与完整性要求。

数据字典

结构:

  1. 数据项。数据的最小组成单元
  2. 数据结构。反应数据之间的组合关系
  3. 数据流。是数据结构在系统内传输的路径
  4. 数据存储。是数据结构停留或保存的地方,也是数据流的来源和去向之一
  5. 处理过程。具体处理逻辑一般用判定表或判定树来描述

概念结构设计

将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计

需要根据数据库关系理论对数据库结构进行优化,如模式分解

需要注意的是并不是规范化程度越高的关系就越优

E-R模型

E-R图提供了表示实体型属性联系的方法:
(1)实体型用矩形表示,矩形框内写明实体名
(2)属性用椭圆表示,并用无向边将其与相应的实体型连接起来
(3)联系用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)


逻辑结构设计

逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转化为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构

E-R图向关系魔性的转换

  1. 一个实体型转化为一个关系模式
  2. 一个1:1联系可以转化为一个独立的关系模式,也可以与任意端的关系模式合并
    • 若与某一端合并,则需要在该关系模式的属性中加入另一关系模式的码联系本身的属性
  3. 一个1:n联系可以转化为一个独立的关系模式,也可以与n端的关系模式合并
  4. 一个m:n联系转化为一个关系模式
    • 与该关系模式相连的各实体的码以及联系本身的属性均转化为关系的属性,各实体的码组成关系的码或关系码的一部分
  5. 三个或三个以上实体间的多元联系可以转化为一个关系模式
  6. 具有相同码的关系模式可以合并

物理结构设计

为一个给定的逻辑数据模型选取一个最合适应用要求的物理结构的过程,就是数据库的物理设计

数据库的物理设计通常分为两步:

  1. 确定数据库的物理结构,在关系型数据库中主要指存取方法和存储结构
  2. 对物理结构进行评价,评价的重点是时间和空间效率

数据库管理系统一般提供多种存取方法。常用的存取方法为索引方法聚簇方法

B+树索引hash索引是数据库中经典的存取方法


数据库的实施与维护

数据库的维护工作:

  1. 数据库的转储和恢复
  2. 数据库的安全性、完整性控制
  3. 数据库性能的监督、分析和改造
  4. 数据库的重组织与重构造