Craft数据库设计教程系列——数据库设计流程.docxVIP

Craft数据库设计教程系列——数据库设计流程.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、流程概括数据库设计大致可分为5个阶段:规划阶段包括论证必要性、可行性、根据工程情况进行数据库选型。需求阶段调研业务,明确需求,撰写文档。概念阶段设计数据流图、数据字典逻辑阶段设计ER图,从整体的角度把握数据库模型物理阶段根据ER图 + 数据字典,设计物理模型图开发阶段根据物理模型生成基础代码,根据默认的功能验证模型。开发过程中,根据业务变更,反复完善模型。二、规划阶段论证必要性是否需要使用数据库做持久化处理?是否使用关系数据库?比如对于工作流引擎,使用xml来持久化流程的设计,反而更加灵活。另外,在处理大数据量,高并发的时候,用NoSql会更加理想。所以,开展一个工程之前,需要论证,使用什么方式的持久化技术更加合适。可行性看工程的部署方式、运行环境是否支持关系数据库。数据库选型根据工程规模、历史原因、和其它系统集成需求、经费等,考虑选择那种数据库产品。三、需求阶段 通过充分调查现实世界的业务对象,明确用户的各种需求,确定系统的各项功能。 需求阶段不单止要考虑系统当前的业务需求,还要充分考虑到以后系统可能的扩充和改变。四、概念结构设计阶段 这个阶段主要是完成数据字典和数据流图,这是从业务的角度挖掘系统涉及的数据流转方式、实体和属性成分说明。数据字典 数据字典最重要的作用是作为分析阶段的工具。 任何字典最重要的用途都是供人查询对不了解的条目的解释。 在结构化分析中,数据字典的作用是给数据流图上每个成分加以定义和说明。 换句话说,数据流图上所有的成分的定义和解释的文字集合就是数据字典,而且在数据字典中建立的一组严密一致的定义很有助于改进分析员和用户的通信。?数据流图?数据流是一组数据。在数据流图中数据流用带箭头的线表示,在其线旁标注数据流名。 在数据流图中应该描绘所有可能的数据流向,而不应该描绘出现某个数据流的条件。?数据流图的加工(处理)方式 在数据流图中加工用圆圈表示,在圆圈内写上加工名。一个处理框可以代表一系列程序、单个程序或者程序的一个模块。五、逻辑结构设计阶段?这个阶段最重要的任务就是根据数据流图的分析设计出E-R图。?E=Entity?R=Relationship?ER图即实体关联图??笔者的使用习惯是在设计E-R图时,注重整体考虑,主要分析系统涉及哪些实体、实体负责的业务逻辑,实体之间的关系(如1对1,1对多,多对多等)是怎么处理的。而不会在 E-R图中描画实体的具体属性。因为两者关注的粒度是完全不同的。 对于一些核心的关键属性,如果有利于说明实体业务和关系的,可以加入,但是注意一定要严格控制。?即类似这样的E-R图(在网络收集),笔者是不推荐的:? 因为这个图内容太多,虽然通过矩形、菱形和圆形区分各种元素,但是还是会被属性(圆形)干扰了注意力。笔者认为,概念阶段,主要关注点是实体和关联,属性在数据字典环节已经做了初步的分析,这也足够了。 所以,笔者推荐的是类似这样的E-R图:??这个图主要关注的就是实体和关联,以及实体和外部模块的联系情况。?至于属性,则只列出一些关键的属性,如果没有这类关键属性,则不列出属性也是合适的。六、物理结构设计阶段 这个阶段就是基于E-R图 + 数据字典 + 数据流图进行数据库设计,由于设计E-R图已经主要参考了数据流图,所以这个阶段主要参考前面两项。 通过E-R图中的实体,确定有哪些数据表,通过关联确定数据表之间的外键关系(根据设计习惯和工程情况,有些实体关联并不一定通过外键处理,不同模块之间的表可以通过业务键进行业务上的关联,而不是物理结构上的外键关联。 通过数据字典确定数据表的字段和字段的数据类型、域和业务描述(字段备注Comment)等。? 笔者一般使用Powerdesigner完成物理模型的设计。?七、开发、迭代和优化阶段 数据表设计好后,如果企业的软件开发架构有代码生成组件,则可以基于这些数据表生成基础代码,生成的基础代码一般有基础的CRUD功能,通过这些功能初步验证一下数据表,没有问题就可以往下开发了。 然后在开发过程中,如果涉及数据表的更改,则通过代码生成组件局部的更新相关的配置文件(如ORM的映射文件和映射类)。 在运营过程中,如果数据量、访问量增大,则存在在数据库层面的优化,比如冗余数据、索引、表分割、维度方式的数据表设计等。? 数据库物理模型的设计一般很难一步到位,在开发和维护阶段均存在调整的可能性,调整有微调,也有大调整。微调可以是增加、修改或减少一些字段;大调整,则可能业务发生很大的变化,或者原先的分析阶段,在需求、数据流图上理解有误,导致数据表的重新设计。大调整对整个工程影响很大,可能会导致工程因此失败。 所以我们在分析和设计阶段务必准确的理解业务,从根本上保证方向的准确。并且对系统的发展有一定的扩充预留,为以后的调整、优化做些预留,避免大幅调整的出现。? /

文档评论(0)

phl805 + 关注
实名认证
文档贡献者

建筑从业资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年05月12日上传了建筑从业资格证

1亿VIP精品文档

相关文档