我有一個名爲ActivityRecording的表。該表目前有500,000條記錄。我需要添加許多與活動記錄表相關的新輸入。活動記錄與這些新輸入字段的關係是1到0,1。數據庫結構
因此,屏幕上會發生什麼情況是當用戶填充ActivityRecording數據時,他將被帶到新頁面,並且此頁面將顯示基於用戶輸入(來自下拉命名服務)的活動記錄中的表單。將有6種不同的形式(每種形式將有7-8個輸入,其中包括大小5kb的textareas,文本框和複選框)。因此,對於一個活動記錄用戶將填寫6個表格中的一個。
有兩種方法,我知道(可能有更多),我可以設計數據結構:
從所有這些形式的6成activityrecording表添加所有的投入。因此,屬於這些表格中的5個的列將在此表中爲空,只有屬於其中一個表格的列將具有值
另一種方式是添加6個新表(每個表格一個)並添加6個活動記錄表的外鍵列。因此,在6個外鍵中,5個將爲空,其中一個將實際指向一個表格
哪種方法是更好的數據結構設計?請注意,此表中的行數爲500,000,預計現在將以更快的速度增長。
第三種方法聽起來不錯,我實際上是 ActivityRecording外鍵字段,因爲那時我有我的activityrecording和形式的分離。 – 2010-05-29 20:20:00
是的,這就是我會怎麼做,畢竟它有點mvc,你有視圖(表單)從表(模型)分開,如果你改變視圖,你不會改變任何模型table) – 2010-05-30 16:13:04
因此,如果我用所有這些字段(來自所有6種形式)製作單獨的表格,那麼這是一個很好的設計,因爲對於每一行我都會有80%的列始終爲空。 – 2010-06-03 03:02:14