数据库设计的理论与方法
1 数据库设计概述
数据库(database)是数据管理的最新技术,具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点。所谓数据库 是指长期存储在计算机内的、有组织的、可共享的数据集合。[王珊,陈红. 数据库系统原理教程. 北京:清华大学出版社, 1998.7]数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。数据库的应用已经 越来越广泛了,不仅大型计算机及中小型计算机,甚至微型计算机都用先进的数据库技术来保持系统数据的整体性、完整性和共享性。
数据库设计(database design)是将业务对象转换为表和视图等数据库对象的过程。[Ryan K. Stephens, Ronald R. Plew. Database Design. Macmillan Computer Publishing U.S.A, 2001]数据库设计是数据库应用系统开发过程中首要的和基本的内容。数据库是信息系统的核心和基础。它把信息系统中的大量数据按照一定的模型组织起来, 提供存储、维护、检索数据的功能,是信息系统可以方便、及时、准确从数据库中获取所需的信息。一个信息系统的各个部分能否紧密的结合在一起以及如何结合, 关键在数据库。因此必须对数据库进行合理设计。
按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段:
(1)需求分析
(2)概念结构设计
(3)逻辑结构设计
(4)物理机构设计
(5)数据库实施
(6)数据库运行与维护
2 数据库需求分析
进行整个数据库设计必须准确了解与分析用户需求(包括数据和处理)。需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度和质量。
需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
需求分析调查的重点是“数据”和“处理”,通过调查、收集和分析,获得用户对数据库的如下需求:
(1)信息需求。指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。
(2)处理要求。指用户需要完成什么处理功能。明确用户对数据有什么样的处理要求,从而确定数据之间的相互关系。
(3)安全性与完整性要求。
3 数据库概念结构设计
概念结构设计是将分析得到的用户需求抽象为概念模型的过程。即在需求分析的基础上,设计出能够满足用户需求的各种实体以及它们之间的相互关系概念结构设计模型。这样才能更好地、更准确地用某一DBMS实现这些需求。它是整个数据库设计的关键。
概念结构的主要特点是能真实、充分地反映现实世界;易于理解;易于更改;易于向关系、网状、层次等各种数据模型转换。描述概念模型的有力工具是E-R模型。
设计概念结构通常有四类方法:
(1)自顶向下。即首先定义全局概念结构的框架,然后逐步细化;
(2)自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构;
(3)逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;
(4)混合策略。即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。其中 最经常采用的策略是自底向上方法。即自顶向下进行需求分析,然后再自底向上设计概念结构。[萨师煊,王珊. 数据库系统概论(第三版). 北京:高等教育出版社, 2003]
4 数据库逻辑结构设计
概念结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。
设计逻辑结构时一般要分三步进行:
(1)将概念结构转换为一般的关系、网状、层次模型;
(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;
(3)对数据模型进行优化。[Abraham Silberschatz, Henry F. Korth, S. Sudarshan. Database System Concepts, Fourth Edition. McGraw-Hill Companies, Inc, 2002]
数据库的概念结构和逻辑结构设计式数据库设计过程中最重要两个环节。
5 数据库物理结构设计
数据库在物理设备上的存储结构与存储方法称为数据库的物理结构,它依赖于给定的计算机系统。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结果的过程,就是数据库的物理设计。
数据库的物理结构设计通常分为两步:
(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;
(2)对物理结构进行评价,评价的重点是时间和空间效率。
6 数据库实施、运行和维护
完成数据库的物理设计以后,设计人员就要用RDBMS提供的数据定义语言和其他使用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式,然后就可以组织数据入库了。
1 数据库设计概述
数据库(database)是数据管理的最新技术,具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点。所谓数据库 是指长期存储在计算机内的、有组织的、可共享的数据集合。[王珊,陈红. 数据库系统原理教程. 北京:清华大学出版社, 1998.7]数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。数据库的应用已经 越来越广泛了,不仅大型计算机及中小型计算机,甚至微型计算机都用先进的数据库技术来保持系统数据的整体性、完整性和共享性。
数据库设计(database design)是将业务对象转换为表和视图等数据库对象的过程。[Ryan K. Stephens, Ronald R. Plew. Database Design. Macmillan Computer Publishing U.S.A, 2001]数据库设计是数据库应用系统开发过程中首要的和基本的内容。数据库是信息系统的核心和基础。它把信息系统中的大量数据按照一定的模型组织起来, 提供存储、维护、检索数据的功能,是信息系统可以方便、及时、准确从数据库中获取所需的信息。一个信息系统的各个部分能否紧密的结合在一起以及如何结合, 关键在数据库。因此必须对数据库进行合理设计。
按照规范设计的方法,考虑数据库及其应用系统开发全过程,将数据库设计分为以下六个阶段:
(1)需求分析
(2)概念结构设计
(3)逻辑结构设计
(4)物理机构设计
(5)数据库实施
(6)数据库运行与维护
2 数据库需求分析
进行整个数据库设计必须准确了解与分析用户需求(包括数据和处理)。需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。作为地基的需求分析是否做得充分与准确,决定了在其上构建数据库大厦的速度和质量。
需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
需求分析调查的重点是“数据”和“处理”,通过调查、收集和分析,获得用户对数据库的如下需求:
(1)信息需求。指用户需要从数据库中获得信息的内容与性质。由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。
(2)处理要求。指用户需要完成什么处理功能。明确用户对数据有什么样的处理要求,从而确定数据之间的相互关系。
(3)安全性与完整性要求。
3 数据库概念结构设计
概念结构设计是将分析得到的用户需求抽象为概念模型的过程。即在需求分析的基础上,设计出能够满足用户需求的各种实体以及它们之间的相互关系概念结构设计模型。这样才能更好地、更准确地用某一DBMS实现这些需求。它是整个数据库设计的关键。
概念结构的主要特点是能真实、充分地反映现实世界;易于理解;易于更改;易于向关系、网状、层次等各种数据模型转换。描述概念模型的有力工具是E-R模型。
设计概念结构通常有四类方法:
(1)自顶向下。即首先定义全局概念结构的框架,然后逐步细化;
(2)自底向上。即首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构;
(3)逐步扩张。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构;
(4)混合策略。即将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。其中 最经常采用的策略是自底向上方法。即自顶向下进行需求分析,然后再自底向上设计概念结构。[萨师煊,王珊. 数据库系统概论(第三版). 北京:高等教育出版社, 2003]
4 数据库逻辑结构设计
概念结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。
设计逻辑结构时一般要分三步进行:
(1)将概念结构转换为一般的关系、网状、层次模型;
(2)将转换来的关系、网状、层次模型向特定DBMS支持下的数据模型转换;
(3)对数据模型进行优化。[Abraham Silberschatz, Henry F. Korth, S. Sudarshan. Database System Concepts, Fourth Edition. McGraw-Hill Companies, Inc, 2002]
数据库的概念结构和逻辑结构设计式数据库设计过程中最重要两个环节。
5 数据库物理结构设计
数据库在物理设备上的存储结构与存储方法称为数据库的物理结构,它依赖于给定的计算机系统。为一个给定的逻辑数据模型选取一个最适合应用要求的物理结果的过程,就是数据库的物理设计。
数据库的物理结构设计通常分为两步:
(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;
(2)对物理结构进行评价,评价的重点是时间和空间效率。
6 数据库实施、运行和维护
完成数据库的物理设计以后,设计人员就要用RDBMS提供的数据定义语言和其他使用程序将数据库逻辑设计和物理设计结果严格描述出来,成为DBMS可以接受的源代码,再经过调试产生目标模式,然后就可以组织数据入库了。