我有3種數據類型與 - a)公共列b)層次結構 - 並想知道如何設計數據庫。類表繼承與層次結構
比方說,在頂層,有一個討論。在那裏,有DiscussionMessages,文件和評論。它們都有共同的字段(UserID,CreateDate,Text),但也有唯一的列(FileName,ContentType等)。註釋可以與任何類型(甚至其他註釋)相關聯,並且與文件相同。
在看了一些關於這裏的問題後,我想我想要Class Table Inheritance--一個基本表(DiscussionParts)來存儲公共元素,然後是每個數據類型的特定表。
DiscussionParts:PARTID,DiscussionID,PARENTID,PartType(M,F,C),用戶ID,文本,CREATEDATE
消息:郵件ID,PARTID,標題
文件 :FileID,PartID,FileName,ContentType
評論:CommentID,PartID,Source
ParentID列用於跟蹤層次結構。 DiscussionID使用戶可以在一個簡單的查詢中搜索他/她的所有討論文本。
這是帶有層次結構的類表繼承的推薦設計嗎?