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

Schéma Discussion :

Suppression de doublon sur une hierarchie plate


Sujet :

Schéma

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 39
    Points : 26
    Points
    26
    Par défaut Suppression de doublon sur une hierarchie plate
    Bonjour à tous,
    j'utilise sql seveur 2008
    Je suis actuellement confronter à un petit problème pour supprimer des doublons dans une table personne sous forme d'une hiérarchie plate, c'est a dire, nous avons dans la table la personne ainsi que tous ses supérieurs, sous forme
    personne (personne, responsablen1, responsablen2,responsablen3,responsable4)

    les doublons qui me posent problème sont de cette forme

    personne1 | responsable1|responsable2|responsable3|responsable4
    personne1|responsable3|responsable4|null|null

    Dans la deuxième ligne la personne1 est rattachée directement vers le responsable 3, cette ligne doit être supprimé car elle constitue un arbre

    Je compte ajouter la notion de niveau sur chaque responsable puis de prendre la ligne de niveau le plus haut

    Si vous avez d'autre solution je suis preneur

    merci d'avance

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    C'est surtout très mal modélisé !

    Que feras-tu si un jour une personne a 5 responsables ?

    Le modèle de données minimum est le suivant :
    personne -0,n---(supérieur)-----encadrer
    |-------------(subordonné)--0,1---------|

    Une personne peut encadrer plusieurs personnes et une personne peut être encadrée par une personne.

    Ce n'est pas forcément le plus pratique pour naviguer dans l'organigramme et trouver qui est le supérieur n+3 de Jean Dupont, surtout si tu utilises un SGBD qui ne connait pas les CTE (MySQL). Intéresse toi aussi à la modélisation d'arbre par représentation intervallaire.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

Discussions similaires

  1. Suppression de doublons sur une grosse table
    Par CaptainT dans le forum SQL
    Réponses: 20
    Dernier message: 24/05/2008, 09h25
  2. [VBA-E]trie(suppression de doublons) dans une feuille excel
    Par TANIE dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/08/2006, 13h25
  3. [Oracle 8i]Recherche doublon sur une même table
    Par fmoriet dans le forum Oracle
    Réponses: 3
    Dernier message: 01/08/2006, 10h09
  4. Suppression de doublons dans une table partionnée
    Par ludmillaj dans le forum Oracle
    Réponses: 10
    Dernier message: 27/12/2005, 14h34
  5. Réponses: 3
    Dernier message: 01/12/2005, 10h17

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