另一个表的条目的数据库表?
Posted
技术标签:
【中文标题】另一个表的条目的数据库表?【英文标题】:Database tables for entries of another table? 【发布时间】:2009-05-19 19:07:56 【问题描述】:我正在设计我的 Java 应用程序的新版本(使用嵌入式 H2 数据库),以重新设计我处理数据的方式。这是我的计划:
条目表- 条目 ID 条目名称 属性表- 属性 ID 属性名称 (个人财产)价值表- 值 ID 条目 ID (值列...) (个别条目)值表- 属性名称 (个人财产)价值ID每个条目可以有多个属性(包括相同类型的多个属性)。每个属性都有自己的存储值的方式。我需要查找为给定条目定义的所有属性,可能还有每个给定属性的所有条目。
这是一个好方法吗?
编辑:我不确定我是否解释得很好......
【问题讨论】:
【参考方案1】:在我看来,这是一种非常糟糕的数据建模方式,但这是一种非常象牙塔式的看待情况的方式,因为我不必在实践中使用这种模型。顺便说一句,它被称为“实体-属性-值”方法。我不喜欢它的原因是它非常不像模式,因为大多数 SQL 功能必须以某种方式复制。
肯定有时间和地点(例如,如果您打算对许多具有不同模型的对象进行建模)或具有经常更改的模式的对象。但我个人认为这很糟糕。
【讨论】:
是的,我很警惕使用它意味着什么。谢谢你给我起个名字。【参考方案2】:如果我理解正确,我会使用交集或junction 表而不是您所描述的。
因此,您可以创建一个查询来获取每个 Entery 的所有属性,或每个属性的所有 Enteries。
【讨论】:
【参考方案3】:我同意 Unknown Google。这也称为Inner-platform effect。
【讨论】:
以上是关于另一个表的条目的数据库表?的主要内容,如果未能解决你的问题,请参考以下文章
从表中选择最新的带时间戳的值,该表对于一个列 id 有多个条目,对于每个唯一的列 id 和来自另一个表的数据