首页 理论教育数据库设计方法-《数据库技术与应用教程》

数据库设计方法-《数据库技术与应用教程》

【摘要】:由于信息结构复杂,应用环境多样,在相当长的一段时期内数据库设计主要采用手工试凑法。人们经过探索提出了各种数据库设计方法,这些方法运用软件工程的思想和方法,提出了各种设计准则和规程,都属于规范设计法。工具在很大程度上依靠开发人员的经验来保证数据库模型能生成可行的设计方案和高性能的数据库。大多数的数据库设计方法都需要经历这三个步骤。根据所选择的设计方法按部就班地进行并最终获得一个实用的应用系统。

由于信息结构复杂,应用环境多样,在相当长的一段时期内数据库设计主要采用手工试凑法。使用这种方法与设计人员的经验和水平有直接关系,数据库设计是一种技艺而不是工程技术,缺乏科学的理论和工程原则支持,很难保证设计质量。人们经过探索提出了各种数据库设计方法,这些方法运用软件工程的思想和方法,提出了各种设计准则和规程,都属于规范设计法。基于E-R模型的数据库设计方法,基于3 NF(第三范式)的设计方法,基本抽象语法规范的设计方法等,是在数据库设计的不同阶段上支持实现的具体技术和方法,是常用的规范设计法。

如何选择合适的数据库设计方法:一个好的数据库设计方法,应该能够以合理的工作量、在合理的期限内设计一个合理高效并且具有使用价值的数据库,其衡量标准就是要满足客户的需求,包括功能、性能、安全性、完整性及其未来发展等各方面,同时能够在特定的硬件环境、软件环境和数据库管理系统平台上实现。

另外从方法学的角度来说,一个好的方法应该具有足够的通用性和灵活性,可以为具有不同经验的用户所使用和采纳;同时又能适应不同的数据模型和不同的数据管理系统;而且不同的设计者使用同一方法,设计同一问题时,应该得到相同或类似的结果(这个特性也被称作可再生性)。

一般地,选择设计方法时应该考虑如下一些问题:

①哪些工具有助于设计?

②开发时间的紧急性?

③开发人员的技术背景?

④项目是否需要额外条件?(www.chuimin.cn)

⑤项目现有资源状况?

选择设计方法和理论最重要的因素就是开始设计时可供使用的技术或工具。一些软件可以完成数据库设计中的大多数任务。但是,工具的使用结果只能是改善,并不能完全依靠它来完成设计过程。开发人员不能依赖工具来完成所有的工作。工具在很大程度上依靠开发人员的经验来保证数据库模型能生成可行的设计方案和高性能的数据库。

由于设计和实现数据库的时间有限,设计阶段所花费的时间就不可能太长。尽管设计时间安排的冲突可能会导致最终产品性能的降低,但像设计方法的选择,所花费的时间还是可以缩减的,但设计阶段的工作需要认真进行。必须清晰定义各阶段的任务和目标,有详细而完整的文档,便于后期数据库的修改。

开发工作完成后,不可避免地要进行一些改进,这样,数据库和应用软件的版本控制就非常重要。如果公司的内部设计人员设计数据库的经验不足,可以考虑将任务外包给一些有经验的技术人员。一旦将任务外包给别人,公司就很难控制设计数据库所使用的方法和工具,这也将导致开发成本的增加。当然还需要项目承接方提供完备的技术文档。公司内部的设计人员可以通过技术文档掌握数据库模型的结构,减少向承接方要求技术支持需付的费用。较好的办法是用户希望拥有一个性能相对较高的数据库系统,因此,设计人员可以研究现有数据库的结构,参照现有的数据库系统,设计出新的数据库。

传统的设计方法包括如下三个阶段:需求分析、数据建模及设计和规范化。

需求分析阶段要分析实际业务的各种需求,涉及信息的功能性和非功能性需求。在数据建模阶段,收集系统的各种信息以便对数据库建模,包括诸如业务数据、处理规则、各类实体等,可以通过可视化的方式提供给设计小组,便于他们更好地掌握业务系统需求,进行数据建模。最后,将数据模型中的对象转换为表,经过规范化后,减少存储在数据库中的冗余数据。大多数的数据库设计方法都需要经历这三个步骤。

选定了设计方法后,设计工作就可以有序地开展。根据所选择的设计方法按部就班地进行并最终获得一个实用的应用系统。当然,除了上述的一般设计方法外,伴随着数据库技术的发展及各种工具的使用,也出现了不少数据库设计方法,鉴于篇幅有限,现行典型的或特殊的数据库设计方法此处不再赘述,请参阅有关技术资料。