一、数据库设计概述
六个阶段:
需求分析:准确了解与分析用户需求(包括数据与处理),最困难,最耗时
语义数据库建模(概念结构设计):关键,通过对用户需求进行综合、归纳与抽象,形成一个独立于DBMS的概念模型
逻辑结构设计:将概念结构转换为某个DBMS所支持的数据模型,对其优化
物理结构设计:为逻辑数据模型选取一个最适合应用的物理结构(包括存储结构和存取方法)
数据库实现:运用DBMS提供的数据库语言(如SQL)及宿主语言,根据逻辑设计和物理设计的结果,
建立数据库、编制与调试应用程序、组织数据入库、进行调试运行
数据库运行管理:不断对其进行评价、调整、修改
二、需求分析:
任务:详细调查现实世界要处理的对象;充分了解原系统;明确用户各种需求;
确定新系统功能;充分考虑今后的可能扩充和改变
重点:数据和处理
信息要求;处理要求;安全性与完整性要求
难点:确定用户最终需求
数据字典:
用途:进行详细的数据收集和数据分析所获得的主要结果
内容:数据项、数据结构、数据流、数据存储、处理过程
数据字典是关于数据库中数据的描述,是元数据,而不是数据本身
数据字典在需求分析阶段建立,在数据库设计过程中不断修改完善充实
三、概念数据建模(概念结构设计):
特点:真实充分反映现实世界;易于理解;易于更改;易于向关系、网状、层次等各种数据模型转换
工具:ER模型
设计概念结构的方法:
1.自顶向下,首先定义全局概念结构的框架,然后逐步细化
2.自底向上,首先定义各局部概念结构,然后将它们集成起来,得到全局概念
3.逐步扩张,首先定义最重要的核心概念结构,然后向外扩充,以滚雪球方式逐步生成其他概念结构
4.混合策略,将自顶向下和自底向上结合
三种常用的数据抽象:
分类:定义某一概念作为显示世界中一组对象的类型 is member of
聚集:定义某一类型的组成部分, is part of
概括:定义某一类型之间的子集关系,is subset of
ER图的贺词合并存在冲突:属性冲突(属性域冲突、属性单位冲突)、命名冲突(同名异义,异名同义)、
结构冲突(同一对象在不同应用中有不同抽象;同一实体在不同ER图中所包含属性不同;实体之间的联系在不同视图中呈现不同类型)
四、逻辑结构设计:
任务:将概念设计阶段设计好的基本ER图转为与选用的DBMS产品所支持的数据模型相符合的逻辑结构
步骤:将概念转换为一般的网状、层次、关系模型;
将转换来的模型向特定DBMS支持下的数据模型转换;
对数据模型进行优化
转换内容:将ER图转为关系模型,实体、实体属性、和实体之间的联系转为关系模型
优化数据模型的方法:确定函数依赖;消除冗余联系;确定所属范式
五、物理数据库设计:
物理结构:数据库在物理设备上的存储结构和存取方法
数据库物理设计的内容和方法:
选择物理数据库设计所需参数:数据更新事务;每个事务在各关系上运行的频率和性能要求
内容:为关系模式选择存取方法,建立存取路径
关系模式存取方法选择:
DBMS常用存取方法:索引方法、聚簇方法、HASH方法
确定数据库存储结构:
确定数据的存放位置和存储结构;确定系统配置;
评价物理结构
六、数据库的管理:
数据载入和程序调试:
数据载入:人工方法、计算机辅助数据入库;
数据库的试运行:
功能测试;性能测试
分期分批组织数据入库;数据库的转储和恢复
数据库的运行和维护