0

我需要填充我的MySQL表。我有以下维度模式。用Talend填充事实表

enter image description here

我所有的外键在事实表。

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

设置了所有主题,地区,部门,mois表。所以我手工填写他们:

例如主题表:

idTheme |主题

1 | Theme1

2 | THEME2

地区表:

idRegion | Region

1 | IDF

2 | Nord

3 |布列塔尼

DEPARTEMENT表:

idDepartement | idRegion | Departement

1 | 1 | Essonne

2 | 1 |巴黎

3 | 1 | Seine Et Marne

4 | 2 |加来海峡

5 | 2 | Picardie

6 | 3 | Calvados

7 | 3 |菲尼斯泰尔

ANNEE表:

idAnnee | Annee

1 | 2013

2 | 2014

3 | 2015年

MOIS表:

idMois | idAnnee | Mois

1 | 3 | Janvier

2 | 3 | Février

3 | 3 |火星 ...

现在我们来看看excel1。csv文件对应thema1(所以idtheme = 1):

名称/地区/部门/月/重量

阿德里安/ IDF /巴黎/ 2月/ 85

路易/ IDF /巴黎/月/ 84

查尔斯/布列塔尼/菲尼斯泰尔省/月/ 90 ...

我知道如何来填补我的客户表感谢TMAP穿越 - 在Talend 我得到:

的clientId/NOM /重量

1 /阿德里安/ 85

2 /路易斯/ 84

3 /查尔斯/ 90

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

idTheme/idDepartement /的clientId/idMois

1/2/1/2

1/2/2/1

1/7/3/1

,使其包含其他维度表的外键。

我知道如何填写维度表(手动大部分的时间和TMAP为客户表),但我想,以填补我的事实表。

回答

0

硅VOUS具备这种模式在您的数据库,你的表与所有主键和外键创建,但仍然是空的,然后ceate用于填充,从外面开始内部顺序的数据的作业:地区,部门,年份,月,主题,让客户满意。

外键填充像任何其他的射门创作constraint魁EST已定义的表,不宜通过连接数据garenteed。

对于事实表,你需要阅读之前填充尺寸和join各种规模的所有外键。

+0

是的,我知道我必须填写维表,但我的问题是如何?例如 当我填补它的适当区域的目的。然后我需要填写部门,我不知道如何设置它在idRegion因为它是一个外键。 –

+0

@AdriL。更新的答案! – 54l3d

+0

@AdriL。为了更清楚,表的所有字段认为你看到当你做一个选择的数据,针对我们有时候需要加入一些术语称为过期限制领域,国外的关键是数据字段,它的数据不宜存在于提交的主键父表的。 – 54l3d