2012-11-19 66 views
0

我正在爲我的客戶創建一個通訊傳送服務,它需要管理郵件列表,用戶訂閱和消息。通訊的數據庫設計

我的疑問是如何存儲每條消息的收件人:什麼是創建users_messages表(多對多)的pro/cons vs將每個消息的所有收件人存儲在消息表中的單個字段中?

當然,第一個選項有更好的規範化,但數據庫應該在每條消息上寫入一千或更多行。你推薦任何其他解決方案嗎?

我打算使用MySQL作爲數據庫引擎。

謝謝

回答

1

絕對規範化的數據。否則,如果您將所有收件人都放在一個字段中,那麼您將如何加入成員表以獲取成員信息?無論記錄的數量如何,在相關字段中索引您的表並且查詢應該運行得相對較快。

另外,如果您要跟蹤數千個收件人的電子郵件,則可能需要爲分發列表創建父表和子表。

+0

謝謝,我要正常化,因爲我還需要存儲誰已打開郵件。 –

+0

父母和孩子表格的含義是什麼? –

+0

像標題和細節表一樣。分發列表的標題將是標識,說明等。詳細信息將是其中所有收件人的分發列表ID和收件人ID。 – Tom