- 数据库设计
一:数据库设计概述
数据库设计
数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
信息管理要求:在数据库中应该存储和管理哪些数据对象 。
数据操作要求:对数据对象需要进行哪些操作,如查询、增、删、改、统计等操作。
数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境 。
高效率的运行环境
数据库数据的存取效率高
数据库存储空间的利用率高
数据库系统运行管理的效率高
1:数据库设计方法
大型数据库设计是涉及多学科的综合性技术,又是一项庞大的工程项目。
它要求多方面的知识和技术。主要包括:
计算机的基础知识
软件工程的原理和方法
程序设计的方法和技巧
数据库的基本知识
数据库设计技术
应用领域的知识
规范设计法
手工设计方法
基本思想
过程迭代和逐步求精
典型方法
新奥尔良(New Orleans)方法
基于E-R模型的数据库设计方法
3NF(第三范式)的设计方法
面向对象的数据库设计方法
统一建模语言(UML)方法
2:数据库设计的基本步骤
数据库设计分6个阶段
需求分析
概念结构设计
逻辑结构设计
物理结构设计
数据库实施
数据库运行和维护
需求分析和概念设计独立于任何数据库管理系统
逻辑设计和物理设计与选用的数据库管理系统密切相关
二:需求分析
需求分析就是分析用户的要求
是设计数据库的起点
结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用
详细调查现实世界要处理的对象(组织、部门、企业等)
充分了解原系统(手工系统或计算机系统)工作概况
明确用户的各种需求
在此基础上确定新系统的功能
新系统必须充分考虑今后可能的扩充和改变
调查的重点是“数据”和“处理”,获得用户对数据库的要求
(1)信息要求
用户需要从数据库中获得信息的内容与性质
由信息要求可以导出数据要求,即在数据库中需要存储哪些数据
(2)处理要求
用户要完成的处理功能
对处理性能的要求
- 安全性与完整性要求
确定用户最终需求的难点
用户缺少计算机知识,不能准确地表达自己的需求,他们所提出的需求往往不断地变化。
设计人员缺少用户的专业知识,不易理解用户的真正需求,甚至误解用户的需求
解决方法
设计人员必须不断深入地与用户进行交流,才能逐步确定用户的实际需求
分析方法
结构化分析方法(Structured Analysis,简称SA方法)
SA方法从最上层的系统组织机构入手
采用自顶向下、逐层分解的方式分析系统
对用户需求进行分析与表达后,需求分析报告必须提交给用户,征得用户的认可
数据字典的内容
数据项 数据结构 数据流 数据存储 处理过程
数据项是数据的最小组成单位
若干个数据项可以组成一个数据结构
数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容
三:概念结构设计
将需求分析得到的用户需求抽象为信息结构(即概念模型)的过程就是概念结构设计
概念模型的特点
(1)能真实、充分地反映现实世界,是现实世界的一个真实模型。
(2)易于理解,从而可以用它和不熟悉计算机的用户交换意见。
(3)易于更改,当应用环境和应用要求改变时,容易对概念模型修改和扩充。
(4)易于向关系、网状、层次等各种数据模型转换描述概念模型的工具
E-R模型
1. 实体之间的联系
(1)两个实体型之间的联系:
①一对一联系(1∶1)②一对多联系(1∶n)③多对多联系(m∶n)
(2)两个以上的实体型之间的联系
一般地,两个以上的实体型之间也存在着一对一、一对多、多对多联系。
对于课程、教师与参考书3个实体型,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的
2:概念结构设计
实体与属性的划分原则
为了简化E-R图的处置,现实世界的事物能作为属性对待的,尽量作为属性对待。
两条准则:
(1)作为属性,不能再具有需要描述的性质。属性必须是不可分的数据项,不能包含其他属性。
(2)属性不能与其他实体具有联系,即E-R图中所表示的联系是实体之间的联系。
E-R图的集成
E-R图的集成一般需要分两步
合并。解决各分E-R图之间的冲突,将分E-R图合并起来生成初步E-R图。
修改和重构。消除不必要的冗余,生成基本E-R图。
(1)合并E-R图,生成初步E-R图
各个局部应用所面向的问题不同,各个子系统的E-R图之间必定会存在许多不一致的地方,称之为冲突。
子系统E-R图之间的冲突主要有三类:①属性冲突 ②命名冲突 ③结构冲突
四:逻辑结构设计
逻辑结构设计的任务
把概念结构设计阶段设计好的基本E-R图转换为与选用数据库管理系统产品所支持的数据模型相符合的逻辑结构
转换内容
E-R图由实体型、实体的属性和实体型之间的联系三个要素组成
关系模型的逻辑结构是一组关系模式的集合
将E-R图转换为关系模型:将实体型、实体的属性和实体型之间的联系转化为关系模式
转换原则
(1) 一个实体型转换为一个关系模式。
关系的属性:实体的属性
关系的码:实体的码
(2). 实体型间的联系有以下不同情况
(1) 一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
① 转换为一个独立的关系模式
关系的属性:与该联系相连的各实体的码以及联系本身的属性
关系的候选码:每个实体的码均是该关系的候选码
- 数据模型的优化
- 一般的数据模型还需要向特定数据库管理系统规定的模型进行转换。
- 转换的主要依据是所选用的数据库管理系统的功能及限制。没有通用规则。
- 对于关系模型来说,这种转换通常都比较简单。
数据库逻辑设计的结果不是唯一的。
得到初步数据模型后,还应该适当地修改、调整数据模型的结构,以进一步提高数据库应用系统的性能,这就是数据模型的优化。
关系数据模型的优化通常以规范化理论为指导
4:设计用户子模式
定义数据库模式主要是从系统的时间效率、空间效率、易维护等角度出发。
定义用户外模式时应该更注重考虑用户的习惯与方便。包括三个方面:
(1)使用更符合用户习惯的别名
合并各分E-R图曾做了消除命名冲突的工作,以使数据库系统中同一关系和属性具有唯一的名字。这在设计数据库整体结构时是非常必要的。
用视图机制可以在设计用户视图时可以重新定义某些属性名,使其与用户习惯一致,以方便使用。
- 针对不同级别的用户定义不同的视图,以保证系统的安全性。
(3)简化用户对系统的使用
5:物理结构设计
什么是数据库的物理设计?
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。
为一个给定的逻辑数据模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。
数据库物理设计的步骤
确定数据库的物理结构
在关系数据库中主要指存取方法和存储结构;
对物理结构进行评价评价的重点是时间和空间效率
若 评价结果满足原设计要求,则可进入到物理实施阶段。否则,就需要重新设计或修改物理结构,有时甚至要返回逻辑设计阶段修改数据模型。
6:数据库的实施和维护
数据库结构建立好后,就可以向数据库中装载数据了。组织数据入库是数据库实施阶段最主要的工作。
数据装载方法 人工方法 计算机辅助数据入库
应用程序调试完成,并且已有一小部分数据入库后,就可以开始对数据库系统进行联合调试,也称数据库的试运行