通用数据模型设计模式的任何资源?

Nub*_*uby 5 database-design model data-modeling

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

Student 有很多 Enrollments

Course 有很多 Sections

Sections 有很多 Enrollments

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

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

Nei*_*gan 5

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

大卫·海

伦·西尔弗斯顿

Michael Blaha 的数据建模模式。这个模型有一些有趣的时间模型、图模型和树模型。

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

它们的评价都很高,我只阅读了一本,而且都非常好。其中一些可在safaribooksonline找到

此外,OASIS 的通用业务语言模式


has*_*own 2

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

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

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

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

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

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

希望这可以帮助。