分享
分销 收藏 举报 申诉 / 3
播放页_导航下方通栏广告

类型动态可扩展的数据库设计.docx

  • 上传人:s4****5z
  • 文档编号:8900377
  • 上传时间:2025-03-07
  • 格式:DOCX
  • 页数:3
  • 大小:18.07KB
  • 下载积分:10 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    动态 扩展 数据库 设计
    资源描述:
    可动态扩展的数据库设计 摘要:数据库设计的核心问题是建立模型。对于信息系统中出现 的数据结构改变和扩展的需求,采用了一种基于键值对的对象属性 可扩展模型。  关键词:数据库设计;可扩展;对象;关系数据库  引言  数据库设计是建立数据库及其应用系统的技术,是信息系统开发 和建设的核心。数据库设计是指对于给定的应用环境,构造最优的 数据库模式,建立数据库及其应用系统,使之能够有效地存储数据, 满足各种用户的应用要求(信息要求和处理要求)。  数据库设计的核心问题是建立模型。一般而言这个模型要满足两 类准则:结构准则和性能准则。前者主要考虑如何保持数据的特性, 后者主要考虑资源的合理使用和数据库的存储效率。在所有数据库 设计准则中最重要的原则是:最终产品必须满足用户的最终要求。 但是,首先需要存储的信息是动态的,应用自身的发展也会产生新 的和扩展的信息需求;其次,信息化是分步进行的,用户很难一次 提出完整的需求;第三,用户和设计人员之间存在理解上的差异。 因此,数据库应用系统在完成以后,系统功能很可能不能完全满足 用户需求,而且随着时间的发展系统功能会逐渐偏离用户或企业的 需求。所以,数据库应用系统必须要不断地改进和扩展以适应环境 的变化以及组织自身的发展需求. 目前数据库设计普遍采用“需求驱动”的数据库设计模式。但是, 如果在数据库设计阶段,建立数据库模型时没有充分考虑到数据库 应用系统以后可能的改变及扩展,将使系统以后的维护工作变得极 其困难,甚至必须重新开发数据库应用系统。本文针对数据库应用 系统开发过程中遇到的动态可扩展问题提出了一种数据库设计模 型——基于键值对的对象属性可扩展模型,它区分了应用中的不同 对象的类型,通过设计属性分类提高了数据库应用系统中数据的可 改变性和可扩展性。  1 信息系统中的传统数据库设计模型  通常,在传统数据库设计模型中,设计人员在设计阶段总是将数 据信息表达的尽可能丰富,使其不仅满足所有需求分析阶段得到的 用户需求,而且还要尽可能考虑到应用以后可能的改变以及扩展。 采用这种方式设计的数据库应用不仅数据表过于“臃肿”,而且对 于未来的应用难于改变或者扩展。 例如,在某校园建筑管理信息系统中,系统成立初期,只要求该 系统能够展示建筑的基本信息,如名称、简述等。设计人员有可能 将数据表格设计成,我们称之为方案1。包括编号、建筑名称、建 筑描述是建筑的最基本属性,此外设计人员也考虑到了系统将来的 扩展,加入了诸如建设日期,高度,等属性。由于设计人员不可能 完全预见学校未来发展状况,所以对于系统现阶段的需求来说,尽 管建筑信息表已经非常详尽了,但是随着时间的推移系统仍有可能 不适应实际需求。 随着需求的发展,建筑的信息需求有可能发生变化。例如:①为 了获取建筑质量,有可能对该建筑的施工文件等信息保存;②随着 校园信息系统的建立,可能有更多的不同类型的建筑需要存入系 统,比如管道信息,一些标志性雕塑,或者植被信息;③随着系统 的扩展,原有数据表可能不能满足日益增多的该类建筑所有信息的 存储,所以需要建立新的数据表扩展其属性;④对于一些简单的建 筑或者物体比如一棵树一个石凳,存储的信息明显和一座教学楼不 同,需要按照类型的不同,设计多个不同的数据表分别存储不同类 型的物体信息。  2 数据库设计中的扩展性需求 在应用中,类似这样的数据存储结构改变以及应用扩展的情况还有很多。如果用传统数据库设计模型,那么在设计初始阶段就必须 考虑到应用未来所有的改变及扩展,尽可能使表格的信息详尽,否 则当应用发生改变或扩展时,必须重新设计表结构,并对应用程序 中相关片段全部重写。如果同一变化出现在不同部位,由于不同的 原因,出现在不同的阶段,那么现有表结构不能满足要求;如果需 要增加过多的对象属性信息,那么表结构将必须修改。但是,如果 我们将数据对象化,并采用定义其属性和值的设计模型,上述问题 将迎刃而解。 作为开发人员,总会面对业务方提出的数据结构变化的需求,字 段的增加,数据表的修改总是随时可能根据需求发生。因为业务在 发展,或者需求就有可能需要一个完全动态的可扩展的数据库设计 方案,但是以目前的关系数据库实现这种动态扩展的特性,在系统 一定规模之后所付出的代价是昂贵的,也是不安全的。为了这种动 态扩展性,有这样三种常用的方法: 第一种方法:预留字段。既然很难加字段,就预先留好一些备用, 但是这样没那么灵活,有一定的实用性,不过因为预先留的字段一 般是没什么含义的,需要有额外的信息来描述,这种方法在扩展性 要求不是太强的地方可以不影响性能的前提下提供一定的扩展性。  第二种方法:使用复杂字段。在某些特殊要求下还是很有用的, 比如,某个业务实体(某张表),有一些标记位,都是true/false 的标记,可以理解为这个实体的一些属性,经常需要添加,这种情 况,在生产中我们使用过用一个数字,按位来表示这些标记的,比 如第三位表示他是不是付费用户,第四位表示他是合作方来的用户 还是自己注册的,等等。还有一种情况,需要更复杂的属性列表, 属性个数经常变,可以考虑使用一个文本字段,保存结构化的数据, 然后在使用时需要动态解析该字段。使用复杂字段的好处就在于比 较灵活,同一类型的数据可以放在一起(实际上相当于把应该是一 个关联表的数据放一个字段里了),操作的性能也不错,但是复杂 字段里面的内容查询比较困难,程序实现和修改起来也更复杂。  第三种方法:将数据的存储和索引(需要查询的内容)分开存放, 相当于主表就一个key value,把需要查询的字段放到其他单独 的表里去,这种方法对数据的实时查询的效率有一定的影响,但是 针对实时性的要求并不是所有系统都有要求的,在有些地方是很好 的解决方案。 3 基于键值对的对象属性可扩展模型 本文的基于键值对的对象属性可扩展模型就是结合上面提到的第 三种方法,使用数据表分别单独存储对象分类和分类的属性信息的 定义,并且实现了分类属性之间的树形的可扩展结构,对象信息的 存储用过一张表用来存储所有对象公有的可快速查询的数据信息, 另一张属性值表存储所有的对象的特有属性的key value。通过 这样的设计可以在不修改原数据表结构的前提下,实现所有存储对 象的动态可扩展,如图1 所示。 图1 对象属性信息结构模型  由图1 所示,表t_class 保存对象的分类信息如建筑,管道,雕 塑等;t_attibute_def 保存的是每个分类所对应对象的属性信息如 建筑的高度,施工单位等;t_entity 保存的是分类对象的公共信息, 是具体的物体如1 号教学楼;t_entity_content 保存每个具体的对 象所有属性的信息值;t?倕_file 表用来保存一些扩展的文件信息。 通过这样一个模型我们可以在需要是动态定义一个大的分类并且 可以动态的设置每个已有分类拥有哪些属性,所有对象的的具体内 容分别存储在对象公共信息表,对象属性信息表和文件信息表中。  在实际应用中,还涉及到属性冗余,查询,修改等方面的问题, 通过在校园管理系统中应用的结果来看,这些都可以实现,并能获得较好的效率。  4 结束语  综上所述,传统的数据库设计适用于简单的、业务数据固定或变 化极少的集中式数据库应用。在应用范围更广需要更灵活数据结构 的系统中,显然面向对象属性的扩展设计更加适宜。  随着网络环境的日益普及,新的应用呈现出来的开放性与分布性 特点,web 应用系统也由简单的数据库系统逐具有了更灵活多变应 用环境,在这种环境下,能够满足扩展和动态改变的需求,将有更 广阔的应用前景。
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:动态可扩展的数据库设计.docx
    链接地址:https://www.zixin.com.cn/doc/8900377.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork