如何设计可以处理未知报告的数据库?

时间:2016-03-22 11:49:20

标签: database database-design database-schema

我正在开展一个项目,该项目可以存储多个行业的大量数据。

我的任务是设计数据库架构。

我需要使数据库架构灵活,以便它可以处理复杂的数据报告。

例如,

IStudent

可能有各种各样的报道。现在一切都模糊不清。但我确信报告需要很快。

我是否正确地认为我的最佳途径是尝试制作尽可能多的关联表?这个想法是(例如)如果产品表链接到行业表,那么获得某个行业的所有产品相对容易,而不必通过其他表上的连接来尝试建立与数据的连接

但这似乎很疯狂。架构将如此庞大和复杂。

请告诉我,我正在做的事情是否正确,或者是否有其他已知的解决方案可以解决此问题。也许解决方案是雇用一名数据科学家或DBA,他的工作就是做这类事情,而不是让程序员去做。

谢谢。

2 个答案:

答案 0 :(得分:1)

我认为从关系/运营数据库中获取这些答案将非常困难,并且查询将非常缓慢。 我认为最好的方法是创建多维数据结构(换句话说就是数据仓库),在这里您将拥有比关系数据库更容易查询的扁平化数据。它还将包含趋势分析的历史数据 如果需要复杂的统计或预测分析,那么数据科学家可以使用数据仓库作为其来源。

答案 1 :(得分:1)

在上面添加Amit的答案时,问题在于您需要从事务数据库中获得的是为了操作目的而对事实进行严格规范化的关联。对于分析方,您需要有效标记的事实。

换句话说,你想要的是一系列星型模式,你可以在其中添加你想要的任何关联。