我正在围绕重新设计处理数据的方式设计 Java 应用程序的新版本(使用嵌入式 H2 数据库)。我的计划是这样的:

  • 条目表-
    • 条目 ID
    • 参赛作品名称
  • 属性表-
    • 物业编号
    • 物业名称
  • (个人财产)价值表-
    • 值 ID
    • 条目 ID
    • (值列...)
  • (个人参赛)数值表-
    • 物业名称
    • (个人财产)值 ID

每个条目可以有多个属性(包括同一类型的多个属性)。每个属性都有自己的存储其值的方式。我需要查找为给定条目定义的所有属性,也许还需要查找每个给定属性的所有条目。

这是一个好方法吗?

编辑: 我不确定我解释得很好......

有帮助吗?

解决方案

在我看来,这是一种非常糟糕的数据建模方式,但这是一种非常象牙塔的看待情况的方式,因为我没有在实践中使用过这个模型。顺便说一下,它被称为“实体-属性-值”方法。我不喜欢它的原因是它非常不像模式,因为大多数 SQL 功能都必须以某种方式复制。

它肯定有一个时间和地点(例如,如果您打算对具有不同模型的许多对象进行建模)或者具有经常更改的模式。但我个人认为这很可怕。

其他提示

如果我理解正确的话,我会使用交集或 交界处 表而不是您所描述的内容。

因此,您可以创建一个查询来获取每个 Entery 的所有属性,或每个 Property 的所有 Enteries。

我同意未知谷歌的观点。这也称为 平台内效应.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top