資料庫表關係的子類型設計
設計資料庫模式時,一個關鍵的考慮因素是確定是否使用子類型。在物件導向程式設計的上下文中,子類型是從超類型或父類別繼承屬性和方法的派生類別。在資料庫中,這個概念可以應用在表關係上。
在給定的場景中,資料庫有三個主要表:BOOKS、ARTICLES 和 註解。每本書或文章可以有多個註釋,最初的設計提出了一個 NOTES 表,其中包含一個名為 note_type 的鑑別器列來區分書籍註釋和文章註釋。然而,這種方法可能會導致資料完整性挑戰和冗餘。
問題中建議的另一種方法是使用五個表格:
註
書本註解文章_註解這篇設計將書籍和文章註釋表,從而消除了對鑑別器列的需要。雖然這種方法可確保資料完整性,但它也會引入重複,因為書籍和文章都會複製
NOTES表。 考慮另一種方法:使用帶有超類型表的超類型/子類型設計稱為
PUBLICATION以上是對於資料庫關係,我應該使用子類型還是帶有鑑別器列的單一表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!