我有类似雪花模式的东西,它将我在电子表格中获得的数据分解为进入一个表格的数值,以及有关测量内容的信息,主题,最初占用的电子表格的哪一列,如何,何时,由谁等进入由外键连接的其他表的网络。
我有一个存储过程,可以动态创建和运行一系列连接的查询,这些连接可以重建任何原始电子表格,或者在这些电子表格的任何用户选择的列组合上模拟完整的外部联接(加入数据)从相同的测试对象收集。)
但是,输入电子表格通常包含公式。我不想将这些计算值视为静态数据,因为如果稍后在原始数据中进行更正,它们将不会传播,因为有时会在事后添加新公式
有人建议使用通用设计模式来存储与某种类型数据相关的公式,并在用户要求时在输出上运行它们吗?我本来想在数据库层中做所有事情但是在看到MySQL的聚合函数和统计/数学函数有限之后,我将决定将公式传递给应用层(PHP)。
这是关于数据库设计的一般问题,所以我不知道有多少细节是有用的。如果我的疑问过于含糊,请告诉我我应该提供的其他信息,我会相应地重新提出这个问题。感谢。
答案 0 :(得分:1)
由于数据库中的公式必须能够完全表示可以在电子表格中声明的任何公式,我只需将公式存储为电子表格中使用的相同格式。
将它们存储为varchar或text列,确保转义值,或者作为varbinary或blob。只要您有办法将公式中的列名称映射回列值,我认为您已经说明了这一点,那么您就可以完成所有设置。