2017-12-27 430 views
0

我有兩個實體,一個父母和另一個孩子。我有一個父母(數量,意見,評論)的統計數據,也有父母的孩子(數量,意見,評論)的統計數據。父母和孩子分享相同的領域,但他們有一對多的關係(一個父母有很多孩子)。如何與共享相同字段的實體建立數據庫關係

我很困惑如何模擬這種情況。

我不確定wheather會更有效率創建兩個表並使用外鍵(表中將幾乎具有相同的字段,除了孩子的表將具有parentId)。

其他情況可以將所有數據(父母和孩子)放在同一個表中,並嘗試建立自己的關係。

以下哪個選項更高效?

我打開考慮別人的建議。

請注意,此表格將存儲數百萬條記錄,稍後會進行選擇。

+0

請顯示一些設計。 (無論如何,你的描述太模糊了。)請閱讀並在[mcve]上採取行動。 「高效」意味着什麼 - 請谷歌關於它和同義詞的問題,包括我對「最好」的評論。 – philipxy

回答

2

根據你的解釋,

表幾乎有相同的領域,不同的是孩子的表 將有parentId的

,最好使用一元關係,把parentchild一個表和用於父母的nullparentId

但是有時我們可以提取一些屬性到另一個表。
如果對某些字段的操作太多(例如對某些字段有如此多的更新),最好在其他表中提取它們。

在這種情況下(如果您對這些字段有很多操作),可以將count,0 views,comments放在其他表中,並在主表之間建立一對一的關係。

相關問題