【数据库理论】数据库的设计与实施

本系列为《数据库系统原理与应用(刘先锋等著)》的读书笔记。

一,数据库设计概述

数据库技术是信息资源开发,管理和服务的最有效手段,从小型 单项事务处理系统到大型的信息系统都利用了数据库技术来保证系统数据的整体性,完整性和共享性。

1,数据库设计的内容与特点

1)数据库设计包括结构特性设计行为特性设计

  • 结构特性设计即数据库框架和数据库结构设计,其结果是得到一个合理的数据模型,以反映真实的事务间的联系,目的是汇总各用户的视图,尽量减少冗余,实现数据共享。结构特性是静态的
  • 行为特性设计是指应用程序设计,如查询,报表处理等,结构特性必须适应行为特性。

2,数据库设计方法

1)新奥尔良方法:将数据库设计分为需求分析,概念设计,逻辑设计,物理设计。

2)从本质上,规范设计法的基本思想是“反复探寻,逐步求精”。

3,数据库设计的步骤

1)数据库设计的过程三大阶段六步骤,即:数据库规范设计,需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库实施与维护(总体规划阶段,系统开发设计阶段,系统运行与维护阶段)。

2)六个步骤

(1)数据规划设计:明确数据库建设的总体目标和技术路线,得出数据库设计项目的可行性分析报告,对数据库设计的进度和人员分工做出安排。
(2)需求分析:准确弄清用户要求是数据库设计的基础。
(3)概念结构设计:数据库逻辑结构依赖于具体的DBMS。概念结构是各用户关心的系统信息结构,是对现实世界的第一层抽象。
(4)逻辑结构设计:使概念结构转换为某个DBMS所支持的数据模型,并进行优化。
(5)物理结构设计:设计目标是从一个满足用户要求的已确定的逻辑模型出发,设计一个在限定的软件,硬件条件和应用环境下可实现的,运行效率高的数据库结构。
(6)数据库实施与维护

二,数据库规划

1,系统调查:搞清楚企业的组织层次,得到企业的组织结构图。

2,可行性分析:分析数据库建设是否具有可行性,即从经济,法律,技术等多方面进行可行性论证分析,在此基础上得到可行性报告。

3,数据库建设的总体目标和数据库建设的实施总安排

三,需求分析

1,需求分析的任务

1)需求分析任务:通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确各用户需求,在此基础上确定新的功能。

2)需求分析重点:调查,搜集用户在数据管理中的信息要求,处理要求,安全性与完整性要求。

  • 信息要求是指用户需要从数据库中获取信息的内容和性质,由用户的信息要求可以导出数据要求,即在数据库中需要存储哪些数据。
  • 处理要求是指用户要求完成什么样的处理功能,对处理的响应时间有什么要求,处理方式是批处理还是联机处理。
  • 安全性要求是指保护数据不被未授权的用户破坏。
  • 完整性要求是指保护数据不被授权的用户破坏。

2,需求分析的方法

1)常用的调查方法

(1)跟班作业
(2)开调查会
(3)查阅档案资料
(4)询问
(5)设计调查用表并请用户填写

3,需求分析的步骤

1)分析用户的活动

2)确定系统的边界

3)分析用户活动所设计的数据
数据流图(DFD)是描述各处理活动之间数据流动的有力工具,是一种从数据流的角度描述一个组织业务活动的图示。

4)分析系统数据

数据字典(DD)是描述每个数据流,每个文件,每个加工的集合,是对数据流图中出现的所有数据元素给出逻辑定义和描述。

数据字典包括数据项数据文件数据流数据加工处理

  • 数据项描述={数据项名,别名,数据项含义,数据类型,字节长度,取值范围,取值含义,与其他数据项的逻辑关系}
  • 数据文件描述={数据文件名,所有数据项名,数据存取频度,存取方式}
  • 数据流描述={数据流名称,所有数据项名,数据流来源,数据流去向,平均流量,峰值流量}
  • 数据加工处理描述={加工处理名,说明,输入的数据流名,输出的数据流名,处理要求}

四,概念结构设计

概念结构设计阶段是将用户需求抽象为信息结构(概念模型)的过程。

1,局部E-R图的设计

2,全局E-R图的设计

五,逻辑结构设计

逻辑模式设计的主要目标是产生一个具体DBMS可处理的数据模型和数据库模式,即把概念设计阶段的全局E-R图转换成DBMS支持的数据模型。一般步骤:

(1)将概念结构转换为一般的关系模型,网状模型或层次模型。
(2)将转换来的关系模型,网状模型,层次模型向DBMS支持的数据模型转换,变成合适的数据库模式。
(3)对模式进行挑战和优化。

六,物理结构设计

1)在进行数据库的物理结构设计时,首先确定数据库的物理结构,然后是对所设计的物理结构设计进行评价。
2)物理结构设计的重要目标是满足主要应用的性能要求。
3)就RDBMS而言,物理结构设计主要内容有:为关系模式选取存取方法,设计关系,索引等数据库文件的物理存储结构。

坚持原创技术分享,您的支持将鼓励我继续创作!