Alex_McAvoy

想要成为渔夫的猎手

数据库设计概述

【概述】

数据库设计,广义来讲,是数据库及其应用系统的设计,即设计整个数据库应用系统;狭义来讲,是设计数据库本身,即设计数据库的各级模式并建立数据库,属于数据库应用系统设计的一部分

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

【设计的准备工作】

进行数据库设计的前期工作,必不可少的即选定参加设计的人,具体来说,分为以下三类:

  • 自始至终参与数据库设计:系统分析人员、数据库设计人员
  • 主要参与需求分析与数据库运行维护:用户、数据库管理员
  • 实施阶段参与,负责准备软硬件环境与编制程序:程序员、操作员

【设计的基本步骤】

按照结构化系统设计的方法,考虑数据库及其应用系统开发的过程,数据库设计分为以下六个阶段:

  • 需求分析:是最困难、最耗费时间的一步,要准确了解与分析用户需求,包括数据与处理
  • 概念结构设计:是整个数据库设计的关键,通过对用户需求进行综合、归纳、抽象,形成一个独立于具体 DBMS 的概念模型
  • 逻辑结构设计:将概念结构转换为某个 DBMS 所支持的数据模型,并对其进行优化
  • 物理结构设计:为逻辑数据模型选取一个最适合应用环境的物理结构,包括存储结构和存取方法
  • 数据库实施:运用 DBMS 提供的数据库语言及宿主语言,根据逻辑设计和物理设计的结果建立数据库、编制与调试应用程序、组织数据入库、进行试运行
  • 数据库运行与维护:数据库应用系统经过试运行后即可投入正式运行,在数据库系统运行过程中必须不断地对其进行评价、调整、修改

其中,需求分析与概念设计,独立于任何 DBMS,逻辑设计和物理设计与选用的 DBMS 密切相关

这里仅介绍需求分析、概念结构设计、逻辑结构设计,具体见下:

【设计阶段与设计描述】

在数据库设计过程中,应将数据库的设计和对数据库中数据处理的设计紧密联系起来,将这两方面的需求分析、抽象、设计、实现在各个阶段同时进行,互相参照、补充,以完善两方面的设计

有关处理特性的设计描述,包括设计原理、采用的设计方法、工具等,在软件工程的课程中有详细介绍,这里仅给出设计过程各个阶段关于数据特性的设计描述

设计阶段 设计描述
需求分析 数字字典、全系统中数据项、数据结构、数据流、数据存取描述
概念结构设计 E-R 图、数据字典
逻辑结构设计 选择关系模型
物理结构设计 存储安排、存取方法选择、存取路径建立
数据库实施 创建数据库模式、装入数据、数据库试运行
数据库运行和维护 性能检测、转储与恢复、数据库重组与重构

【设计过程中的各级模式】

数据库设计的不同阶段形成数据库的各级模式,概括来说,在各阶段的模式形成如下:

  • 需求分析:综合各用户的应用需求
  • 概念设计:形成独立于机器特点、各个 DBMS 产品的概念模式(一般为 E-R 图)
  • 逻辑结构设计
    • 将 E-R 图转换成具体的数据库产品支持的数据模型(一般为关系模型),形成数据库逻辑模式
    • 根据用户处理的要求、安全性的考虑,在基本表的基础上建立必要的视图,形成外模式
  • 物理结构设计:根据 DBMS 特点与处理的需要,进行物理存储安排、建立索引,形成数据库内模式

如下图所示

感谢您对我的支持,让我继续努力分享有用的技术与知识点!