我的研究,我正在開發一個database來存儲我們的數據,我們正在建立一個software tool,簡化了訪問這些數據。該數據庫將保存已發佈的數據,以及我們希望提供的數據,以及尚未發佈且屬於其他研究人員的數據。
目的
我們想爲我們的工作是容易複製,並且到這個程度,我們需要讓公衆在其上運行的數據SELECT
語句。三種可能的解決方案包括:
- 每個發佈(可能在虛擬機中,這樣的軟件工具的相關性得以滿足)創建一個可以自由下載的數據庫的一個子集
- 每個發佈,創建一個將數據記錄鏈接到發佈的多對多查找表,然後提供公開的
SELECT
訪問這些記錄的權限。我們可以很容易地複製數據庫供公衆使用 參數模塊 自動化前一代
然而,我被告知,甚至允許通配符陳述損害的安全性,這也是爲什麼我認爲選擇1更爲合理。選項1還可以使我們對數據庫進行歸檔,因爲它與特定的出版物一起使用。
更新:澄清,我希望用戶能夠重現整個計算流程,這就需要使用SELECT
語句可以加入與auxillary數據數據表(如協,實驗細節)在查找表中。
問題
什麼是提供給數據庫的一個子集公共接入的最佳方式是什麼?
聽起來像一個不錯的解決方案;你能舉一個例子說明如何將一個MySQL數據庫的一個子集作爲一個SQLite數據庫來重現嗎? – 2010-12-16 22:49:13
笨拙而又久經考驗:爲要導出的表子集創建視圖;以CSV格式導出視圖;將導出的CSV文件導入SQLite。 – Tim 2010-12-16 23:28:00
@David:編寫一個小程序(Python是一種很好的語言),將記錄從現有的MySQL安裝中提取出來,然後將它們重新插入到SQLite容器中,然後每次需要時運行該小程序導出新的數據集。 – 2010-12-17 01:48:41