【问题标题】:Before starting the Database model在启动数据库模型之前
【发布时间】:2016-01-11 19:36:28
【问题描述】:

在开始数据库模型图之前你做了什么?我的意思是你如何形成需求、规范等。用例是一回事,但又是什么?一些最佳实践或经验法则?作为一个自学者,我想看看它在专业人士手中的表现如何?

【问题讨论】:

  • 在现实世界 o.0 中真的有人使用用例图和所有这些废话吗?这只是在学校告诉你的...
  • 是的,我在学校里听说过定义用例图并使用 Prosa 或其他东西或 UML 并绘制数据模型,甚至在您考虑物理实现数据库之前。

标签: database data-modeling


【解决方案1】:

确保您有一份完整的客户要求清单。尽你最大的努力去完全理解这些要求,如果你这样做了,这对你的设计很有帮助。如果您正在定义需求,则可能会更容易,因为您已经知道需要做什么。彻底把握自己的目标是最重要的部分。

如果您的数据库中有一个明显的部分是最重要的(例如在线应用系统中的应用程序),我通常会从那里开始,一次解决一个。

就我个人而言,我喜欢对我认为数据库的外观画出粗略的图片(对您来说有意义的,不必是官方的 ERD),并将其修改为更精细的细节水平。

【讨论】:

    【解决方案2】:

    不要只依赖书面要求。没有要求的完整列表这样的东西。与利益相关者交谈,提出问题并使用这些访谈的结果来确定需要对哪些属性进行建模、如何使用它们并确定业务关键。然后通常需要进行一些数据分析和调查,以确定正确的数据类型和其他方面。

    有可能预先获得一个良好的数据模型,但如果您做不到,请不要担心。数据建模通常应该是一个迭代的、敏捷的过程,随着项目的发展以合理的大小步骤完成(尽管在某些情况下,比如数据仓库设计,敏捷方法可能更难应用)。

    【讨论】:

      【解决方案3】:

      根据您的客户,拥有两个数据模型和两个图表可能是个好主意。一种模型和图表用于数据分析。另一个用于数据库设计。

      通过使用 ER(实体-关系)模型和图表进行数据分析以及使用 RDM(关系数据模型)模型和图表来反映数据库设计,我取得了很好的结果。

      ER 图有助于将迄今为止发现的需求传达给客户,并确保它们是完整和正确的。即使客户没有数据库理论背景,ER 图也很容易理解。正如其他人所回应的那样,这是一个迭代过程,而不是一次瀑布。

      RDM 模型和图表可用于反映逻辑数据库设计决策,例如规范化数据或执行其他操作的决策。从 ER 模型派生 RDM 模型很容易,尽管您必须加入一些有意从 ER 图中省略的设计决策。

      反过来,从 RDM 图构建表创建脚本也很​​容易。您将不得不添加一些物理特征,如索引,以获得良好的性能而不会扯掉头发。

      【讨论】:

        猜你喜欢
        • 2012-09-08
        • 1970-01-01
        • 2019-12-23
        • 1970-01-01
        • 1970-01-01
        • 2017-04-18
        • 1970-01-01
        • 2020-03-21
        • 2017-11-01
        相关资源
        最近更新 更多