客戶希望能夠按月導入相當龐大的數據電子表格(至少對我來說)。目前它由大約200行和41列組成。構建包含許多列的數據庫表以用於電子表格導入;可能性縮放
前兩列是標識符(一個ID和一個位置的人類可讀名稱);接下來的39列都是數值。這些數字實際上是「評級」,可以分爲39類 - 但客戶只是暗示他們可能會在未來擴大這些類別。
我最初的想法是創建一個模擬電子表格的數據庫結構(所以,41列,本質上) - 但是隨着客戶想要在稍後添加它的潛力,我不知道這是否是最好的方法來解決這個問題。
我不是經過培訓的編碼員;我只是按照需要選擇了一些東西,所以解決方案越簡單越好。我曾考慮也許在每個位置的基礎序列化的關聯數組:
----------------------------------------------------------
ID Name Data Date
----------------------------------------------------------
1 Newport {niceness:1, staff:6.5, etc.} Mar 13
2 Stobart {niceness:7, staff:3.1, etc.} Mar 13
----------------------------------------------------------
...但我不知道這是最好的辦法,或者如果它必然工作,我設想的方式。這個想法是,如果March'13只有39個類別,但7月'13有42個類別,那麼數據庫結構將不會受到影響;只是存儲一個不同的關聯數組。
這種事情也可能會在導入表格時刪除列不匹配錯誤的可能性 - 例如,如果他們突然決定在沒有警告的情況下刪除某個類別,然後嘗試導入列簡稱的電子表格。值得注意的
事情:
我發展,這是一個WordPress插件,使數據庫表結構被寫在那裏,將是相當簡單的更新,由於WP的dbDelta功能。
我也希望使用馬特克魯斯的PHP ExcelReader,這在我最初的測試中似乎非常出色。
如果客戶端不需要該表的統計信息,那麼帶有序列化數據的列應該沒問題。另一種方法是[實體屬性值模型](http://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model) – bitWorking 2013-04-10 18:54:29