我的研究,我正在开发一个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