Database design 将关系数据库(OLTP)转换为数据仓库模型

Database design 将关系数据库(OLTP)转换为数据仓库模型,database-design,data-warehouse,olap,oltp,Database Design,Data Warehouse,Olap,Oltp,这是我关于BI的第一个项目,我将基于现有的关系数据库创建一个数据仓库。我有一个数据库,有6个表,有许多关系(一对多) 我想让您了解一下关系数据库的现有模式: ------------- HeadOperation ------------- head_col1 head_col2 head_col3 col4 col5 col6 .... ------------- Item ------------- head_col1 head_col2 head_col3 colItem1ID col

这是我关于BI的第一个项目,我将基于现有的关系数据库创建一个数据仓库。我有一个数据库,有6个表,有许多关系(一对多)

我想让您了解一下关系数据库的现有模式:

-------------
HeadOperation
-------------
head_col1
head_col2
head_col3
col4
col5
col6
....


-------------
Item
-------------
head_col1
head_col2
head_col3
colItem1ID
colItem2
colItem3
valueitem

....
每个头操作至少有一个,我们也可以说头操作表的细节

head\u col1,head\u col1,head\u col3:是HeadOperation的主键和Item表的外键

为了创建一个事实表,作为BI建模中的新功能,我不知道如何创建一个事实表,首先有多个主键(多个主键),并且项目表具有相同的键+主键colItemID

我想到的另一件事是合并/融合这些表,但数据仓库将是巨大的

有没有解决模型化问题的建议


谢谢

肯定有人告诉了你正确的事情。代理键只是唯一的整数值,大多数时间是自动增量值。然后,您应该填充维度表。填充维度表后,应将数据加载到事实数据表中。之后,如果事实表的大小非常大,您可以选择创建聚合事实表

肯定有人告诉了你正确的事情。代理键只是唯一的整数值,大多数时间是自动增量值。然后,您应该填充维度表。填充维度表后,应将数据加载到事实数据表中。之后,如果事实表的大小非常大,您可以选择创建聚合事实表

您有两个名为head_col1的列。在我们尝试给出答案之前,请先解决此问题。在开始构建数据仓库之前,请尝试确定需要对其执行何种类型的报告。我在维度表中遇到了复合主键的问题,这就是我的问题:对于初学者,您应该将仓库中的列名更改为有意义的业务名称。那么head_col1代表什么呢?把这些放在你们的问题中,它可能会帮助我们回答。正如有人告诉我的,我应该做一个代理键,我应该把数据加载到维中,然后在事实表中加载数据。你觉得呢?你有两个专栏,名字是head_col1。在我们尝试给出答案之前,请先解决此问题。在开始构建数据仓库之前,请尝试确定需要对其执行何种类型的报告。我在维度表中遇到了复合主键的问题,这就是我的问题:对于初学者,您应该将仓库中的列名更改为有意义的业务名称。那么head_col1代表什么呢?把这些放在你们的问题中,它可能会帮助我们回答。正如有人告诉我的,我应该做一个代理键,我应该把数据加载到维中,然后在事实表中加载数据。你怎么认为?