《数据库系统概论》(王珊 萨师煊)复习笔记(六)

数据库设计

第七章 数据库设计

1 数据库设计概述

  • 数据库设计
    数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
  • 设计阶段
    • 需求分析
      • 准确了解与分析用户需求(包括数据与处理)
    • 概念结构设计
      • 整个数据库设计的关键
      • 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型
    • 逻辑结构设计
      • 将概念结构转换为某个DBMS所支持的数据模型
      • 对其进行优化
    • 物理结构设计
      • 为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)
    • 数据库实施
      • 运用DBMS提供的数据库语言(如SQL)及宿主语言,根据逻辑设计和物理设计的结果
        • 建立数据库
        • 编制与调试应用程序
        • 组织数据入库
        • 进行试运行
    • 数据库运行和维护
      • 数据库应用系统经过试运行后即可投入正式运行
      • 在数据库系统运行过程中必须不断地对其进行评价、调整与修改
  • 需求分析和概念设计独立于任何数据库管理系统
  • 逻辑设计和物理设计与选用的DBMS密切相关

2 需求分析

  • 详细调查现实世界要处理的对象(组织、部门、企业等)

    • 充分了解原系统(手工系统或计算机系统)
    • 明确用户的各种需求
    • 确定新系统的功能
    • 充分考虑今后可能的扩充和改变
  • 调查的重点是“数据”和“处理”,获得用户对数据库要求

    • 信息要求
    • 处理要求
    • 安全性与完整性要求
  • 结构化分析方法(Structured Analysis,简称SA方法)

    • 从最上层的系统组织机构入手

    • 自顶向下、逐层分解分析系统

    • 首先把任何一个系统都抽象为:

    • 分解处理功能和数据

      • 分解处理功能

        将处理功能的具体内容分解为若干子功能

      • 分解数据
        处理功能逐步分解同时,逐级分解所用数据,形成若干层次的数据流图

      • 表达方法
        处理逻辑:用判定表或判定树来描述
        数据:用数据字典来描述

    • 将分析结果再次提交给用户,征得用户的认可

  • 数据字典

    • 数据字典的用途
      进行详细的数据收集和数据分析所获得的主要结果
    • 数据字典的内容
      数据项:不可再分的数据单位
      数据结构:反映了数据项之间的组合关系
      数据流:数据结构在系统内传输的路径。
      数据存储:数据结构停留或保存的地方
      处理过程:说明性信息的描述

3 概念结构设计

  • 什么是概念结构设计

    • 将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计
    • 概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定
    • 概念结构设计是整个数据库设计的关键
  • 概念结构设计的特点

    • 能真实、充分地反映现实世界
    • 易于理解
    • 易于更改
    • 易于向关系、网状、层次等各种数据模型转换
  • 描述概念模型的工具:E-R模型

  • 设计概念结构的四类方法

    • 自顶向下
    • 自底向上
    • 逐步扩张
    • 混合策略
  • 数据抽象

    分类、聚集、概括

4 逻辑结构设计

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

  • E-R图向关系模型的转换要解决的问题
    如何将实体型和实体间的联系转换为关系模式
    如何确定这些关系模式的属性和码
  • 转换内容
    将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转换为关系模式。