2009-08-10 43 views
5

我正在構建一個像Facebook一樣的小型消息系統。唯一的問題是我想知道什麼是最好的方式來繼續它。數據庫設計在這種情況下是精確的。需要像在Facebook中一樣創建消息系統 - 任何數據庫設計的想法

就像所有的用戶將有一個收件箱和發送項目文件夾。從邏輯上講,在一個人發送文件夾中的東西實際上是在別人的收件箱中。然而,我不認爲用一張表來保存這些消息會有效,因爲可以說某人從他發送的盒子中刪除了一條消息,它將會消失,因爲接收者和發送者都指的是同一張表。如何實現這...

回答

9

有時,一個模式是長解釋更好:

users-message-db-design

採用這種設計,如果有人刪除一個消息,它只是刪除行中的「users_has_messages 「表,而不是消息本身。

當然,我只是在這個例子中投入了一些領域,您將需要更多的項目。

+2

你用什麼來製作該圖? – Unknown 2009-08-10 06:39:45

+3

我也想知道。 – Maciek 2009-08-10 06:40:30

+1

它是MySQL Workbench,一款可視化設計MySQL數據庫的奇妙工具。 http://dev.mysql.com/downloads/workbench/ – tachfine 2009-08-10 06:57:23