0
假設我有三種類型的數據:A
's,B
's和C
's。一個看起來是這樣的:在PostgreSQL中組織不同類型的提要的最佳方式是什麼?
{
"id": "4ccdfb68-ce18-4361-bd90-e61f1fcf8d2b",
"created_at": "2016-11-27 02:24:12.889637+00",
"author": "7d16389b-2d66-4c59-bb6a-87992a60d112",
"foo": "bar",
"baz": "zab",
"cat": "dog"
}
B相類似這樣的:
{
"id": "4ccdfb68-ce18-4361-bd90-e61f1fcf8d2b",
"created_at": "2016-11-27 02:24:12.889637+00",
"author": "7d16389b-2d66-4c59-bb6a-87992a60d112",
"foo": "bar",
"baz": "zab",
"nak": "kan"
}
與C看起來是這樣的:
{
"id": "4ccdfb68-ce18-4361-bd90-e61f1fcf8d2b",
"created_at": "2016-11-27 02:24:12.889637+00",
"author": "7d16389b-2d66-4c59-bb6a-87992a60d112",
"baz": "zab",
"cat": "dog"
}
有在各自的領域(小鯊魚)的變化,但他們有一些一致的領域(可以說是「元數據」)。其中每個代表他們自己的數據類型 - B不是具有不同字段的A。然而,在以後我需要到最近的三者組合成一個「喂」:
[{
"id": "4ccdfb68-ce18-4361-bd90-e61f1fcf8d2b",
"type": "A",
},
{
"id": "4ccdfb68-ce18-4361-bd90-e61f1fcf8d2b",
"type": "B",
},
{
"id": "4ccdfb68-ce18-4361-bd90-e61f1fcf8d2b",
"type": "C",
}]
我應該建立代表所有三個與他們共享領域和JSONB場一個表,還是應該有他們自己的表,並對他們做聯合查詢?爲了清楚起見,Feed只會共享字段。我也需要這種向前兼容 - 我知道一個事實,未來類型將有一個ID,一個created_at字段和一個作者,但除此之外,這是公平的遊戲。
謝謝!隨意詢問詳情。
編輯:啊,是的,我忘了提,我也想(在未來的某個點)就一個字段索引(如果行有它),這樣我可以搜索所有行「富「==」欄「。如果一行沒有foo,那不應該破壞這個。
我忘了包括一個'type'柱。它存在:) – AniSkywalker