2012-07-27 18 views
0

我有這種情況帶日期的事情如何管理MySQL表關係

用戶可以每年有很多的配置文件,我也想保持歷史以及

我有如下表

  1. 用戶
  2. 簡介

現在我很困惑,我應該讓小號一年的獨立表。

我很困惑,每年都會做出不同的配置文件。

我的意思是,當新的一年來的話,我會想將配置文件複製到新的配置文件,使他們可以編輯新的配置文件,但前一年的個人資料將保持不可編輯

+0

我的網站也保存了用戶及其行爲的歷史記錄。我用一個事實表來解決這個問題:http://en.wikipedia.org/wiki/Star_schema。這可能會或可能不適合您的需求,但它對我有很大的幫助。 – Matthias 2012-07-27 06:18:41

+0

我喜歡那個星型模式,我想知道日期表的所有屬性都存儲爲整數嗎? – user825904 2012-07-27 06:43:10

+0

不,您可以將貴重物品存儲爲任何您喜歡的物品。基本上,星型模式是一個包含主鍵(當然),時間戳(在您的情況下可以只是一個整數「year」)的表和所有相關表的外鍵。至少,這是我如何使用它以保持歷史。 – Matthias 2012-07-27 07:21:39

回答

2

只要有一個表的配置文件。每個配置文件應該有一個創建日期。然後,您可以按日期排序並使最新的配置文件可編輯,並將較舊的配置文件視爲存檔。

+0

當您從Profile表中選擇用戶+日期時,您可能需要一個複合索引來避免文件夾。 – Ami 2012-07-27 06:47:52

+0

你能解釋一下什麼是複合指數,我不明白你的意思 – user825904 2012-07-27 07:00:44

+0

複合指標就像一個普通指數,但它結合了來自多個列的信息。不要太擔心,如果您想提高性能,可以隨後添加索引。 – octern 2012-07-27 16:42:27