【问题标题】:Any resources for common data model design patterns?常见数据模型设计模式的任何资源?
【发布时间】:2014-08-15 03:39:36
【问题描述】:

我正在寻找展示数据模型的常见设计模式或最佳实践的资源。例如,一个[非常简化的]课程模型可能有:

Student 有很多Enrollments

Course 有很多Sections

Sections 有很多Enrollments

似乎有很多方法可以建立数据模型和关系,有些方法比其他方法更明显。通常,我发现自己以一种方式思考它,然后很久以后才发现我错过了一个怪癖或并发症。

对于更复杂的系统,如 ERP、预订、电子商务等,必须有一些标准和最佳实践,但我在任何地方都找不到。欢迎任何资源建议。我用谷歌搜索了很多,但我没有看到任何有意义的东西。

【问题讨论】:

    标签: database-design model data-modeling


    【解决方案1】:

    这是我对 DBA 的回答的副本。

    大卫·海的

    伦西尔弗斯顿的

    Michael Blaha 的 Patterns of Data Modeling。这个有一些有趣的时间、图形和树模型。

    Martin Fowler 的Analysis Patterns。这个略过其他一些模式,但对会计进行了可靠的处理。

    它们的评价都很好,除了一本我都读过,它们都非常好。其中一些可在safaribooksonline 上找到。

    另外,OASIS 的Universal Business Languageschemas

    【讨论】:

      【解决方案2】:

      数据建模可以通过多种不同的方式完成,您选择的建模技术将决定您希望遵循的最佳实践。两种常见的建模技术是 -

      • 实体关系建模,以及
      • 维度数据建模

      您上面提到的场景可以很好地建模为 ER 模型或 Dimensional 模型。但是当您考虑最佳实践时,归结为您是否了解这些建模技术背后的原则。

      例如,只要您以标准化(3NF 等)形式对这些数据进行建模,并且能够避免任何更新/删除异常、减少数据冗余等,您就可以非常确定您确实遵循了ER 建模所需的最佳实践。

      同样,如果您在维度建模中对其进行了建模,那么您需要确保在数据提取速度与速度或数据插入/更新等之间保持适当的平衡。

      关于设计模式的一些资源,你可以看看以下几篇文章:

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-11-23
        • 1970-01-01
        • 2020-04-17
        • 1970-01-01
        • 2017-06-29
        相关资源
        最近更新 更多