2

我只是想知道哪一個你認爲這是最好的解決方案。MySQL數據庫 - 用戶之間共享內容表

我有一個可以共享項目的應用程序。然而,這些項目可以是不同的類型:照片,帖子,甚至是「帖子組」,等等,所以有一個名爲'帖子'的表格,另一個名爲'媒體'等。

用戶將只能看到與他們共享的項目以及他們創建的項目。那麼,是什麼你覺得這是更好?:

  • 建立一個叫做 'shared_items' 中,我把的Item_ID USER_ID ITEM_TYPE表。

  • 使一個表中的每個類型的物品(例如: shared_posts shared_media等)以上,具有相同的結構說明(但不 ITEM_TYPE)。

更多的解決方案被接受,當然,但這些都是要來我的腦海裏,現在唯一的問題。

如果你需要一個數據庫結構示例只是告訴,但我認爲這不是必要的。

謝謝你的時間!

回答

2

這取決於你將如何查詢你的數據和頻率。如果您需要在一個查詢中獲取所有共享項目,則單個表格將更可取。它會擺脫你表連接。至於數據庫規範化,我會說分開保存你的蒼蠅,單獨的湯,去共享媒體,共享帖子,共享任何表。

+0

我會考慮它!感謝您的時間和您的答案!但是,您不認爲在「內容類型」添加的情況下可能會更容易維護一張表嗎?如果我添加一個新類型,我只需要在共享時編寫新類型,而不是創建新表格並創建新關係(只是一個想法)。你怎麼看? – Unapedra

+0

多久添加一次新類型?一天一次?一個星期一次?一年一次?永遠...... :) – icebreaker

+1

是的......你說得對!事實是,這是一個仍在建設中的數據庫結構,所以我正是這樣想的。感謝您的回答! – Unapedra