我试图在Oracle 12c中构建一个星型模式。在我的情况下,我的数据源不是关系数据库,而是通过谷歌表单填充的单个excel / csv文件,这意味着我没有来自源系统的任何类型的引用,例如自动增量键/ ids 。现在,在这种条件下构建星型模式的最佳方法是什么?
文件行示例:
<submitted timestamp>,<submitted by user>,<region>,<country>,<branch>,<branch location>,<branch area>,<branch type>,<branch name>,<branch private? yes/no value>,<the following would be all "fact" values (measurements),...,...,...
如果我想建立一个&#34;分支&#34;维度,在第一次加载到维度表后,我将如何处理更新/插入?
到目前为止的思维解决方案:
我曾想过制作一个串联的字符串&#34; key&#34;使用分支值,这将使其唯一(下划线将是&#34;胶水&#34;连接值),例如:
<region>_<country>_<branch>_<branch location> as branch_key
我会将所有不同的分支插入到临时表中,包括每个分支的branch_key列,然后在尝试加载到维度时,我可以比较我的维度表中尚不存在哪个键然后插入它。至于更新,我有点坚持如何处理它,我曾想过有另一个文件映射哪些分支是活动的,有一个到期日期列。基本上试图模拟我在数据库中使用数据而不是CSV文件。
到目前为止,这是我能想到的全部内容,您对如何实现这一点有任何其他建议/想法吗?考虑到数据源不能像我必须读取这些csv文件一样,因为数据不会存储在其他地方。
谢谢。