relational_database vs config_file vs电子表格用法

时间:2009-02-24 18:21:03

标签: configuration-files spreadsheet relational-database

我之前听过一些关于使用关系数据库与电子表格的真实论据。关系数据库提供快速报告和(相对而言)可靠的数据仓库,其中电子表格轻量级,快速复制,并且易于在组织中浮动到不同的受众。虽然我注意到其中任何一个的优点,但我很难区分哪个场景更好,并且总是最终使用数据库。

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

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

3 个答案:

答案 0 :(得分:2)

古老的谚语就是这个。

  

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

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

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

电子表格 - 好吧 - 他们就是这样。太复杂,是一个简单的配置文件。太简单了,无法成为真正的数据库。

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

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

答案 1 :(得分:1)

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

  • 允许adhoc报告对数据的访问
  • 允许应用程序共享数据。

数据库应包含所有域数据,有时还应包含一些动态数据(例如用户首选项)。关系数据库最受欢迎,但对于某些应用程序,还有其他选项。

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

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

答案 2 :(得分:1)

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