人类可读和良好的方法人类维护的数据库

时间:2009-09-23 02:10:17

标签: database validation data-entry

所以这就是场景:

  • 您有大量数据需要以SQL结尾。
  • 需要手工输入。
  • 这不是“进入一次,你已经完成”的场景:它需要由人类以持续的迭代方式进行修改和扩展。评论将与条目相关联。对于数据输入人员来说,能够看到彼此靠近的相关条目也很有用。
  • 不同的人需要同时处理不同的数据部分。
  • 还需要进行一些错误检查。 (让数据输入人员在SQL选择之前纠正错误)

我有一个答案,就是我的项目目前的运作方式,但我想到也许还有其他很棒的方法可以解决我现有方法的问题。

4 个答案:

答案 0 :(得分:2)

YAML视为将数据表示为纯文本,人类可读和人类可修复文本的方法。

一个非常简单的程序可以解析YAML,定位错误和(如果没有错误)更新数据库。

答案 1 :(得分:2)

这些是一些非常基本的要求,您可能遇到的问题多于所述问题。但是,您需要一个简单的管理实用程序来将数据输入数据库。

直接的SQL查询/更新实用程序不会削​​减它,因为您的团队需要验证等。您需要多用户访问具有事务支持的相同数据。您还需要注释您的数据条目,并允许其他用户查看“相关条目”。

您需要一个数据库维护应用程序。

考虑使用像Django这样的内置管理实用程序。这可能比你期望的更多,但我想你未来的需求比你在这里所说的要多。

答案 2 :(得分:1)

我的回答基本上是

  • 让数据输入在Prolog文件(Prolog facts
  • 中有效
  • 拥有多个文件,以对数据理智的方式进行拆分。
  • 拥有一个将Prolog事实转换为SQL的脚本。
  • 在Prolog中进行一些验证Prolog事实的测试。

这种方法的结论:

  • 有点烦人的是必须检查多个文件以查看条目是否已存在,或者是否已被移动等。
  • 编写Prolog,就像这一样简单,对于非程序员来说非常可怕(相比之下,填写Excel电子表格或某些指导过程)
  • 也许:合并很棘手,或者我的VCS可能不是很聪明(见Which SCM/VCS cope well with moving text between files?

所以这很好用,但也许有一些我从未想过的更好的东西!

答案 3 :(得分:0)

如果您所指的约束可以在数据库级别强制执行,那么像Quest Toad这样的免费软件可以允许他们直接将数据输入数据库。感觉非常像在网格视图中使用电子表格,并在违反约束时显示错误。

或者,根据您可用的现有堆栈,.Net网格视图可以在很短的时间内轻松地将crud屏幕打包在一起。