我目前正在爲更大的應用程序構建一個論壇組件,我正在考慮對數據庫模式某些部分採用不同的方法。具體而言,我正在考慮在一張表格中表示主題和帖子。雖然我將主題和帖子視爲幾乎相同,但我感到有些擔心,因爲這可能會使事情在未來變得更加靈活。代表一個表中的主題和表格與兩個表格?
當查詢特定論壇的主題時,將顯示標題和第一篇文章以及一些用戶信息(基本上是名稱和頭像)。在這個應用程序中,除了視圖和回覆之外,還有各種主題和帖子使用的屬性。也許是標題和forum_id(forum_id,因爲如果主題更改爲另一個論壇而不是更改主題關係中的forum_id屬性,那麼這意味着可能需要影響數百個記錄)。
的表格看起來像什麼,我有如下位置:
TOPIC POST
topic_id poster_id
forum_id topic_id
poster_id content
title upvote
views dnvote
replies closed
post_id deleted
last_edited
last_editor
parent_id
content
post_id
這樣做,這樣,使用表繼承,生成主題中的職位將需要4臺通過標題,POST,用戶加入和TOPIC_TYPE。另一方面,如果我決定採用單表方式,如果topic_type是普通帖子,我應該簡單地將視圖,回覆,標題和forum_id屬性留爲空嗎? (topic_type引用顯示的主題類型的適當圖標,並將用於統計等)