如何提供对数据库子集的公共访问?

时间:2010-12-16 20:53:43

标签: mysql sql database

背景

我和我的研究小组正在开发database来存储我们的数据,我们正在构建一个software tool来简化对这些数据的访问。数据库将保存已发布且我们希望提供的数据,以及尚未发布且属于其他研究人员的数据。

目标

我们希望我们的工作易于重现,在这种程度上,我们需要允许公众对数据运行SELECT语句。三种可能的解决方案包括:

  1. 对于每个发布,创建可以自由下载的数据库的子集(可能在虚拟机中,以便满足软件工具的依赖性)。
  2. 对于每个发布,创建一个多对多查找表,将数据记录链接到发布,然后提供公共SELECT权限以访问这些记录。我们可以轻松地复制数据库供公众使用 参数化模块 上一代自动化
  3. 但是,有人告诉我,即使允许使用通配符语句也会影响安​​全性,这就是为什么我认为选项1更合理。选项1还使我们能够将数据库存档,因为它与特定出版物一起使用。

    更新:澄清一下,我希望用户能够重现整个计算工作流程,这需要使用SELECT语句,这些语句可以将数据表与辅助数据(如协变量,查找表中的实验细节。

    问题

    提供对数据库子集的公共访问的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

您可以分发数据子集作为SQLite数据库,即创建一个人们可以下载到自己的计算机的独立数据文件。许多学者,经济学家等使用SQLite来共享数据集,因为它是自包含的,安装是无痛的(我应该添加,跨平台)。

答案 1 :(得分:0)

创建具有适当访问权限的视图,以及只能访问这些视图但没有基础表的用户。