0

我需要填充我的 MySQL 表。我有以下维度架构。

在此处输入图像描述

我所有的外键都在事实表中。

我为每个主题都有一个 CSV 文件。假设 excel1.csv 对应于 thema1,而 excel2.csv 对应于 thema2。

设置了所有主题、地区、部门、mois 表。所以我手动填写它们:

例如主题表:

id主题 | 主题

1 | 主题1

2 | 主题2

地区表:

idRegion | 地区

1 | 以色列国防军

2 | 北

3 | 布列塔尼

部门表:

id部门 | idRegion | 部门

1 | 1 | 埃松

2 | 1 | 巴黎

3 | 1 | 塞纳河与马恩河

4 | 2 | 加来海峡

5 | 2 | 皮卡第

6 | 3 | 卡尔瓦多斯

7 | 3 | 菲尼斯泰尔

安妮表:

伊德安妮 | 安妮

1 | 2013

2 | 2014

3 | 2015

莫伊斯表:

idMois | 伊德安妮 | 莫伊斯

1 | 3 | 扬维尔

2 | 3 | 费夫里埃

3 | 3 | 火星...

现在让我们取与thema1对应的excel1.csv文件(所以idtheme=1):

NOM/地区/部门/Mois/Poids

阿德里安/以色列国防军/巴黎/Février/85

路易斯/以色列国防军/巴黎/Janvier/84

查尔斯/布列塔尼/菲尼斯泰尔/扬维尔/90 ...

由于 Talend 中的 tMap 转换,我知道如何填写我的客户表:我得到:

idClient/NOM/Poids

1/阿德里安/85

2/路易斯/84

3/查尔斯/90

我希望我的事实表是这样的:

idTheme/idDepartement/idClient/idMois

1/2/1/2

1/2/2/1

1/7/3/1

这样它将包含其他维度表的外键。

我知道如何填写维度表(大部分时间是手动填写,并使用 tMap 填写客户表),但我想填写我的事实表。

4

1 回答 1

0

如果您的数据库中有这个模型,并且您的表是使用所有主键和外键创建的,但仍然是空的,那么请创建一个按以下顺序填充数据的作业:区域、部门、安妮、莫伊斯、主题,客户,满意。

外键的填充与任何其他字段一样,但已在创建表时定义的约束应通过连接数据来获得。

对于事实表,您需要读取先前填充的维度并连接所有维度的所有外键。

于 2015-10-19T10:48:32.550 回答