我在尋找一個潛在的部分涉及相當複雜的數據採集和管理網站的工作,我想知道如何最好地處理它。我將使用LAMP架構。諮詢的數據採集管理系統
後端將包括:通過用戶上傳CSV文件
大衆用戶創造 - 我這樣做之前,所以我有信心這個部分。
註冊後,用戶將提交定期機密信息。雖然數據是保密的,但我只是計劃將其存儲在MySQL數據庫中,該數據庫將定期進行備份。
會有涉及到不同的角色:
管理員,誰還會監視用戶活動,並在必要時創建新角色和用戶帳戶。
最終用戶 - 誰也簡單地提供通過形式的信息,有能力來編輯自己的個人資料,查看先前提交等基本的東西一樣
管理用戶 - 誰可以運行一系列預定義關於數據的報告並在瀏覽器中顯示這些信息。他們也可能開展的 數據「自由形式的查詢」以及提取選定結果電子表格。許多這些標準報告也將作爲網絡服務/饋送提供。自由形式的查詢部分
稍有有關,因爲我還不知道什麼數據實際上是,再加上有一個強大的可能性,新的問題將被動態地添加到隨時間變化的數據採集形式。爲了適應這種情況,數據庫結構必須是靈活的,另外我必須爲自由格式查詢提供這種能力,這是我以前從未做過的。任何人都可以提出一個明智的方法嗎?
有也將是某種形式的版本,這樣,如果一個用戶更新/修改某些數據,這些變化將被跟蹤和以前的結果仍然是可用的。我會規劃,歸檔納入到這個數據庫的設計,以便不用更新和數據庫中的覆蓋數據,一個新的記錄將始終被創建,用「覆蓋」一個簡單的被標記。這樣,我想我總是能夠檢索實時數據行以及歸檔行(按日期組織)。那有意義嗎?
預先感謝任何指針,這比我以前的工作(主要是標準CMS)更復雜一點 - 我想我知道如何處理上述問題,但會感謝任何建議更多有經驗的開發者可以提
感謝您的詳細答覆。我將使用MySql 5,它支持觸發器。我之前沒有使用過觸發器,但是對於這個應用程序來說,它們似乎是處理數據更改的好方法。如果我理解正確的話,在我的情況下,觸發最有可能被上更新至創紀錄的激活 - 專門在DB端處理分貝一連串的事件,從而降低PHP應用程序代碼來處理這些事件。此外,審計表的想法聽起來很合理,記錄日期等額外的列。 – kenny99