我想知道在Postgre中设计这种关系是否有更好的方法:
基本上,我有一些实体是EntityA
,EntityB
或EntityC
。我将在实体和其他东西之间有很多其他关系(在这种情况下比如Comment
)所以我有这个通用Entity
来定义它链接到的Entity
类型。 / p>
例如,如果我们将EntityA链接到注释,则Entity条目将如下所示:
type: EntityA
entity_a_id: x
entity_b_id: null
entity_c_id: null
有没有更好的方法来设计它?
答案 0 :(得分:1)
答案 1 :(得分:0)
实体有多么不同?
为什么不
CREATE TABLE Entity
(
EntityId int,
EntityType enum(A, B, C),
FieldValue varchar(255)
)
或者如果字段值明显不同并且在单个列中没有意义,
CREATE TABLE Entity
(
EntityId int,
EntityType enum(A, B, C),
FieldValueX varchar(255),
FieldValueY varchar(255),
FieldValueZ varchar(255)
)