数据库设计的六阶段:数据库的设计过程
6.1 数据库设计的六阶段
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求)。这个问题是数据库在应用领域的主要研究课题。数据库设计既是一项涉及多学科的综合性技术,又是一项庞大的工程项目。有人讲"三分技术,七分管理,十二分基础数据"是数据库建设的基本规律,这是有一定道理的。技术与管理的界面(称之为"干件")十分重要。数据库建设是硬件、软件和干件的结合。这是数据库设计的特点之一。数据库的设计应该和应用系统设计相结合,也就是说,整个设计过程中要把结构(数据)设计和行为(处理)设计紧密结合起来。这是数据库设计的特点之二。
6.1.1 数据库的设计过程
按照规范的设计方法,一个完整的数据库设计一般分为以下六个阶段:
⑴ 需求分析:分析用户的需求,包括数据、功能和性能需求;
⑵ 概念结构设计:主要采用E-R模型进行设计,包括画E-R图;
⑶ 逻辑结构设计:通过将E-R图转换成表,实现从E-R模型到关系模型的转换;
⑷ 数据库物理设计:主要是为所设计的数据库选择合适的存储结构和存取路径;
⑸ 数据库的实施:包括编程、测试和试运行;
⑹ 数据库运行与维护:系统的运行与数据库的日常维护。
数据库设计的这六个阶段,用图6-1-1表示如下:
图6-1-1:数据库的设计过程
对于图6-1-1,需要说明的是:
⑴ 概念结构是独立于任何一种数据模型的信息结构。逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用的DBMS产品所支持的数据模型相符合的逻辑结构。从理论上讲,设计逻辑结构应该选择最适宜于相应概念结构的数据模型,然后对支持这种数据模型的各种DBMS进行比较,从中选出最合适的DBMS。但实际情况往往是已经给定了某种DBMS,设计人员没有其他的选择余地。目前DBMS产品一般支持关系、网状、层次三种模型中的一种,对某一种数据模型,各个机器系统又有许多不同的限制,提供不同的环境与工具。所以设计逻辑结构时一般要分三步进行:
① 将概念结构转换为一般的关系、网状、层次模型;
② 将转换的关系、网状、层次模型向特定的DBMS支持下的数据模型转换;
③ 对数据模型进行优化;
⑵ 在数据库的逻辑结构设计完成之后,要对数据模型进行优化。因为数据库逻辑设计的结果不是唯一的。为了进一步提高数据库应用系统的性能,还应该根据应用需要适当地修改、调整数据模型的结构,这就是数据模型的优化。关系数据模型的优化通常以规范化理论为指导,优化时可采用在第五章"完整性约束与模式分解"的5.8.3小节中介绍的模式分解方法对关系模式进行规范化。如果在优化过程中发现数据库的逻辑结构有诸多问题,则需要返回到上一层修改或重新进行数据库的逻辑结构设计;
⑶ 其实将概念模型转换为全局逻辑模型之后,还应该根据局部应用的需求,结合具体DBMS的特点,设计用户的外模式,这一点在图6-1-1中没有体现。目前关系数据库管理系统一般都提供了视图的概念,可以利用视图来设计更符合局部用户需要的用户外模式。定义数据库全局模式主要是从系统的时间效率、空间效率、易维护等角度出发。由于用户外模式与模式是相对独立的,因此在定义用户外模式时可以注重考虑用户的习惯与方便,包括:
① 使用更符合用户习惯的别名;
② 可以对不同级别的用户定义不同的VIEW,以保证系统的安全性;
③ 简化用户对系统的使用;
⑷ 在数据库的物理结构设计完成之后,就可以针对系统常用的操作进行性能预测,评价所做的设计。如果发现目前的设计不能保证系统常用操作的性能要求的话,就需要返回到上两层重新调整数据库的逻辑结构设计;
当评价一个DBMS产品时,性能指标是一个主要的因素。一个DBMS是一个复杂的软件,而且不同的厂商可能将它们的系统定位于不同的市场。为此,他们对系统的某些特定部分进行更多的优化,或者选择不同的设计。例如,一些系统要求有效地运行复杂查询,而另一些系统用来在一秒中内运行很多简单事务。在每一类系统中,都有很多竞争产品。为了帮助用户在选择DBMS的过程中找到适合自身的系统,人们提出了几个性能基准测试。它们之中包括度量特定一类应用性能的基准测试和度量一个DBMS完成各种操作的好坏的基准测试(如,Wisconsin Benchmark)。
基准测试应该是可移植的、易于理解的,并且可以很自然地就扩展到大的问题实例上。它们应该能够度量峰值性能(如,每秒中处理事务的个数,即tps),同时也能度量在给定应用域内工作负载的性能价格比(如,$/tps)。现在已经建立了事务处理委员会(简称TPC)来定义事务处理和数据库系统的基准测试。其他著名的基准测试已经被学术研究者和工业组织提了出来。属于特定厂商的基准测试对于比较不同的系统没有多大的用处(尽管它们可能在特定工作负载下判断一个给定系统的好坏是有用的)。
在万维网上,通过URL可以获得联机版本的所有TPC基准程序描述以及基准程序结果。
⑸ 完成数据库的物理设计之后,设计人员就要用RDBMS提供的数据定义语言和其他实用程序将数据库的逻辑设计和物理设计的结果严格地描述出来,成为DBMS可以接受的源代码。再经过调试产生目标模式,然后就可以组织数据入库了,这就是数据库实施阶段,即数据库的物理实现。数据库的物理实现包括两项重要的工作:一是数据载入;二是应用程序的编码和调试。
⑹ 在完成数据库的物理实现之后,进行系统的试验性运行。这一阶段实际运行数据库应用程序,执行对数据库的各种操作,测试应用程序的功能是否满足设计要求。如果不满足,对应用程序部分则要修改、调整,直到达到设计要求为止。如果在运行过程中发现系统的性能不满足要求,就需要返回到上一层,重新调整数据库的物理设计。
⑺ 数据库试运行合格后,数据库开发工作就基本完成,即可投入正式运行了。但是,由于应用环境在不断变化,数据库运行过程中物理存储也会不断变化,因此对数据库设计进行评价、调整、修改等维护工作是一个长期的任务。也是设计工作的继续和提高。在数据库运行阶段,对数据库的经常性的维护工作主要是由DBA完成的,它包括:
① 数据库的转储和恢复;
② 数据库的安全性和完整性控制;
③ 数据库性能的监督、分析和改造;
④ 数据库的重组织与重构造;
正像我们所强调的那样,这个设计步骤既是数据库的设计过程,也包括了数据库应用系统的设计过程。在设计过程中把数据库的设计和对数据库中数据处理的设计紧密结合起来,将这两方面的需求分析、抽象、设计、实现在各个阶段同时进行,相互参照,相互补充,以完善两方面的设计。事实上,如果不了解应用环境对数据的处理要求,或没有考虑如何去实现这些处理要求,是不可能设计一个良好的数据库结构的!
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
Excel是数据分析的重要工具,强大的内置功能使其成为许多分析师的首选。在日常工作中,启用Excel的数据分析工具库能够显著提升数 ...
2024-12-23在当今信息爆炸的时代,数据分析师如同一位现代社会的侦探,肩负着从海量数据中提炼出有价值信息的重任。在这个过程中,掌握一系 ...
2024-12-23在现代的职场中,制作吸引人的PPT已经成为展示信息的重要手段,而其中数据对比的有效呈现尤为关键。为了让数据在幻灯片上不仅准 ...
2024-12-23在信息泛滥的现代社会,数据分析师已成为企业决策过程中不可或缺的角色。他们的任务是从海量数据中提取有价值的洞察,帮助组织制 ...
2024-12-23在数据驱动时代,数据分析已成为各行各业的必需技能。无论是提升个人能力还是推动职业发展,选择一条适合自己的学习路线至关重要 ...
2024-12-23在准备数据分析师面试时,掌握高频考题及其解答是应对面试的关键。为了帮助大家轻松上岸,以下是10个高频考题及其详细解析,外加 ...
2024-12-20互联网数据分析师是一个热门且综合性的职业,他们通过数据挖掘和分析,为企业的业务决策和运营优化提供强有力的支持。尤其在如今 ...
2024-12-20在现代商业环境中,数据分析师是不可或缺的角色。他们的工作不仅仅是对数据进行深入分析,更是协助企业从复杂的数据信息中提炼出 ...
2024-12-20随着大数据时代的到来,数据驱动的决策方式开始受到越来越多企业的青睐。近年来,数据分析在人力资源管理中正在扮演着至关重要的 ...
2024-12-20在数据分析的世界里,表面上的技术操作只是“入门票”,而真正的高手则需要打破一些“看不见的墙”。这些“隐形天花板”限制了数 ...
2024-12-19在数据分析领域,尽管行业前景广阔、岗位需求旺盛,但实际的工作难度却远超很多人的想象。很多新手初入数据分析岗位时,常常被各 ...
2024-12-19入门数据分析,许多人都会感到“难”,但这“难”究竟难在哪儿?对于新手而言,往往不是技术不行,而是思维方式、业务理解和实践 ...
2024-12-19在如今的行业动荡背景下,数据分析师的职业前景虽然面临一些挑战,但也充满了许多新的机会。随着技术的不断发展和多领域需求的提 ...
2024-12-19在信息爆炸的时代,数据分析师如同探险家,在浩瀚的数据海洋中寻觅有价值的宝藏。这不仅需要技术上的过硬实力,还需要一种艺术家 ...
2024-12-19在当今信息化社会,大数据已成为各行各业不可或缺的宝贵资源。大数据专业应运而生,旨在培养具备扎实理论基础和实践能力,能够应 ...
2024-12-19阿里P8、P9失业都找不到工作?是我们孤陋寡闻还是世界真的已经“癫”成这样了? 案例一:本硕都是 985,所学的专业也是当红专业 ...
2024-12-19CDA持证人Louis CDA持证人基本情况 我大学是在一个二线城市的一所普通二本院校读的,专业是旅游管理,非计算机非统计学。毕业之 ...
2024-12-18最近,知乎上有个很火的话题:“一个人为何会陷入社会底层”? 有人说,这个世界上只有一个分水岭,就是“羊水”;还有人说,一 ...
2024-12-18在这个数据驱动的时代,数据分析师的技能需求快速增长。掌握适当的编程语言不仅能增强分析能力,还能帮助分析师从海量数据中提取 ...
2024-12-17在当今信息爆炸的时代,数据分析已经成为许多行业中不可或缺的一部分。想要在这个领域脱颖而出,除了热情和毅力外,你还需要掌握 ...
2024-12-17