想象一下,您正在開發一個Web應用程序,其中不同的「實體」(具有不同的屬性)發送消息並與來自其他實體的公共消息進行交互。這些實體可能有幾種類型:只是用戶,私人公司,學院......數據庫設計。繼承
設計數據庫我可以想到兩個選項,我認爲會工作,但我不知道哪一個更好,或者如果有是沒有出現在我身上的其他更好的選擇。
選項1:在不同的表中分隔不同的實體。在這種情況下,存儲消息的表應至少有兩列來標識發佈它的實體,id和type。
選項2:使所有實體從父類繼承。因此,存儲消息的表只需要一個指向發佈它的實體的ID的外鍵。這個選項看起來好多了,但問題是我找不到所有實體的通用屬性,所以父表只會有一個id。
您認爲哪個選項更好?有沒有更好的選擇?
PS:對於選項2,是否有必要讓子表具有自己的id或將外鍵定義爲主鍵就足夠了?
謝謝。
感謝您的回答。選項2對我來說似乎也更好 – DandyCC