目录
数据库设计
1、数据库设计概述
数据库设计 ,广义地讲:整个数据库应用系统的设计;狭义的说就是数据库本身的设计。设计一个好的数据库与设计一个好的数据库应用系统密不可分。
数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境。高效率的运行环境是指数据库数据的存取效率高 、数据库存储空间的利用率高 、数据库系统运行管理的效率高
数据库设计的一般定义:数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。 信息管理要求:在数据库中应该存储和管理哪些数据对象 ;数据操作要求:对数据对象需要进行哪些操作,如查询、增、删、改、统计等操作。
1)、数据库设计的特点
1、数据库建设的基本规律
三分技术,七分管理,十二分基础数据 。技术:其次;管理 :数据库建设项目管理,企业(即应用部门)的业务管理 ;基础数据: 数据的收集、整理、组织和不断更新。工作量大,繁琐,细致。对数据分析挖掘,改进业务管理。
2. 结构(数据)设计和行为(处理)设计相结合
将数据库结构设计和数据处理设计密切结合。在早期的数据库应用系统开发过程中,常常把数据库设计和应用系统的设计分离开来,如图:
而传统的软件工程:重行为设计,忽视对应用中数据语义的分析和抽象。结构化设计和逐步求精的方法;早期的数据库设计:重结构设计,致力于数据模型和数据库建模方法研究,忽视了行为设计对结构设计的影响。
2)、 数据库设计方法
运用软件工程思想,按一定的设计规程用工程化方法设计数据库,其基本思想:过程迭代和逐步求精。迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。
经典方法:新奥尔良方法(比较著名):将数据库设计分四个阶段:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计);基于E-R模型的数据库设计方法(概念设计阶段广泛采用);3NF(第三范式)的设计方法(逻辑阶段可采用的有效方法);面向对象的数据库设计方法 ;统一建模语言(UML)方法;计算机辅助设计法(指在数据库设计的某些过程中模拟某一规范化设计的方法,并以人的知识或经验为主导,通过人机交互方式实现设计中的某些部分);计算机辅助软件工程工具(如 SYSBASE公司的PowerDesigner、Rational公司的Rational Rose、Oracle公司的Design 2000)等。
3)、 数据库设计的基本步骤
数据库设计分6个阶段:需求分析 、概念结构设计 、逻辑结构设计 、物理结构设计 、数据库实施 和 数据库运行和维护,如图所示:
在数据库设计过程中,需求分析和概念设计独立于任何数据库管理系统,逻辑设计和物理设计与选用的数据库管理系统密切相关。
数据库设计开始之前,首先必须选定参加设计的人员,包括系统分析人员、数据库设计人员、应用开发人员、数据库管理员和用户代表。系统分析人员和数据库设计人员是数据库设计的核心,自始至终参与数据库设计,其水平决定了数据库系统的质量。数据库管理员和用户代表主要参加需求分析与数据库的运行和维护(用户积极参与带来的好处:加速数据库设计,提高数据库设计的质量)。应用开发人员(包括程序员和操作员)在实施阶段参与进来,分别负责编制程序和准备软硬件环