目标:
通过构造优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,为用户和各种应用提供一个信息基础设施和高效率的运行环境。
一、特点
三分技术,七分管理,十二分数据,将数据库结构设计和数据处理设计结合起来。
二、设计方法
手工与经验相结合方法
规范设计法
新奥尔良法
分为若干阶段和步骤
基于E-R模型的设计方法
概念设计广泛设计。
3NF设计方法
逻辑阶段很有效的方法
ODL方法
面向对象的数据库设计方法。
三、数据库设计基本步骤
需求分析
独立于任何数据库管理系统
数据字典:{
数据项:不可分割的最小单位;
数据结构:数据之间的组合关系(由若干数据项、数据结构组成);
数据流:数据结构在系统内传输的路径;
处理过程:数据结构停留或保存的地方;
数据存储:用判定表或判定书描述;
}
数据字典是元数据,不是数据本身,在需求分析阶段建立。
概念结构设计
独立于任何数据库管理系统
形成一个独立于具体DBMS的概念模型,是各种数据模型的共同基础。
方法
1)自顶向下:先定义全局概念结构,再逐步细化。
2)自底向上:先定义局部概念结构,在进行集成。
3)逐步扩张:先定义核心概念结构,在向外扩充。
4)混合策略:先用自顶向下设计全局,在由自底向上设计各局部结构。
数据抽象
从实际的人、物、事和概念中抽取共同特性,抓住本质,忽略非本质。
抽象方法:
分类(is member of)
聚集(is part of)
概括(is subset of)
局部视图设计(E-R图)重要
准则:
1)属性必须是不可分的数据项,不能再由另一些属性组成。
2)属性不等你与其他实体有联系,联系只发生在实体之间。
如:
从局部视图出发来逐个设计、
视图的集成
方法:
1)多个E-R图一次集成:当局部视图比较简单时。
2)逐步集成:一次集成两个E-R图。
最后合并,修改并重构,消除冲突和冗余。
冲突类型:
1)属性域冲突(类型、取值范围不同)
2)属性取值单位冲突
3)同名异义
4)异名同义
5)结构冲突:同一对象在不同应用中具有不同的抽象,同一实体在不同分E-R图中包含的属性个数和属性排列次序不完全相同,实体联系在不同局部视图中呈现不同的类型。
分E-R图------》初步E-R图-------》基本E-R图
消除冗余的方法:
逻辑结构设计
将概念结构转为DBMS支持的数据模型。
步骤:
1)将概念结构转为关系、层次、网状模型;
2)将上面的相关模型转为DBMS支持的数据模型;
3)对模型优化。
E-R图向关系模型的转换
内容:将实体、实体的属性和实体之间的联系转为关系模式。
联系方式:1:1联系,1:n联系,m:n联系。
数据模型的优化
方法:
1)确定数据依赖
2)消除冗余联系
3)确定所属范式
4)分析需求要求
5)分解关系模式
水平分解:
将关系的元组分成若干子集合,每个子集合为一个子关系,来提高系统的效率。
垂直分解:
将关系模式的属性分为若干子集合,形成若干子关系模式。
设计用户子模式
1)起符合用户习惯的别名;
2)针对不同级别的用户定义不同的视图,提高系统的安全性;
3)简化用户对系统的使用。
物理结构设计
为逻辑数据模型选一个最适合应用环境的物理结构,主要是存取方法和存储结构。
评价的重点是时间和空间。
设计的内容和方法
为关系模式选择存取方法(存取路径)、设计物理存储结构。
关系模式存取方法
1)索引存取方法
在查询多、聚集函数多、经常连接的属性建立索引,但会产生额外开销。
2)聚簇
将属性上具有相同的元组集中存放在连续的物理块中,能够提高查询效率和节省空间,但开销也相当大。在经常进行连接操作的关系、经常出现在相等比较的条件中、属性值的重复率很高时可以建立聚簇。
3)HASH存取
等值连接或相等比较选择条件中,关系大小可预知而且不变可用HASH存取。
数据库实施
建立数据库、调试应用程序、组织数据入库、进行试运行。
数据库运行和维护
后期评价、调整和修改。
四、数据库设计过程的各级模式
概念阶段--概念模式
逻辑设计--逻辑模式
物理设计--内模式