0

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

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

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

这是一个好方法吗?

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

4

3 回答 3

3

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

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

于 2009-05-19T19:19:04.290 回答
1

如果我对您的理解正确,我会使用交叉表或联结表而不是您所描述的。

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

于 2009-05-19T19:16:11.597 回答
0

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

于 2009-05-19T20:11:55.867 回答