我需要构建一个仓库结构,它由定期的提要填充,这些提要由刮取的数据、权限源和主源组成。为了确定数据集市应该使用哪些数据的优先级,我需要跟踪每个数据点的创建(何时获得这些数据?)、更新(数据何时更改?)和现有匹配(该数据上次出现的时间是什么时候?)。从我的研究来看,5NF是我应该使用的规范化水平。
例如,我可能会得到一个提要,它按照学生最喜欢的类的列表和排名顺序给出学生的名字。另一个提要可能带有相同的数据,但可能有一个不完整的类列表,或者缺少秩顺序。每个提要都会带有唯一和可靠的学生标识符。
我想至少会有三张表格来处理这些数据:
其中每一个都有isDeleted、created_time、created_feed_id、modified_time、modified_feed_id、matched_time、matched_feed_id的列。
什么样的结构最有意义?似乎应该插入任何新的数据池组合,并且我不应该有更新(除了一个软删除标志)。有什么想法吗?
发布于 2017-03-10 09:32:49
简单来说,答案是:定义你的最终结果(需求)并从那里向后工作。
使用DW模式,规范化很快就会从窗口中消失。
在我的例子中,我们有3个ETL模式。
从技术上讲,我们不需要3个模式。这只是一个惯例,它允许我们保持整洁。
阅读关于金球方法和缓慢变化的维数的文章。输入1或2等。您将看到存储所需元数据所需的字段的示例。
跟你的公司谈谈他们想要什么或者需要DW能做什么。无论您是否需要SCD,都会对您的模式、所需的元数据以及最终可能达到的正常化水平产生重大影响。
https://dba.stackexchange.com/questions/166721
复制相似问题