2

所以这是场景:

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

我有一个答案,这就是我的项目目前的运作方式,但我突然想到,也许还有其他很棒的方法可以做到这一点,而这些方法不存在我当前方法的问题。

4

4 回答 4

2

将 YAML视为一种将数据表示为普通、人类可读和人类可修复的文本的方式。

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

于 2009-09-23T02:14:56.940 回答
2

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

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

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

考虑使用Django之类的东西,它内置了管理实用程序。这可能超出您的预期,但我想您未来的需求比您在这里所说的要多。

于 2009-09-23T02:19:59.567 回答
1

我的回答基本上是

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

这种方法的缺点:

  • 必须检查多个文件以查看条目是否已存在或已被移动等,这有点烦人。
  • 编写 Prolog,就这么简单,对于非程序员来说是相当可怕的(相比之下,填写 Excel 电子表格或一些指导过程)
  • 可能:合并很棘手,或者我的 VCS 不是很聪明(请参阅哪个 SCM/VCS 可以很好地处理文件之间的文本移动?

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

于 2009-09-23T02:25:17.543 回答
0

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

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

于 2009-09-23T02:37:58.963 回答