【问题标题】:How to store custom entity properties in a relational database如何在关系数据库中存储自定义实体属性
【发布时间】:2015-07-11 14:51:00
【问题描述】:

我正在为我正在开发的应用程序设计一个数据库。

我有两个表,其中实体可以具有自定义应用程序属性,这些属性将定义如何使用每个实体的数据。

每个实体可以有零到多个属性,我想知道以关系方式构造此类数据的最佳方法是什么。我应该有一个表,每个表和键/值列都有外键,还是有更好的方法?

【问题讨论】:

  • 通常存储在同一张表中的实体具有相同的属性

标签: sql database database-design relational-database


【解决方案1】:

您说的是“实体属性值”表。

实体表:

Ent1 (Eid, name, desc, etc...)
Ent2 (Eid, name, desc, etc...)

属性(EAV)表:

Ent1Props (id, Eid, att, value)
Ent2Props (id, Eid, att, value)

您可以将两个 EAV 表合并为一个,从而创建一个 MUCK(大规模统一代码密钥)表。但不要这样做,因为从长远来看它有一些真正的缺点。几乎每个人都曾尝试过,因为一开始似乎很容易,但它变成了一个怪物。

Key value pairs in relational database

【讨论】:

    猜你喜欢
    • 2013-06-20
    • 2015-07-09
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多