数据库概念设计
数据库概念设计的目标
- 定义和描述应用领域设计的数据范围
- 获取应用领域或问题域的信息类型
- 描述清楚数据的属性特征
- 描述清楚数据之间的关系
- 定义和描述数据的约束
- 说明数据的安全性要求
- 支持用户的各种数据处理需求
- 保证信息模型方便地转换成数据库的逻辑结构(数据库模式),同时也便于用户的理解
概念设计的过程
- 明确建模的目标(确定模型覆盖的问题范围)
- 定义实体集((1)将应用域收集到的原始数据进行分类 (2)依次列出每个实体集的名称)
- 定义联系(联系用于描述实体集之间的关联关系,而联系的实例表示一个联系中的两个实例之间有意义的关联或连接)
- 建立信息模型
- 确定实体集属性
- 对信息模型进行集成与优化
索引
☞索引是典型的空间换取时间的方法,因此在设计索引时要在空间与时间两者之间权衡
☞建立聚集索引时,数据库管理系统会按照聚集索引键值对数据进行排序
☞当经常进行范围查询时,在范围列上建立索引可以提高该类查询的效率
实现方式
根据索引的实现方式,索引技术分为有序索引和散列索引
☞☞☞有序索引:也称为索引文件机制,利用索引文件实现记录域取值到记录物理地址间的映射关系。
☞☞☞散列索引:也称哈希索引机制,利用一个散列函数实现记录域取值到记录物理地址间的直接映射关系。
索引技术的关键是建立记录域取值到记录的物理地址间的映射关系
数据库的物理设计
物理设计的内容
1、数据库逻辑模式描述:将于平台无关的描述数据库逻辑结构的关系模式及视图转换为所选定的具体 DBMS平台可支持的基本表和视图,并利用DBMS提供的完整性机制(如触发器)设计定义在基本表上的面向应用的业务规则
2、文件组织与存取设计:选择或配置基本表和文件组织形式;根据实际情况,为基本关系表设计合适的存取方法和存取路径,如设计索引字段和索引,以提高数据查询速度。
3、数据分布设计:
☞☞根据数据类型、作用和使用频率的不同,将数据库中应用数据、索引、日志、备份数据等不同类型的数据合理安排在磁盘、磁带等不同存储介质中
☞☞根据实际需求,对分布式数据库中的应用数据设计合理的数据副本,通过水平划分或垂直分割成不同的数据片段,然后分布存储在各局部数据库中,以提高系统的数据访问效率和数据可靠性
☞☞考虑关系模式中派生属性的存储方式,合理调整关系模式的规范化程度,以便在数据存储代价和数据访问效率之间作合理的权衡折中
4、确定系统配置:根据应用环境和物理设计结果,合理设置和调整DBMS和操作系统的存储分配参数,提供系统软硬件平台的初始配置信息
5、物理模式评估:对数据库物理设计结果从时间、空间、维护代价等方面进行评估,从多种可行方案中选择合理的数据库物理结构
分布式数据库系统
数据划分
DBMS采用水平划分或垂直划分两种方法,将基本表分为若干分区,并可根据需要为分区设计合适的副本。
☞☞☞垂直划分是将一张基本表划分为多张子表,每张子表必须包含基本表的主键
关系模式的规范化
☞☞若关系模式设计不当会产生插入异常、删除异常、更新异常、数据冗余
第一范式:关系模式中的每一个分量必须是不可分的数据项。
第二范式:在第一范式的基础上,且每一个非主属性完全函数依赖于任何一个候选码(消除部分函数依赖)
第三范式:在一、二范式基础上、且每一个非主属性即不传递依赖与码,也不部分依赖码(消除部分函数依赖和传递函数依赖)