我需要填充我的MySQL表。我有以下维度架构。
我的所有外键都在事实表中。
我有一个每个主题的CSV文件。 假设excel1.csv对应于thema1,而excel2.csv对应于thema2。
设置所有主题,地区,部门,mois表。所以我手动填写了它们:
例如主题表:
idTheme |主题
1 | THEME1
2 | THEME2
区域表:
idRegion |区域
1 | IDF
2 |诺德
3 |布列塔尼
部门表:
idDepartement | idRegion | DEPARTEMENT
1 | 1 |艾松
2 | 1 |巴黎
3 | 1 | Seine Et Marne
4 | 2 | Pas de Calais
5 | 2 |皮卡
6 | 3 |卡尔瓦多斯
7 | 3 |菲尼斯泰尔
Annee表:
idAnnee | ANNEE
1 | 2013
2 | 2014
3 | 2015
Mois表:
idMois | idAnnee |的MOI
1 | 3 |维耶
2 | 3 | FEVRIER
3 | 3 |火星 ...
现在让我们拿一个与thema1相对应的excel1.csv文件(所以idtheme = 1):
NOM /地区/ DEPARTEMENT / MOIS / POIDS
阿德里安/ IDF /巴黎/ FEVRIER / 85
路易斯/ IDF /巴黎/维耶/ 84
查尔斯/布列塔尼/菲尼斯泰尔/维耶/ 90 ...
由于Talend中的tMap转换,我知道如何填充我的Client表: 我明白了:
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 for Client表)但我想填写我的事实表。
答案 0 :(得分:0)
如果您的数据库中有此模型,并且您的表是使用所有主键和外键创建的,但仍然为空,那么请按以下顺序停止填充从外部开始到内部的数据的作业:Region,departement,Annee, Mois,主题,客户,满意度。
外键与任何其他字段一样填充,但是已经使用表创建定义的constraint应该通过连接数据来实现。
对于事实表,您需要阅读以前填充的维度和join所有维度的所有外键。