动态可扩展的数据库设计.doc

动态可扩展的数据库设计.doc

ID:58805797

大小:16.50 KB

页数:3页

时间:2020-09-27

动态可扩展的数据库设计.doc_第1页
动态可扩展的数据库设计.doc_第2页
动态可扩展的数据库设计.doc_第3页
资源描述:

《动态可扩展的数据库设计.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、可动态扩展的数据库设计摘要:数据库设计的核心问题是建立模型。对于信息系统中出现的数据结构改变和扩展的需求,采用了一种基于键值对的对象属性可扩展模型。关键词:数据库设计;可扩展;对象;关系数据库引言数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设的核心。数据库设计是指对于给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用要求(信息要求和处理要求)。数据库设计的核心问题是建立模型。一般而言这个模型要满足两类准则:结构准则和性能准则。前者主要考虑如何保持数据的特性,后者主要

2、考虑资源的合理使用和数据库的存储效率。在所有数据库设计准则中最重要的原则是:最终产品必须满足用户的最终要求。但是,首先需要存储的信息是动态的,应用自身的发展也会产生新的和扩展的信息需求;其次,信息化是分步进行的,用户很难一次提出完整的需求;第三,用户和设计人员之间存在理解上的差异。因此,数据库应用系统在完成以后,系统功能很可能不能完全满足用户需求,而且随着时间的发展系统功能会逐渐偏离用户或企业的需求。所以,数据库应用系统必须要不断地改进和扩展以适应环境的变化以及组织自身的发展需求.目前数据库设计普遍采用“需求驱动”的数据库设计模式。但是,如果

3、在数据库设计阶段,建立数据库模型时没有充分考虑到数据库应用系统以后可能的改变及扩展,将使系统以后的维护工作变得极其困难,甚至必须重新开发数据库应用系统。本文针对数据库应用系统开发过程中遇到的动态可扩展问题提出了一种数据库设计模型——基于键值对的对象属性可扩展模型,它区分了应用中的不同对象的类型,通过设计属性分类提高了数据库应用系统中数据的可改变性和可扩展性。1信息系统中的传统数据库设计模型通常,在传统数据库设计模型中,设计人员在设计阶段总是将数据信息表达的尽可能丰富,使其不仅满足所有需求分析阶段得到的用户需求,而且还要尽可能考虑到应用以后

4、可能的改变以及扩展。采用这种方式设计的数据库应用不仅数据表过于“臃肿”,而且对于未来的应用难于改变或者扩展。例如,在某校园建筑管理信息系统中,系统成立初期,只要求该系统能够展示建筑的基本信息,如名称、简述等。设计人员有可能将数据表格设计成,我们称之为方案1。包括编号、建筑名称、建筑描述是建筑的最基本属性,此外设计人员也考虑到了系统将来的扩展,加入了诸如建设日期,高度,等属性。由于设计人员不可能完全预见学校未来发展状况,所以对于系统现阶段的需求来说,尽管建筑信息表已经非常详尽了,但是随着时间的推移系统仍有可能不适应实际需求。随着需求的发展,建筑

5、的信息需求有可能发生变化。例如:①为了获取建筑质量,有可能对该建筑的施工文件等信息保存;②随着校园信息系统的建立,可能有更多的不同类型的建筑需要存入系统,比如管道信息,一些标志性雕塑,或者植被信息;③随着系统的扩展,原有数据表可能不能满足日益增多的该类建筑所有信息的存储,所以需要建立新的数据表扩展其属性;④对于一些简单的建筑或者物体比如一棵树一个石凳,存储的信息明显和一座教学楼不同,需要按照类型的不同,设计多个不同的数据表分别存储不同类型的物体信息。2数据库设计中的扩展性需求在应用中,类似这样的数据存储结构改变以及应用扩展的情况还有很多。如

6、果用传统数据库设计模型,那么在设计初始阶段就必须考虑到应用未来所有的改变及扩展,尽可能使表格的信息详尽,否则当应用发生改变或扩展时,必须重新设计表结构,并对应用程序中相关片段全部重写。如果同一变化出现在不同部位,由于不同的原因,出现在不同的阶段,那么现有表结构不能满足要求;如果需要增加过多的对象属性信息,那么表结构将必须修改。但是,如果我们将数据对象化,并采用定义其属性和值的设计模型,上述问题将迎刃而解。作为开发人员,总会面对业务方提出的数据结构变化的需求,字段的增加,数据表的修改总是随时可能根据需求发生。因为业务在发展,或者需求就有可能需要

7、一个完全动态的可扩展的数据库设计方案,但是以目前的关系数据库实现这种动态扩展的特性,在系统一定规模之后所付出的代价是昂贵的,也是不安全的。为了这种动态扩展性,有这样三种常用的方法:第一种方法:预留字段。既然很难加字段,就预先留好一些备用,但是这样没那么灵活,有一定的实用性,不过因为预先留的字段一般是没什么含义的,需要有额外的信息来描述,这种方法在扩展性要求不是太强的地方可以不影响性能的前提下提供一定的扩展性。第二种方法:使用复杂字段。在某些特殊要求下还是很有用的,比如,某个业务实体(某张表),有一些标记位,都是true/false的标记,可

8、以理解为这个实体的一些属性,经常需要添加,这种情况,在生产中我们使用过用一个数字,按位来表示这些标记的,比如第三位表示他是不是付费用户,第四位表示他是合作方来的用户

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。