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

ORM PHP Discussion :

Exemple simple de relation Many:Many et One:Many [Doctrine]


Sujet :

ORM PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 702
    Par défaut Exemple simple de relation Many:Many et One:Many
    Salut,

    J'ai besoin que quelqu'un me fasse un exemple simple pour m'expliquer les relations.
    Les bases de données n'étant pas mon domaine je suis perdu et je n'arrive pas avoir la différence.

    Je donne un schéma Yaml :

    Les 5 tables :
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    Atelier:
      columns:
        name:       { type: string(255), notnull: true }
     
    Annexe:
      columns:
        name:       { type: string(255), notnull: true }
     
    Batiment:
      columns:
        name:       { type: string(255), notnull: true }
        abbreviation: { type: string(20), notnull: true }
     
    Tag:
      columns:
        name:       { type: string(255), notnull: true }
        batiment_id:  { type: integer, notnull: true }
        atelier_id:  { type: integer }
        annexe_id:  { type: integer }
        zone_cmr:       { type: boolean, notnull: true, default: 0 }
     
    Intervention:
      columns:
        label:  { type: string(255), notnull: true }
        intervenant :  { type: string(255), notnull: true }
        tag_id :  { type: integer }
    Les conditions :

    • Un atelier peut être associé à un ou plusieurs TAG
    • Une annexe peut être associée à un ou plusieurs TAG
    • Un bâtiment peut être associé à un ou plusieurs TAG
    • Un tag peut être associé à une ou plusieurs Intervention
    • Une Intervention est associée à un TAG



    Comment dois-je definir mes relations et de quelle type sont-elles ?
    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Est-ce qu'un même tag peut être utilisé pour un atelier, une annexe, un bâtiment ?

    Il va y avoir plus de 5 tables à terme.

  3. #3
    Membre éclairé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 702
    Par défaut
    J'ai peut être mal conçu mon exemple.
    Je vais tenter de mieux présenter le contexte.

    Un TAG est un élément unique sur lequel on doit intervenir
    Ce TAG est situé (géographiquement) grâce à son Bâtiment, son Atelier et/ou son annexe.

    Donc une intervention est reliée à un TAG qui lui même est relié à son Bâtiment, son Atelier et/ou son annexe.

    Dsl ! Si je mon exemple devient compliqué. Mais c'est la dur réalité a laquelle je suis confronté actuellement et mon exemple est pourtant simple par rapport au projet final

  4. #4
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    C'est TAG qui est mal choisi. Il donne l'impression que c'est une information collée sur bâtiment ou atelier ou... alors que c'est l'élément principale.

    Bon, partant de ce que tu dis, est-ce qu'un tag peut appartenir à plusieurs bâtiments (ou atelier ou annexe) ? Est-ce qu'un tag peut appartenir simultanément à un bâtiment, deux annexes et un atelier ? Ou un bâtiment, une annexe et un atelier ?

  5. #5
    Membre éclairé Avatar de llaffont
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2007
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2007
    Messages : 702
    Par défaut
    Non, un TAG est unique.

    Un bâtiment peut appartenir à plusieurs TAG
    Un atelier peut appartenir à plusieurs TAG
    Une annexe peut appartenir à plusieurs TAG
    Un TAG contient au minimum un Atelier et Bâtiment
    Une intervention contient un seul et unique TAG
    Un intervenant possède plusieurs intervention.

    J'ai vraiment l'impression d'abuser de toi . J'ai pas du prendre le meilleur exemple mais comme c'est mon contexte actuel je ne m'éloigne pas trop.

    Je devrais avoir un développeur dans les semaines a venir mais pour l'heure mon projet doit avancer donc je m'adapte

  6. #6
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    je cerne un peu mais j'ai du mal à voir le contexte many to many là.

    Un Tag peut avoir plusieurs bâtiment ? Ou plusieurs quelque chose ?

    Quel est l'intérêt d'avoir une table bâtiment, une atelier et une annexe ? Ne pourrais-tu pas avoir une table lieu avec un champ type de lieu ?

    Quel est l'intérêt d'avoir une table TAG liée en one to one à une table intervention ? Pourquoi ne pas fusionner les deux ?

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

Discussions similaires

  1. [HQL] Many to one--Many to many
    Par seb759 dans le forum Hibernate
    Réponses: 6
    Dernier message: 20/12/2011, 13h24
  2. Confusions entre les one/many-to-many/one
    Par TigrouMeow dans le forum Hibernate
    Réponses: 1
    Dernier message: 01/01/2007, 21h44
  3. [RMI] Exemple simple de mise en place
    Par Marc90 dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 31/05/2006, 16h17
  4. recherche exemple simple pour corba en c++
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 06/05/2002, 11h29

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