【概述】
数据库设计,广义来讲,是数据库及其应用系统的设计,即设计整个数据库应用系统;狭义来讲,是设计数据库本身,即设计数据库的各级模式并建立数据库,属于数据库应用系统设计的一部分
数据库设计的一般定义为:对于一个给定的应用环境,构造优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求
【设计的准备工作】
进行数据库设计的前期工作,必不可少的即选定参加设计的人,具体来说,分为以下三类:
- 自始至终参与数据库设计:系统分析人员、数据库设计人员
- 主要参与需求分析与数据库运行维护:用户、数据库管理员
- 实施阶段参与,负责准备软硬件环境与编制程序:程序员、操作员
【设计的基本步骤】
按照结构化系统设计的方法,考虑数据库及其应用系统开发的过程,数据库设计分为以下六个阶段:
- 需求分析:是最困难、最耗费时间的一步,要准确了解与分析用户需求,包括数据与处理
- 概念结构设计:是整个数据库设计的关键,通过对用户需求进行综合、归纳、抽象,形成一个独立于具体 DBMS 的概念模型
- 逻辑结构设计:将概念结构转换为某个 DBMS 所支持的数据模型,并对其进行优化
- 物理结构设计:为逻辑数据模型选取一个最适合应用环境的物理结构,包括存储结构和存取方法
- 数据库实施:运用 DBMS 提供的数据库语言及宿主语言,根据逻辑设计和物理设计的结果建立数据库、编制与调试应用程序、组织数据入库、进行试运行
- 数据库运行与维护:数据库应用系统经过试运行后即可投入正式运行,在数据库系统运行过程中必须不断地对其进行评价、调整、修改
其中,需求分析与概念设计,独立于任何 DBMS,逻辑设计和物理设计与选用的 DBMS 密切相关
这里仅介绍需求分析、概念结构设计、逻辑结构设计,具体见下:
【设计阶段与设计描述】
在数据库设计过程中,应将数据库的设计和对数据库中数据处理的设计紧密联系起来,将这两方面的需求分析、抽象、设计、实现在各个阶段同时进行,互相参照、补充,以完善两方面的设计
有关处理特性的设计描述,包括设计原理、采用的设计方法、工具等,在软件工程的课程中有详细介绍,这里仅给出设计过程各个阶段关于数据特性的设计描述
设计阶段 | 设计描述 |
---|---|
需求分析 | 数字字典、全系统中数据项、数据结构、数据流、数据存取描述 |
概念结构设计 | E-R 图、数据字典 |
逻辑结构设计 | 选择关系模型 |
物理结构设计 | 存储安排、存取方法选择、存取路径建立 |
数据库实施 | 创建数据库模式、装入数据、数据库试运行 |
数据库运行和维护 | 性能检测、转储与恢复、数据库重组与重构 |
【设计过程中的各级模式】
数据库设计的不同阶段形成数据库的各级模式,概括来说,在各阶段的模式形成如下:
- 需求分析:综合各用户的应用需求
- 概念设计:形成独立于机器特点、各个 DBMS 产品的概念模式(一般为 E-R 图)
- 逻辑结构设计
- 将 E-R 图转换成具体的数据库产品支持的数据模型(一般为关系模型),形成数据库逻辑模式
- 根据用户处理的要求、安全性的考虑,在基本表的基础上建立必要的视图,形成外模式
- 物理结构设计:根据 DBMS 特点与处理的需要,进行物理存储安排、建立索引,形成数据库内模式
如下图所示