Bonsoir,
je travaille sur un projet qui consiste à importer des données formattées (fichier txt tabulé) dans une base de données Mysql.
j'ai quatres tables tbl_donateurs, tbl_dons, tbl_projets, tbl_dons_projets.
un donateur peut faire 1 ou plusieurs dons.
un don peut etre mono ou multi-projet.
le schéma retenu est le suivant:
tbl_donateurs(codeDonateur, Nom, prenom, adresse, cp, ville, email, telephone)
le codeDonateur est la PK de cette table.
tbl_dons(idDon, codeDonateur, montantDon, dateDon)
idDon PK et codeDonateur FK vers tbl_donateurs.
tbl_projets(codeProjet, designation)
codeProjet PK
tbl_dons_projets(idDon, codeProjet, montant)
codeProjet FK vers tbl_projets
idDon FK vers tbl_dons
montant: le montant pour le projet.
Supposons qu'un donateur D1 a fait un don de 200€ éventillé comme suit:
35€ pour le projet P1
75€ pour le projet P2
90€ pour le projet P3
les tables seront comme suit:
tbl_donateurs:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1234567 | d1Nom | d1Prenom | d1Adresse | d1CP | d1Ville | d1Email +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
tbl_dons
++++++++++++++++++++++++++++++++
+ 1 | 1234567 | 200,00 | 13/12/2006 |
++++++++++++++++++++++++++++++++
tbl_projets
++++++++++++++++++++++++++++++++
+ P1 | Projet1 |
++++++++++++++++++++++++++++++++
+ P2 | Projet2 |
++++++++++++++++++++++++++++++++
+ P3 | Projet3 |
++++++++++++++++++++++++++++++++
+ P4 | Projet4 |
++++++++++++++++++++++++++++++++
tbl_dons_projets
++++++++++++++++++++++++++++++++
+ 1 | P1 | 35,00 |
++++++++++++++++++++++++++++++++
+ 1 | P2 | 75,00 |
++++++++++++++++++++++++++++++++
+ 1 | P3 | 90,00 |
++++++++++++++++++++++++++++++++
l'importation des données devra se faire normalement en 2 étapes:
- importation des donateurs
- importation des dons
pendant la premiere phase, je lis à partir du fichier txt,les infos sur le donateur
je lance une recherche (SELECT ) sur la table tbl_donateurs pour verifier l'exitence ou non de mon donateur D1. si il existe déjà je l'ignore sinon je crée un nouveau donateur. sachant que tous les donateurs (meme ceux existant dans la table) ne renseigne pas nécessairement leurs codes lors d'un don.
cette étape consomme beaucoup de ressources (temps, ...)
imaginez si je veux importer un fichier comportant un millier de donateur.
est-ce que cette façon de procéder est la bonne?
Merci
Partager