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 :

Conception BDD : 1 objet A parent d'un objet B ou C


Sujet :

Schéma

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 31
    Par défaut Conception BDD : 1 objet A parent d'un objet B ou C
    Bonjour à tous,

    Je me remet (un peu) à la conception de BDD et j'aimerai savoir le meilleur moyen de faire. Mon problème :

    J'ai une entité "Parent"
    J'ai une entité "Enfant"

    Enfant peut avoir 0 ou 1 Parent
    Parent peut avoir 0 à n Enfant

    J'ai une entité "Objet".
    Object peut être à 1 Parent ou à 1 Enfant.

    Comment modéliser cela ?
    Mon premier réflexe est d'avoir une table objet contenant un id_entite et un type_entite (enfant ou parent).

    Y a-t-il une meilleure solution ?

    Merci

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 814
    Billets dans le blog
    14
    Par défaut
    Parent et enfant sont des personnes. Tu peux donc généraliser les deux en une entité Personne.
    Si les parents et les enfants ont des propriétés spécifiques en plus de leurs propriétés communes, tu peux modéliser un héritage.

    Ensuite il est facile d'associer l'objet à la personne plutôt qu'à un parent ou à un enfant.

    Parent -(1,1)----être----0,1- Personne -0,n----Posséder----1,1- Objet
    Enfant -(1,1)----être----0,1---------|
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    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 !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 31
    Par défaut
    Bonjour,

    Merci pour cette réponse. En fait, je me suis mal exprimé lors de la description du problème, en voulant simplifier au max pour la compréhension.

    Parent et Enfant n'ayant rien à voir.

    Autre exemple :
    J'ai une entité "Pays"
    J'ai une entité "Ville"

    Ville peut avoir 0 ou 1 Pays
    Pays peut avoir 0 à n Ville

    J'ai une entité "Drapeau".
    Drapeau peut être à 1 Pays ou à 1 Ville.

    J'en reviens du coup à ma question initiale à savoir :

    Comment modéliser cela ?
    Mon premier réflexe est d'avoir une table objet contenant un id_entite et un type_entite (enfant ou parent).

    Y a-t-il une meilleure solution ?

    Merci encore

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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 814
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Stoomm Voir le message
    je me suis mal exprimé lors de la description du problème, en voulant simplifier au max pour la compréhension.

    Parent et Enfant n'ayant rien à voir.

    Autre exemple :
    J'ai une entité "Pays"
    J'ai une entité "Ville"
    Et cette fois, dans le cas réel qui te préoccupe, il s'agit bien de pays et de villes ?

    Ville peut avoir 0 ou 1 Pays
    Pays peut avoir 0 à n Ville
    Une ville sans pays ? Elle est dans l'espace ?


    J'ai une entité "Drapeau".
    Drapeau peut être à 1 Pays ou à 1 Ville.

    J'en reviens du coup à ma question initiale à savoir :

    Comment modéliser cela ?
    Mon premier réflexe est d'avoir une table objet contenant un id_entite et un type_entite (enfant ou parent).

    Y a-t-il une meilleure solution ?
    Ben moi je dirais, en français, qu'un drapeau est une propriété d'un pays ou d'une ville. Il suffit donc d'associer drapeau à ville et à pays mais pas dans le sens que tu penses :
    ville -1,1----posséder----0,1- drapeau
    pays -1,1----posséder----0,1------|

    Du coup, c'est l'identifiant du drapeau qui se retrouvera en clé étrangère dans la table des pays et dans la table des villes.
    drapeau (drp_id, drp_fichier)
    pays (pay_id, pay_id_drapeau, pay_nom...)
    ville (vil_id, vil_id_pays, vil_id_drapeau, vil_nom...)
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    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 averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 31
    Par défaut
    Hello

    Non, ville et drapeau, c'est pas le cas réel, mais on s'en fout, ça marche, même si la ville est dans l'espace

    Merci pour ton retour en tout cas, ça parait logique même si j'ai pas l'habitude en effet de faire comme ça

Discussions similaires

  1. Epine de conception BDD : calculs de valeurs
    Par YeP dans le forum Modélisation
    Réponses: 5
    Dernier message: 16/08/2007, 18h55
  2. Communication entre objet via "Parent" ?
    Par starkson dans le forum Windows Forms
    Réponses: 11
    Dernier message: 17/02/2007, 18h22
  3. conception BDD immobiliere
    Par mealtone dans le forum Débuter
    Réponses: 4
    Dernier message: 14/06/2006, 17h34
  4. conception BDD
    Par Naruto_kun dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/04/2006, 17h46
  5. [Conception] BDD & PHP, néophite à besoin d'aide pour un site
    Par Cusack dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 14/02/2006, 20h53

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