Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/07/2007, 20h40   #1
Membre actif
 
Inscription : septembre 2004
Messages : 555
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 555
Points : 155
Points : 155
Par défaut [Conception] Traitement des doublons (grosse BDD)

Bonjour.

J'aurais voulu avoir des avis.
Ma société va acheter plusieurs liste de (clients prospects) à diverses sociétés.
Quel serait le meilleur moyen pour essayer de lutter contre l'insertion de doublon?

En effet un même prospect peux apparaitre plusieurs fois dans les différentes sources achetés

Faire une verification avant l'insertion (mais comment?)
Ou alors insérer et créer à part une page de nettoyage ou le script afficherait toutes les lignes qui ont au moins les champs nom,prenom,tel,adresse,telephone ont commun et avec une possibilité d'effacement.

Si vous avez de meilleurs méthodes je suis preneur.
Cordialement.
masseur est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2007, 20h58   #2
Rédacteur/Modérateur
 
Avatar de Deepin
 
Homme Deepin
Ingénieur - Chef de projet Modélisation/Simulation
Inscription : avril 2004
Messages : 1 341
Détails du profil
Informations personnelles :
Nom : Homme Deepin
Localisation : Ile Maurice

Informations professionnelles :
Activité : Ingénieur - Chef de projet Modélisation/Simulation
Secteur : Industrie

Informations forums :
Inscription : avril 2004
Messages : 1 341
Points : 7 085
Points : 7 085
Envoyer un message via Skype™ à Deepin
Salut,
la creation d'un script de nettoyage me parait etre une solution convenable.
A++
Deepin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2007, 21h01   #3
Membre régulier
 
Inscription : juin 2007
Messages : 89
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : juin 2007
Messages : 89
Points : 95
Points : 95
Bonjour, les deux solutions son valables.

Si tu vérifie avant, tu ne surcharge pas la base avec des écritures et des suppressions. En plus tu évites la possibilité de créer une relation sur un doublon ( et donc si tu as une intégrité référentiel, l'impossibilité de supprimer le doublon). Par contre tu dois peut être gérer le code de vérification pour chaque source

Si tu vérifie après, cela permet d'utiliser la même fonction pour chaque source ajouté (code plus simple). Tu réutiliser aussi la fonction pour les insertions manuelles ou les modifications.
Par contre, tu fais plus travailler la base de données, et le risque de relations avec les doublon est plus élevé, donc tu dois gérer toi même la réaffections des relations.

Pour conclure, cela dépends de la forme de tes sources , de la forme de ta base de données, et de la façon d'identifier tes clients (quels champs, case sensitive ou pas, ...)
dewsz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/07/2007, 22h52   #4
Membre Expert
 
Inscription : octobre 2002
Messages : 1 141
Détails du profil
Informations personnelles :
Âge : 32
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : octobre 2002
Messages : 1 141
Points : 1 204
Points : 1 204
Envoyer un message via MSN à Raideman
Moi j'avoue que je prefererai la solution ou tu nettoies avant via un script fait sur mesure pour celà. Pourquoi? Simplement parce qu'une fois le script fonctionnel, tu le lances une fois et tout est propre après pour travailler dessus comme tu le veux.
En fait, cela depend aussi du format de tes listes.
Imaginons que les listes soient en excel et qu'elles aient toutes les memes champs.
Tu les transformes en csv dans un premier temps.
Ensuite tu crées un script qui va charger ligne par ligne tes prospects. A chaque ligne tu vérifies que tu n'as pas deja inséré le prospect (en testant nom, prenom, email , etc...).Si le prospect existe deja, tu passes à la ligne suivante. Sinon tu l'inseres dans la bdd et tu moulines jusqu'a ce que mort ou réussite s'en suivent
Raideman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 04h51   #5
Membre confirmé
 
Avatar de max44410
 
Étudiant
Inscription : juin 2003
Messages : 426
Détails du profil
Informations personnelles :
Âge : 29

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juin 2003
Messages : 426
Points : 259
Points : 259
Envoyer un message via MSN à max44410 Envoyer un message via Skype™ à max44410
Salut,

Moi je suis plus de l'avis de "dewsz", faire une fonction qui test avant d'ajouter pour eviter d'avoir des contraintes d'integritées à gérer par la suite. C'est beaucoup moins complexe a mettre en place et en plus tu peux t'en resservir par la suite a chaque fois que tu ajoutes quelques chose dans la base de données.

Voila, bonne continuation
__________________
Venez voir par là...
max44410 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 08h59   #6
Membre actif
 
Inscription : septembre 2004
Messages : 555
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 555
Points : 155
Points : 155
Merci à vous pour ces précieuses informations.
masseur est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h06.


 
 
 
 
Partenaires

Hébergement Web