本文介绍数据库设计的定义、知识要求和设计的内容。
01、数据库设计的定义和知识要求
数据库设计是指对于一个给定的应用环境,根据用户的需求,在某一具体的数据库管理系统上,构造一个性能良好的数据模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的信息需求和处理需求。
(1) 信息需求。信息需求表示一个单位所需要的数据及其结构,表达了对数据库的内容及结构的要求,也就是静态要求。信息需求定义所设计的数据库将要用到的所有信息,描述实体、属性、联系的性质以及数据之间的联系。
(2) 处理需求。处理需求表示一个单位需要经常进行的数据处理,表达了基于数据库的数据处理要求,也就是动态要求。处理需求定义所设计的数据库将要进行的数据处理,描述操作的优先次序、操作执行的频率和场合以及操作与数据之间的联系。
因此,数据库设计就是把现实世界中的数据,根据各种应用处理的要求,加以合理地组织,使其满足硬件和操作系统的特性; 同时,利用已有的DBMS建立数据库,使其能够实现应用系统的目标。
数据库设计是一个庞大而且复杂的工程,数据库设计人员应该具备以下知识。
(1) 计算机科学的基础知识和程序设计的方法与技巧。
作为一个数据库的设计人员,首先必须是一个懂得计算机专业的人员,而作为计算机专业的人员,最基本的就是计算机科学的基础知识,其次应该掌握关于程序设计的知识和程序设计的方法与技巧。
(2) 数据库的基础知识和数据库设计技术。
除了具有计算机的基础知识以外,作为数据库的设计人员必须具有数据库的基础知识和数据库设计技巧。
(3) 软件工程的原理和方法。
在数据库领域内,常常把使用数据库的各类系统称为数据库应用系统。数据库应用系统的开发应该遵循软件工程的方法和原理。尤其是大型数据库设计,其开发周期长、耗资大,失败的风险也大,必须把软件工程的原理和方法应用到数据库建设中来。
(4) 应用领域的知识。
应用领域的知识随着应用系统所属的领域不同而不同,如财务管理、仓库管理、人事管理、教务管理等。而且同样是教务管理,大学、中学、小学等不同类型的学校,各不相同,即使都是高等学校各个学校的管理方式也不相同。因此,数据库设计人员必须深入实际与用户密切结合,对应用环境、专业业务流程进行详细的调查研究,才能设计出符合具体应用领域和用户要求的数据库应用系统。
02、数据库设计的内容
数据库设计包括结构设计和行为设计两方面的内容。
- 数据库的结构设计
数据库的结构设计是指根据给定的应用环境,进行数据库的模式或子模式的设计。它包括数据库的概念设计、逻辑设计和物理设计。数据库模式是各应用程序共享的结构,是静态的、稳定的,一经形成后通常情况下是不容易改变的,所以结构设计又称为静态模型设计。
- 数据库的行为设计
数据库的行为设计是指确定数据库用户的行为和动作。在数据库系统中,用户的行为和动作指用户对数据库的操作,这些要通过应用程序来实现,所以数据库的行为设计就是应用程序的设计。用户的行为总是使数据库的内容发生变化,所以行为设计是动态的,行为设计又称为动态模型设计。
数据库的结构设计和行为设计是不能分离的,分离会导致数据与程序不易结合,增加数据库设计的复杂性。本章重点介绍数据库的结构设计,对于数据库的行为设计请参考“软件工程”相关书籍。
因为数据库的设计和开发是一个庞大而且复杂的工程,涉及多学科的综合性技术,所以,数据库设计是涉及硬件、软件和管理的综合技术,这也是数据库设计的另外一个特点。有人讲“三分技术,七分管理,十二分基础数据”是数据库建设的基本规律,这是有一定道理的。