1

我以前听过一些关于使用关系数据库与电子表格的真正争论。关系数据库提供快速报告和(相对而言)可靠的数据仓库,其中电子表格是轻量级的、快速复制的,并且易于在组织中浮动到不同的受众。尽管我注意到两者的优点,但我很少能区分在哪种情况下哪个更好,并且总是最终使用数据库。

在开发中,当可以将配置设置放在数据库中时,很容易忘记考虑其他选项。我遇到过很多应用程序,其中用户菜单、工作流程及其顺序以及常量是在数据库级别定义的。如果最终用户从应用程序级别更改这些实体,这很好,但情况并非如此。

那么,您对数据库、配置文件和电子表格的角色有何看法?

4

3 回答 3

2

古老的格言是这样的。

当您使用电子表格解决问题时,您现在遇到了两个问题。

数据库用于记录业务。持久的。永恒的。

其他配置文件用于其他配置信息——不是持久的业务记录。当前设置和其他设置不是持久的业务记录,它们是处理业务记录的特定软件配置的一部分。

电子表格是——嗯——它们就是它们。一个简单的配置文件太复杂了。作为一个真正的数据库太简单了。

由于它们(几乎)无法控制,因此您需要在数据库中有一个标准的、正确的、幂等的结果。您应该能够从该受控源重建电子表格。

同样,如果您接受电子表格进行上传,则必须提取数据,并且永远不要再次参考(几乎无法控制的)源文档。

于 2009-02-24T18:27:05.730 回答
1

对我来说,我希望所有核心数据都存储在数据库中。两个原因:

  • 允许临时报告访问数据
  • 允许应用程序共享数据。

数据库应该包含所有领域数据,偶尔也会包含一些动态数据(例如用户偏好)。关系数据库最受欢迎,但对于某些应用程序还有其他选择。

另一方面,配置文件应包含您要在系统中更改的所有“参数”;那些没有迅速改变的(即时)。配置项很灵活,但并不容易,而且通常不是来自界面。如果它是您只希望编码器可能更改的参数,那应该在代码中正确(因此没有其他人可以访问)。

如果您想摆弄数据挖掘,请提供一些通用机制,将带有 SQL 查询结果的 CSV 文件直接下载到 Excel 中。这样人们就可以摆弄数据透视表,而不必改变应用程序的模式。

于 2009-02-24T18:40:38.583 回答
1

电子表格是文档,数据库是信息存储库,配置文件存储应用程序特定实例的行为规则。如果你这样想,打电话通常不难。

于 2009-02-24T18:50:06.190 回答