2009-02-24 80 views
1

我听说过以前使用关系数据库和电子表格的一些真正的观点。关系数据库提供快速报告和(相对来说)可靠的数据仓库,其中电子表格轻量级,快速复制,并且易于在组织中分散到不同的受众。尽管我注意到了两者的优点,但我很少能够区分哪种情况更好,并始终最终使用数据库。relational_database vs config_file vs电子表格使用

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

所以,智慧的人,你对数据库,配置文件和电子表格的角色有什么看法?

+0

什么,没有智慧的女人?或者,“男人”是指“人”吗? – 2009-02-24 18:23:06

+0

不是愤世嫉俗,但我在我的comsci本科系没有见过一个女人,在我的IT职业生涯中还没有见过一个女人。 – Haoest 2009-02-24 18:33:56

回答

2

古老的格言就是这样。

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

数据库用于记录业务。持久的。常驻。

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

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

因为它们(几乎)不可能控制,所以在数据库中需要一个标准的,正确的,幂等的结果。您应该能够从该受控源重建电子表格。

同样,如果您接受上载的电子表格,则必须提取数据,并且不要再次返回(几乎不可控制的)源文档。

1

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

  • 允许数据
  • 即席报表访问允许应用程序共享数据。

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

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

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

1

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