Database design 语义与逻辑数据模型

Database design 语义与逻辑数据模型,database-design,data-modeling,Database Design,Data Modeling,不设计语义数据模型而直接使用逻辑模型是否有用?我的意思是,文献大多建议首先设计一个语义模型 但我认为大多数时候,它只是做了两倍的工作 这一切都取决于数据模型。如果你正在为一个技术问题做一个小的设计,我倾向于同意它可以立即完成 如果您正在设计一个大型系统,并且需要与用户进行大量交互,并且/或者目标系统尚未定义(您甚至可能最终使用nosql系统),那么首先对数据(结构)进行分析,然后将结果转换为适合目标系统是有意义的 这种方法的一些优点是 在知道要存储的内容后,可以选择目标系统 支持多个数据库系统

不设计语义数据模型而直接使用逻辑模型是否有用?我的意思是,文献大多建议首先设计一个语义模型


但我认为大多数时候,它只是做了两倍的工作

这一切都取决于数据模型。如果你正在为一个技术问题做一个小的设计,我倾向于同意它可以立即完成

如果您正在设计一个大型系统,并且需要与用户进行大量交互,并且/或者目标系统尚未定义(您甚至可能最终使用nosql系统),那么首先对数据(结构)进行分析,然后将结果转换为适合目标系统是有意义的

这种方法的一些优点是

  • 在知道要存储的内容后,可以选择目标系统
  • 支持多个数据库系统将相对容易
  • 您可以对数据结构进行非常清晰的描述,以便用户更好地理解(这将提高设计质量)
  • 您可以稍后做出设计决策,这使得测试不同方法变得更容易(因为您仍然知道数据的真实结构)
  • 如果您想将其中的几个组合起来,那么语义数据模型非常有用

如果我再考虑一下,我会发现更多的优势,但我认为上面提到的优势已经非常强大。

这一切都取决于数据模型。如果你正在为一个技术问题做一个小的设计,我倾向于同意它可以立即完成

如果您正在设计一个大型系统,并且需要与用户进行大量交互,并且/或者目标系统尚未定义(您甚至可能最终使用nosql系统),那么首先对数据(结构)进行分析,然后将结果转换为适合目标系统是有意义的

这种方法的一些优点是

  • 在知道要存储的内容后,可以选择目标系统
  • 支持多个数据库系统将相对容易
  • 您可以对数据结构进行非常清晰的描述,以便用户更好地理解(这将提高设计质量)
  • 您可以稍后做出设计决策,这使得测试不同方法变得更容易(因为您仍然知道数据的真实结构)
  • 如果您想将其中的几个组合起来,那么语义数据模型非常有用

如果我再考虑一下,我会发现更多的优势,但我认为上面提到的优势已经非常强大。

这一切都取决于数据模型。如果你正在为一个技术问题做一个小的设计,我倾向于同意它可以立即完成

如果您正在设计一个大型系统,并且需要与用户进行大量交互,并且/或者目标系统尚未定义(您甚至可能最终使用nosql系统),那么首先对数据(结构)进行分析,然后将结果转换为适合目标系统是有意义的

这种方法的一些优点是

  • 在知道要存储的内容后,可以选择目标系统
  • 支持多个数据库系统将相对容易
  • 您可以对数据结构进行非常清晰的描述,以便用户更好地理解(这将提高设计质量)
  • 您可以稍后做出设计决策,这使得测试不同方法变得更容易(因为您仍然知道数据的真实结构)
  • 如果您想将其中的几个组合起来,那么语义数据模型非常有用

如果我再考虑一下,我会发现更多的优势,但我认为上面提到的优势已经非常强大。

这一切都取决于数据模型。如果你正在为一个技术问题做一个小的设计,我倾向于同意它可以立即完成

如果您正在设计一个大型系统,并且需要与用户进行大量交互,并且/或者目标系统尚未定义(您甚至可能最终使用nosql系统),那么首先对数据(结构)进行分析,然后将结果转换为适合目标系统是有意义的

这种方法的一些优点是

  • 在知道要存储的内容后,可以选择目标系统
  • 支持多个数据库系统将相对容易
  • 您可以对数据结构进行非常清晰的描述,以便用户更好地理解(这将提高设计质量)
  • 您可以稍后做出设计决策,这使得测试不同方法变得更容易(因为您仍然知道数据的真实结构)
  • 如果您想将其中的几个组合起来,那么语义数据模型非常有用

如果我想得久一点,我会发现更多的优势,但我认为上面提到的已经非常强大。

许多人所说的“逻辑”模型通常有很多语义建模内容。它不是一个黑白的划分,更像是一个不同类型模型的连续体。一端是语义:对业务领域的描述。频谱的另一端是“物理”:一种技术实现。“逻辑”介于两者之间,但具体位置在很大程度上取决于建模者及其意图


很有可能直接从语义模型过渡到物理实现,而不需要任何中间环节。(例如,参见Terry Halpin的“RMap”程序)。在没有某种语义模型的情况下工作可能不太可行。您将如何记录需求,以及如何验证所实现的内容是该需求的准确表示?

许多人称之为“逻辑”的内容