数据库设计的过程(六个阶段)
⒈需求分析阶段
准确了解与分析用户需求(包括数据与处理)
最困难、最耗费时间的一步
⒉概念结构设计阶段
整个数据库设计的关键
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型
⒊逻辑结构设计阶段
将概念结构转换为某个DBMS所支持的数据模型
对其进行优化
⒋数据库物理设计阶段
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)
⒌数据库实施阶段
运用DBMS提供的数据库语言(如SQL)及宿主语言,根据逻辑设计和物理设计的结果
建立数据库
编制与调试应用程序
组织数据入库
进行试运行
⒍数据库运行和维护阶段
数据库应用系统经过试运行后即可投入正式运行
在数据库系统运行过程中必须不断地对其进行评价、调整与修改
结构化分析方法(Structured Analysis,简称SA方法)
从最上层的系统组织机构入手
自顶向下、逐层分解分析系统
2.分解处理功能和数据
(1)分解处理功能
将处理功能的具体内容分解为若干子功能
(2)分解数据
处理功能逐步分解同时,逐级分解所用数据,形成若干层次的数据流图
(3)表达方法
处理逻辑:用判定表或判定树来描述
数据:用数据字典来描述
3.将分析结果再次提交给用户,征得用户的认可
数据字典的内容
数据项
数据结构
数据流
数据存储
处理过程
概念结构设计的特点
(1) 能真实、充分地反映现实世界
(2) 易于理解
(3) 易于更改
(4) 易于向关系、网状、层次等各种数据模型转换
描述概念模型的工具
E-R模型
数据抽象
三种常用抽象
1. 分类(Classification)
定义某一类概念作为现实世界中一组对象的类型
抽象了对象值和型之间的“is member of”的语义
2. 聚集(Aggregation)
定义某一类型的组成成分
抽象了对象内部类型和成分之间“is part of”的语义
3. 概括(Generalization)
定义类型之间的一种子集联系
抽象了类型之间的“is subset of”的语义
继承性
逐一设计分E-R图
消除不必要的冗余,设计基本E-R图
基本任务
消除不必要的冗余,设计生成基本E-R图