数据库设计
对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
- 目标:为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。
- 结构(数据)设计和行为(处理)设计相结合
将数据库结构设计和数据处理设计密切结合
设计方法
- 手工与经验相结合方法
设计质量与设计人员的经验和水平有直接关系
数据库运行一段时间后常常不同程度地发现各种问题,增加了维护代价- 规范设计法
基本思想:过程迭代和逐步求精- 新奥尔良(New Orleans)方法
将数据库设计分为若干阶段和步骤- 基于E-R模型的数据库设计方法
概念设计阶段广泛采用- 3NF(第三范式)的设计方法
逻辑阶段可采用的有效方法- ODL(Object Definition Language)方法
面向对象的数据库设计方法
7.1 基本步骤
准备工作:选定参加设计的人
1.系统分析人员、数据库设计人员:
自始至终参与数据库设计
2. 用户和数据库管理员
主要参加需求分析和数据库的运行维护
3. 应用开发人员(程序员和操作员)
在系统实施阶段参与进来,负责编制程序和准备软硬件环境
步骤:
- 需求分析
准确了解与分析用户需求(包括数据与处理)
最困难、最耗费时间的一步
- 概念结构设计
整个数据库设计的关键
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型
- 逻辑结构设计
将概念结构转换为某个DBMS所支持的数据模型
对其进行优化
- 物理结构设计
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)
- 数据库实施
运用DBMS提供的数据库语言(如SQL)及宿主语言,根据逻辑设计和物理设计的结果
建立数据库
编制与调试应用程序
组织数据入库
进行试运行
- 数据库运行和维护
数据库应用系统经过试运行后即可投入正式运行
在数据库系统运行过程中必须不断地对其进行评价、调整与修改
注意:
需求分析和概念设计独立于任何数据库管理系统;
逻辑设计和物理设计与选用的DBMS密切相关。
设计一个完善的数据库应用系统往往是上述六个阶段的不断反复。
数据库设计不同阶段形成的数据库各级模式
7.2.1 需求分析
任务
- 详细调查现实世界要处理的对象(组织、部门、企业等)
调查用户需求的具体步骤:
⑴ 调查组织机构情况
⑵ 调查各部门的业务活动情况。
⑶ 在熟悉业务活动的基础上,协助用户明确对新系统的各种要求。
⑷ 确定新系统的边界
- 充分了解原系统(手工系统或计算机系统)
- 明确用户的各种需求
进一步分析和表达用户需求:
结构化分析方法(Structured Analysis,简称SA方法)
从最上层的系统组织机构入手
自顶向下、逐层分解分析系统1.把任何一个系统都抽象为:
2. 分解处理功能和数据
(1)分解处理功能
将处理功能的具体内容分解为若干子功能
(2)分解数据
处理功能逐步分解同时,逐级分解所用数据,形成若干层次的数据流图
(3)表达方法
处理逻辑:用判定表或判定树来描述
数据:用数据字典来描述
- 将分析结果再次提交给用户,征得用户的认可
- 确定新系统的功能
- 充分考虑今后可能的扩充和改变
重点
调查的重点是***数据***和***处理***,获得用户对数据库的要求: