我之前听过一些关于使用关系数据库与电子表格的真实论据。关系数据库提供快速报告和(相对而言)可靠的数据仓库,其中电子表格轻量级,快速复制,并且易于在组织中浮动到不同的受众。虽然我注意到其中任何一个的优点,但我很难区分哪个场景更好,并且总是最终使用数据库。
在开发过程中,当人们可以在数据库中放置配置设置时,很容易忘记考虑其他选项。我遇到过很多应用程序,用户菜单,工作流程及其订单和常量都是在数据库级别定义的。虽然最终用户可以从应用程序级别更改这些实体,但这种情况很好,但事实并非如此。
那么,您对数据库,配置文件和电子表格的角色有何看法?
答案 0 :(得分:2)
古老的谚语就是这个。
当您使用电子表格解决问题时,您现在遇到两个问题。
数据库用于记录业务。持久的。常驻。
其他配置文件用于其他配置信息 - 不是持久的业务记录。当前设置和什么不是持久的业务记录,它们是处理业务记录的特定软件配置的一部分。
电子表格 - 好吧 - 他们就是这样。太复杂,是一个简单的配置文件。太简单了,无法成为真正的数据库。
由于它们(几乎)无法控制,因此在数据库中需要一个标准的,正确的,幂等的结果。您应该能够从该受控源重建电子表格。
同样,如果您接受要上传的电子表格,则必须提取数据,而不要再次返回(几乎无法控制的)源文档。
答案 1 :(得分:1)
对我来说,我希望将所有核心数据存储在数据库中。有两个原因:
数据库应包含所有域数据,有时还应包含一些动态数据(例如用户首选项)。关系数据库最受欢迎,但对于某些应用程序,还有其他选项。
另一方面,配置文件应包含您要在系统中更改的所有“参数”;那些没有迅速改变的(在飞行中)。配置项是灵活的,但不容易,通常不是来自界面。如果它是一个只需要编码器可能改变的参数,那么它应该在代码中正确(因此没有其他人可以访问)。
如果您想摆弄数据挖掘,请提供一些通用机制,将带有SQL查询结果的CSV文件直接下载到Excel中。这样人们可以摆弄数据透视表,而不必改变应用程序的模式。
答案 2 :(得分:1)
电子表格是文档,数据库是信息的存储库,配置文件存储应用程序的特定实例应该如何表现的规则。如果您这样想,通常不难打电话。