IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

Algorithme Ou Methode de correction (Urgent)


Sujet :

SQL Oracle

  1. #1
    Inscrit
    Inscrit en
    Février 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 76
    Points : 38
    Points
    38
    Par défaut Algorithme Ou Methode de correction (Urgent)
    Dans une base de donne une table contienne des clients de cette façon

    ______________________________
    Agent notionnelle du crédit
    ______________________________
    ANC
    ______________________________
    A.N.C
    ______________________________
    Agent notionnelle du crédit(ANC)
    ______________________________
    Agent notionnelle du crédit(A.N.C)
    ______________________________
    A N C
    ______________________________
    Agent notionnelle du crédit(A N C)
    ______________________________


    Y-a-il des algorithmes permet de détecte ses nom, pour les corriger?
    Merci d’avance

  2. #2
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut
    Bonjour,
    Pour ma part je procéderais de la façon suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UPDATE TABLE CLIENTS
    SET CLIENTNAME = 'A.N.C.'
    WHERE replace(replace(CLIENTNAME,'.',''),' ','') = 'ANC'
    OR CLIENTNAME LIKE ' Agent notionnelle du crédit%'
    Cela dit il faut se baser sur un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT CLIENTNAME FROM CLIENT
    pour être certain de ne pas en oublier.

    La prochaine fois merci de préciser si c'est dans Oracle et la version ...
    surtout si c'est urgent
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

  3. #3
    Inscrit
    Inscrit en
    Février 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 76
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par BRUNO2R
    Bonjour,
    Pour ma part je procéderais de la façon suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    UPDATE TABLE CLIENTS
    SET CLIENTNAME = 'A.N.C.'
    WHERE replace(replace(CLIENTNAME,'.',''),' ','') = 'ANC'
    OR CLIENTNAME LIKE ' Agent notionnelle du crédit%'
    Cela dit il faut se baser sur un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT CLIENTNAME FROM CLIENT
    pour être certain de ne pas en oublier.

    La prochaine fois merci de préciser si c'est dans Oracle et la version ...
    surtout si c'est urgent
    merci infiniment cher ami
    mes la table contient de million d'enregistrement et ca juste un exemple

    pour celle on a besoin des algorithme capable de détecte ces anomalie pour les corege

  4. #4
    Rédacteur
    Avatar de Bruno2r
    Homme Profil pro
    Exploitation des données
    Inscrit en
    Décembre 2006
    Messages
    2 566
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Exploitation des données
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 566
    Points : 4 780
    Points
    4 780
    Par défaut Résolu ?
    Si ton problème est solutionné pense à cliquer sur

    ça facilite le suivi des demandes
    Précisez la VERSION !
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton
    Tutoriels BO et FAQ BO
    "A vouloir repousser ses limites ... On risque d'en prendre connaissance !!!"

  5. #5
    Inscrit
    Inscrit en
    Février 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 76
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par BRUNO2R
    Si ton problème est solutionné pense à cliquer sur

    ça facilite le suivi des demandes

    Non cher ami
    J'ai dit ma base contiens de million d'enregistrement
    j'ai besoin d'un algorithme ou méthode spécifique

    Merci bien

  6. #6
    Membre expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Points : 3 609
    Points
    3 609
    Par défaut
    Il n'existe pas d'algorithme spécifique. Comment fais-tu si tu as :
    Association numérologie chinoise (ANC)

    Il ne me semble pas possible d'automatiser ce genre de chose...
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  7. #7
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Exact, tu ne peux faire que des approximations par groupement comme l'a fait Bruno2R.

    Tu n'as qu'à faire une boucle et à chaque fois tu update les enregistrements ressemblant (sans les . et les espaces). Ca peut déjà faire un premier regroupement.

    PS : Si c'est vraiment urgent, avec des millions d'enregistrements ... t'es mal
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  8. #8
    Inscrit
    Inscrit en
    Février 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 76
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par McM
    Exact, tu ne peux faire que des approximations par groupement comme l'a fait Bruno2R.

    Tu n'as qu'à faire une boucle et à chaque fois tu update les enregistrements ressemblant (sans les . et les espaces). Ca peut déjà faire un premier regroupement.

    PS : Si c'est vraiment urgent, avec des millions d'enregistrements ... t'es mal
    Non moi je vx détecte ses erreur
    âpres je le corrige manialement

    Merci bien

  9. #9
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Points : 1 197
    Points
    1 197
    Par défaut
    Salut,

    Tu peux utiliser soundex
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SQL> SELECT SOUNDEX ('A.N.C') a, SOUNDEX ('A N C') b, SOUNDEX ('ANC') C
      2  FROM DUAL ;
     
    A    B    C
    ---- ---- ----
    A520 A520 A520
     
    SQL>

  10. #10
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Points : 1 197
    Points
    1 197
    Par défaut
    Salut,

    Il t'a déja proposé notre expert Laurent schneider une solution, elle te plait pas??

    http://www.developpez.net/forums/sho...d.php?t=372701

  11. #11
    Inscrit
    Inscrit en
    Février 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 76
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par salim11
    Salut,

    Tu peux utiliser soundex
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SQL> SELECT SOUNDEX ('A.N.C') a, SOUNDEX ('A N C') b, SOUNDEX ('ANC') C
      2  FROM DUAL ;
     
    A    B    C
    ---- ---- ----
    A520 A520 A520
     
    SQL>
    Je veux traite le cas generale
    tu compris pas seulement pour l'exemple

    on plus soundex sa marche pas pour detecte ANC et agent nationelle de credit(ANC)


    merci infiniment

  12. #12
    Inscrit
    Inscrit en
    Février 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 76
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par salim11
    Salut,

    Il t'a déja proposé notre expert Laurent schneider une solution, elle te plait pas??

    http://www.developpez.net/forums/sho...d.php?t=372701

    Oui mon amie
    mes par exemple
    anc et agens nationel de cret (A.N.C)

    n'ayon pas le meme phonitique

  13. #13
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Comment veux-tu détecter des erreurs sans faire une boucle par client ?
    Si tu as
    1 Agent notionnelle du crédit
    2 EDF
    3 ANC
    4 GDF
    5 A.N.C
    Si tu dois corriger manuellement, un petit écran forms qui t'affiche pour chaque nom de client, tous les client ayant le nom approchant.
    Pour regrouper ANC et A.N.C, il suffit d'enlever tout ce qui est différent d'une lettre (fct TRANSLATE)
    Pour regrouper ANC et Agent notionnelle du Crédit. Là c'est plus chaud.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  14. #14
    Inscrit
    Inscrit en
    Février 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 76
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par McM
    Comment veux-tu détecter des erreurs sans faire une boucle par client ?
    Si tu as

    Si tu dois corriger manuellement, un petit écran forms qui t'affiche pour chaque nom de client, tous les client ayant le nom approchant.
    Pour regrouper ANC et A.N.C, il suffit d'enlever tout ce qui est différent d'une lettre (fct TRANSLATE)
    Pour regrouper ANC et Agent notionnelle du Crédit. Là c'est plus chaud.
    awe se sont des millier d'enregistrement!!!!
    manualement imposiblle

    mais je vx faire deux methode
    la 1er approximative et automatique
    et a partir du ses résultat de fais la correction automatique.

  15. #15
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Points : 1 197
    Points
    1 197
    Par défaut
    Salut

    c'est pas évident :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    1 Agent notionnelle du crédit 
    2 EDF
    3 ANC 
    4 GDF
    5 A.N.C 
    6 Agence notionnelle du commerce
    7 ANC
    Dans ce cas ANC c'est l'acronyme Agent notionnelle du crédit ou Agence notionnelle du commerce ????????????

  16. #16
    Inscrit
    Inscrit en
    Février 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 76
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par salim11
    Salut

    c'est pas évident :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    1 Agent notionnelle du crédit 
    2 EDF
    3 ANC 
    4 GDF
    5 A.N.C 
    6 Agence notionnelle du commerce
    7 ANC
    Dans ce cas ANC c'est l'acronyme Agent notionnelle du crédit ou Agence notionnelle du commerce ????????????

    mes c'est pour cella en a besion d'un phase manuel apres la phase automatique

  17. #17
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Voici un exemple de regroupement automatique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    WITH client AS (SELECT 1 AS num, 'Agent notionnelle du crédit' AS nom FROM DUAL
    UNION ALL SELECT 2,  'EDF' FROM DUAL
    UNION ALL SELECT 3, 'ANC' FROM DUAL
    UNION ALL SELECT 4, 'GDF' FROM DUAL
    UNION ALL SELECT 5, 'A.N.C' FROM DUAL
    UNION ALL SELECT 6, 'Agence notionnelle du commerce' FROM DUAL
    UNION ALL SELECT 7, ' A N C ' FROM DUAL
    )
    SELECT 	num, nom, 
    		TRANSLATE(nom, 'a' || TRANSLATE(LOWER(nom), 'abcdefghijklmnopqrstuvwxyz', 'a'), 'a') AS transl,
    		(	SELECT MIN(c2.num)
    			FROM client c2
    			WHERE TRANSLATE(c2.nom, 'a' || TRANSLATE(LOWER(c2.nom), 'abcdefghijklmnopqrstuvwxyz', 'a'), 'a')
    				= TRANSLATE(c1.nom, 'a' || TRANSLATE(LOWER(c1.nom), 'abcdefghijklmnopqrstuvwxyz', 'a'), 'a')) AS meme_client
    FROM CLIENT c1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    NUM	NOM	TRANSL	MEME_CLIENT
    1	Agent notionnelle du crédit	Agentnotionnelleducrdit	1
    2	EDF	EDF	2
    3	ANC	ANC	3
    4	GDF	GDF	4
    5	A.N.C	ANC	3
    6	Agence notionnelle du commerce	Agencenotionnelleducommerce	6
    7	 A N C 	ANC	3
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  18. #18
    Membre chevronné Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Points : 2 071
    Points
    2 071
    Par défaut
    Citation Envoyé par riyahi
    awe se sont des millier d'enregistrement!!!!
    manualement imposiblle

    mais je vx faire deux methode
    la 1er approximative et automatique
    et a partir du ses résultat de fais la correction automatique.
    OU
    Faites_moi vite fait un petit système expert de reconnaissance de formes ou un réseau neuronal de dédoublonnage de fichier client !
    Garuda गरूड
    Brahmâ la Guerre et Vishnu la Paix

    Oracle 12C R2 - Forms11GR2 - Toad 12 - sharePoint 2010

  19. #19
    Inscrit
    Inscrit en
    Février 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 76
    Points : 38
    Points
    38
    Par défaut
    Citation Envoyé par Garuda
    OU
    Faites_moi vite fait un petit système expert de reconnaissance de formes ou un réseau neuronal de dédoublonnage de fichier client !
    J'ai bien sisie
    Merci de m'explier

    Moi je veux une solution pour le cas generale

    Merci D'avance

  20. #20
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Il n'y a pas de cas général.
    C'est à toi de te faire des règles de rapprochement de noms clients.
    - Noms identiques lorsque suppression de tout caractère non [A-Z]
    - recherche des () et vérification de ce qu'il y a à l'intérieur pour l'exemple anc et agens nationel de cret (A.N.C)
    etc .. etc ...

    Il n'existe pas de solution miracle.
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 8
    Dernier message: 25/01/2008, 19h25
  2. Methode pour trouver la complexité d'algorithmes
    Par line86 dans le forum Algorithmes et structures de données
    Réponses: 25
    Dernier message: 30/06/2007, 19h11
  3. Algorithme de correction d'adresse email (corriger : domaine + extension)
    Par the_mat dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 03/05/2006, 10h34
  4. Réponses: 4
    Dernier message: 30/01/2006, 03h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo