数据库设计
目录
一、数据库设计概述
二、需求分析
三、概念结构设计
四、逻辑结构设计
五、物理结构设计
六、数据库的实施运行和维护
一、数据库设计概述
1、 根据用户需求设计数据库结构的过程
2、设计数据库的方法有:
- 直观设计方法:
- 规范设计法:
- 计算机辅助设计方法:
- 自动化设计方法:
3、按照规范设计方法,数据库设计可分为:
- 需求分析阶段
- 概念结构设计阶段
- 逻辑结构设计阶段
- 物理结构设计阶段
- 数据库实施阶段
- 数据库运行和维护阶段
二、需求分析阶段
1、需求分析的任务:
- 信息要求: 需要存储哪些数据
- 处理要求: 指用户要完成什么处理功能
- 安全性与完整性要求: 指对数据库的用户、角色、权限、加密方法等安全保密措施的要求;完整性要求是指数据取值范围、数据之间各种联系的要求
2、需求分析的方法:
(1)、调查用户需求的具体步骤:
- 调查组织机构情况。部门组成、部门职责等
- 熟悉业务后,和用户明确对新系统的要求。包括信息要求、处理要求、完整性和安全性设计
- 确定系统边界。确定人做的业务和 计算机做的业务,计算机做的业务是新系统应该实现的
(2)、常用的调查方法: - 跟班作业:亲自参加业务工作达到了解的目的
- 开座谈会:和客户开会
- 询问或请专人介绍:一般包括领导、管理人员、操作员
- 设计调查表请求用户填写:需要 设计合理的调查表让用户填写
- 查阅记录:查阅与原系统有关的数据记录
3、数据流图和数据字典: 对需求分析结果进行描述的两个主要工具
(1)、数据流图: 表达了数据和处理过程的关系
- 数据流:箭头表示数据流
- 处理:圆圈表示处理。对数据进行的操作或处理
- 数据存储:双线段表示存储的信息
- 外部实体:指独立于系统存在的,但又和系统有联系的实体。表示的外部来源和最终流向,用矩形表示外部实体
(2)数据字典: 是数据库系统中的各类数据的详细描述的集合,是一种数据分析、系统统计和管理的有力工具
通常包括:
- 数据项:是最小的数据单位,通常包括属性姓名、含义、别名、类型、长度、取值范围、与其他数据项的逻辑联系等
- 数据存储:是数据停留并保存的地方,也是数据流的来源和去向之一
- 数据流:数据流表示数据项或数据结构在某一加工过程中的输入或输出
- 数据加工:数据加工的处理逻辑一般用判定表或判定树来描述,包括加工名称、说明、输入/输出数据流、加工过程简介等
三、概念结构设计
1、描述概念结构的模型应具有的以下特点:
- 有丰富的语义表达能力。能表达用户的各种需求,反映现实世界中各种数据及其复杂的联系,以及用户对数据的处理要求等
- 易于人的理解和交流。概念模型是系统分析师、数据库设计人员和用户之间的主要交流工具
- 易于修改。概念模型能灵活的改变
- 易于向各种数据模型转换。
2、概念结构设计的方法可以概括为:
- 自顶向下法:首先确定实体和实体间的联系,建立一个全局E-R图,再逐步细化慢慢得到局部E-R图
- 自底向上法:有时又称属性综合法
- 逐步扩张法:先定义核心E-R图,然后向外扩张
- 混合策略:不同的模块分开设计,完成后再合并
3、概念结构设计的步骤:
自底向上法可以分为两步:
第一:进行数据抽象,设计局部E-R模型
- 确定局部E-R图描述的范围:根据独立性原则(功能独立,和其他模块联系不大)和规模适度原则(一般6个实体为宜)可以将系统划分为适当的系统或子系统(划分过细有数据冗余,划分过粗有遗漏)
- 确定局部E-R图的实体:对需求分析的数据进行实体属性和联系指明
- 定义实体的属性:
- 定义实体间的联系:实体间的联系按特点可以分为:存在性联系(如学生有所属的班级)、功能性联系(如教师要教学生)和事件性联系(如学生借书);实体间联系可分为一对一、一对多、多对多三种
第二:集成各局部E-R模型,形成全局E-R模型
- 缺点:局部E-R图反应的仅仅是子功能对应的数据视图,存在不一致的情况,需要合并多个局部模块
- 集成分两步:
- 合并:消除数据不一致情况
- 优化:消除不必要的数据冗余
四、 逻辑结构设计
1、逻辑结构设计阶段一般分为三步进行: 将E-R图转化为关系数据模型、关系模式的优化、设计用户外模式
2、将E-R图转化为关系数据模型:
将实体、属性和实体间联系转化为关系模式,在转化过程中要遵循以下规则:
- 实体的转换:一个实体转换为一个关系模式
- 联系的转换:
一对一联系:可以转换为独立的关系模式也可以和其他关系模式合并
一对多联系:转换为独立的关系模式或者与N端对应的关系模式合并
多对多联系:产生一个新的关系模式,对应两表主码为组合主码
3、关系模式的优化:
- 确定函数依赖
- 对关系模式进行必要的合并与分解
4、设计用户外模式: 用户可直接访问的数据模式
- 使用符合用户习惯的别名
- 可以对不同级别的用户定义不同的数据视图,以保证系统的安全性
- 简化用户对系统的使用
五、物理结构设计
1、确定数据库的物理结构:
- 确定数据的存储结构:
- 设计数据的存取路径:索引方法、聚簇、hash方法
- 确定数据的存放位置
- 确定系统配置
2、评价物理结构
六、数据库的实施和运行、维护
1、数据库的实施
- 建立实际的数据库结构
- 数据加载
- 数据库试运行和评价
2、数据库的运行与维护