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 :

Organisation de table , n enfants et m parents. [MLD]


Sujet :

Schéma

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 117
    Points : 67
    Points
    67
    Par défaut Organisation de table , n enfants et m parents.
    Bonsoir,

    Voilà je suis face à un cas d'école que j'aimerais eventuellement bien résoudre

    J'ai donc 2 tables avec une relation parent enfants entre les deux.
    Chaque parent peut avoir plusieurs enfants, normal, mais chaque enfants peut avoir plusieurs parents.

    Chaque enfant et parent en plus de l'information [enfant, parent] possède de nombreuses données.
    Afin d’éviter la redondance de ces dites données, comment faire pour établir les relations parents ?

    Pour le moment je passe par une troisième table décrivant donc toutes les relations pere-fils mais j'ai l'impression de prendre la mauvaise décision en faisant ça ...

    Qu'en pensez vous ?

    Merci d'avance pour tous vos conseils !

  2. #2
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut
    chaque enfants peut avoir plusieurs parents.
    Mais alors qu'entendez-vous par parents d'un enfant en plus d'un papa et d'une maman ? Les oncles, les tantes, tous les cousins ? Pour qu'on y voie plus clair, il faudrait que vous définissiez le rôle de chaque "parent" en relation avec l'enfant.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Bonsoir,

    Heu .. mon post était à l'origine dans le forum mysql : il concerne des relations inter tables.

    Mon problème est tout simple
    Je dois gérer des Activités et des Catégories,
    Le souci : Chaque activités peut appartenir à plusieurs catégories.

    Au début j'ai donc décidé de tout simplement mettre une colonne catégorie dans ma table activités. (foreign key)
    Cela rendait malheureusement redondant les informations liés aux activités.

    Afin de stocker quelque part cette information j'ai donc crée une troisième table "correspondances" ou toutes les liaisons "activités <-> catégories" sont enregistrées.

    J'ai souvenir d'avoir vue en cours de SGBD d'un trick permettant d’éviter cette manipulation mais impossible de remettre la main dessus.

    En espérant avoir été assez clair !


    Cdt.

  4. #4
    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
    Citation Envoyé par ithurts Voir le message
    Je dois gérer des Activités et des Catégories,
    Le souci : Chaque activités peut appartenir à plusieurs catégories.

    Au début j'ai donc décidé de tout simplement mettre une colonne catégorie dans ma table activités. (foreign key)
    Si tu mets une colonne "categorie" dans la table des activités, une activité ne peut appartenir qu'à une seule catégorie !

    Il semble que le MCD correspondant à ton besoin est le suivant :
    Activité -1,n----Appartenir----0,n- Categorie

    Ce qui se traduit en effet par 3 tables :
    Activité (act_id, act_libelle...)
    Categorie (cat_id, cat_libelle...)
    activite_categorie (ac_id_activite, ac_id_categorie...)

    'ai souvenir d'avoir vue en cours de SGBD d'un trick permettant d’éviter cette manipulation mais impossible de remettre la main dessus.
    Si on t'a enseigné une autre organisation de tables pour ce MCD en cours, c'est que ton prof est mauvais !

    Mais je crois plutôt que tu devrais réviser ton cours de SGBD, ou de passer du temps sur un cours de modélisation de bases de données.
    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 !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 117
    Points : 67
    Points
    67
    Par défaut
    Bonsoir,

    Je vous remercie pour les conseils ainsi que pour le lien que je suis en train de dévorer !

    Cdt.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récuperer l'enfant d'un parent ^^
    Par Loenix dans le forum GTK+ avec Python
    Réponses: 1
    Dernier message: 27/03/2009, 14h25
  2. Réponses: 4
    Dernier message: 22/11/2007, 19h23
  3. organisation de table
    Par TangoZoulou dans le forum Langage SQL
    Réponses: 19
    Dernier message: 14/08/2007, 14h54
  4. Comment organiser ma table ?
    Par Tatoine dans le forum Access
    Réponses: 5
    Dernier message: 18/08/2006, 11h27
  5. Récupérer variable d'un document enfant sur doc parent ?
    Par renaud26 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/03/2006, 14h22

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