数据库设计与优化
摘要:众所周知,数据库管理技术经历了人工管理阶段和文件系统
阶段,如今发展到了数据库系统阶段,可以说短短时间,在数据库领域中,其变化可谓是飞速的。数据库技术是计算机科学中发展最快的领域之一,也是应用最广的技术之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。本文讨论数据库设计流程的所有重要方面,并提出数据库设计中所出现的各种问题,并归纳分析了解决这些问题的种种途径。
关键词:数据库设计; 数据冗余; 数据库管理系统
近年来,随着多媒体技术、空间数据库技术和计算机网络的飞速发展,数据库系统的发展十分迅速,应用领域愈来愈广,企事业单位、政府部门的行政管理、办公自动化;企业生产计划管理;军队物资管理;银行财务管理;铁路、民航飞机票预定系统;铁路车次调度系统;宾馆、酒店房间预定系统;图书馆管理;政府部门的计划和统计系统;人口普查;气象预报;地震,勘探等大量数据的贮存和统计分析;以及最近google推出的全球卫星定位系统、手机GPRS定位系统,其背后都是一个规模巨大的数据库。
如何合理高效地为政府管理人员或企业高层决策人员、设计数据库管理系统服务已成为当务之急。好的灵活的数据库设计,既能给前台应用程序的设计带来简便,又能给后台数据库的编码和扩充,和系统的维护带来极大的便利。现在关系型数据库已成为业界的主流,而我们讨论的也主要是基于关系型数据库的。
数据库设计的总流程
一、 数据库设计的六个阶段
各种规范化设计方法在设计步骤上存在差别,各有千秋。通过分析、比较与综合各种常见的数据库规范化设计方法,一般将数据库设计分为以下六阶段:需求分析阶段;概念设计阶段;逻辑设计阶段;物理设计阶段;数据库实施阶段;数据库运行维护阶段。 二、 需求分析
要设计一个有效的数据库,必须用系统工程的观点来考虑问题。在系统分析阶段,设计者和用户双方要密切合作,共同收集和分析数据管理中信息的内容和用户对处理的需求。在调研中,首先要了解数据库所管理的数据将覆盖哪些工作部门,每个部门的数据来自何处,它们是依照什么样的原则处理加工这些数据的,在处理完毕后输出哪些信息到其他部门。其次要确定系统的边界,在与用户充分讨论的基础上,确定计算机数据处理范围,确定哪些工作要由人工来完成,确定人机接口界面。最后得到业务信息流程图。
三、 概念设计
在需求分析阶段数据库设计人员充分调查并描述了用户的应用需求,但这些应用需求还是现实世界的具体需求,应该首先把他们抽象为信息世界的结构,才能更好地、更准确地用某个DBMS实现用户的这些需求。将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计。概念结构独立于数据库逻辑结构,也独立于支持数据库的DBMS。它是现实世界与机器世界的中介,它一方面能够充分反映现实世界,包括实体和实体之间的联系,同时又易于向关系、网状、层次等各种数据模型转换。它是现实世界的一个真实模型,易于理解,便于和不熟悉计算机的用户交换意见,使用户易于参与。当现实世界需求改变时,概念结构可以很容易地作出相应调整。因此概念结构设计是整个数据库设计的关键所在。概念结构设计一般需要两个阶段:第一个阶段是根据用户对数据和处理的需求,为产生全局视图,得到每个用户各自的局部视图,对每个用户的局部数据结构进行描述。第二阶段是在定义了各用户的局部视图的基础上,利用一定的工具分析各个局部视图,并把它们合并成一个统一的全局数据结构,即全局视图。全局视图被称为数据库概念模型。实际上,概念设计得到的实体模型。由于实体模型(如用E-R方法)不易描述,故实体模型通常是用一些原始表格来描述,这样比较直观。
四、 逻辑设计
概念结构是各种数据模型的共同基础,它比数据模型更独立于机器,更抽象,从而更加稳定。但为了能够用某一DBMS实现用户需
要,还必须将概念结构进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。从理论上讲,设计逻辑结构应该选择最适于描述与表达相应概念的结构模型,然后对支持这种数据模型的各种DBMS进行比较,综合考虑性能、价格等各种因素,从中选出最合适的DBMS。但在实际当中,往往是已给定了某台机器,设计人员没有选择DBMS的余地。目前DBMS产品一般只支持关系、网状、层次3种模型中的某一种,对某一种数据模型,各个机器系统又有许多不同的限制,提供不同的环境与工具。 五、 物理设计
对于给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程为物理设计。数据库的物理结构主要指数据库的存储记录格式、存储记录安排和存储方法,这些都依赖于所使用的系统。在网状模型和层次模型系统中,这一部分内容较复杂,因为它们是用指针表示记录的联系。关系模型系统比较简单一些,仅包含索引机制、空间大小、块的大小等内容。在设计物理结构时,应先确定数据库的物理结构,然后对物理结构进行评价。评价的重点是时间和空间的效率。数据的存储决定了数据库占用多少空间,数据的处理决定了操作时间的效率。物理结构设计应尽量减少存储空间的占用,也应尽量减少操作次数,做到相应时间越快越好。如果评价结果满足原设计要求,则转向物理实施。否则,就要重新修改或重新设计物理结构,有时甚至要回到逻辑设计阶段修改数据模型。物理设计完成之后,就应该得到
详细的磁盘分配方案、存储方案、各种基表的详细信息等。根据这些信息就可以上机建立数据库。
六、 数据库实施
对数据库的物理设计初步评价完后,就可以开始建立数据库了。数据库实施主要包括:用DDL定义数据库结构,组织数据入库,编制与调试应用程序,数据库试运行。所谓使用DDL定义数据库结构,就是使用DBMS的建库命令建立相应的用户数据库结构。组织数据库入库就是将装载在其他介质上的数据输入到数据库中去。为了完成相应的操作和检索,需要编制很多程序,形成一个程序系统来使用该数据库,这部分是程序设计的任务。一切就绪之后,就可以试运行数据库了。
七、 系统管理和维护
数据库试运行结果符合设计目标后就可以真正投入运行了。数据库投入运行标志着开发任务基本完成和维护工作开始,并不意味着设计过程的终结。由于应用环境在不断地变化,数据库运行过程中物理存储也不会不断变化。对数据库设计进行评价、调整、修改等维护工作是一项长期的任务,也是设计工作的继续和改进。
关于解决数据库设计中存在的问题,我们可以通过需求分析采集、考察现有系统、分析各种可能的变化、要为尽量减轻前台的编码
而工作、合理使用数据类型以及用视图隐藏细节等种种方式,加以解决。 结论
总之,我们在进行数据库设计时,一定要综合考虑多种因素,具体问题具体分析,既要考虑当前实现的可行性,又要考虑以后的升级维护;既要减轻前台编码的负担,又要让后台的管理简单易行;既要让前台的查询效率高,又要让后台的实现方便可行。数据库设计是一项综合性设计,决非一朝一夕之功,只有在工作、学习中多思考、多动脑、多总结、灵活运用所学知识,综合考虑各种因素,平衡把握每个细节,这样数据库设计才会更加科学、合理。
参考文献:
1 《大型数据库技术及应用 》 重庆大学出版社 王 越 刘加伶 李 梁 著
2 《 数据库系统概论 》 高等教育出版社 王 珊 萨师煊 著
3 《数据库管理系统 》 清华大学出版社 尹买华 著