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 :

Relation N-N [Débutant(e)]


Sujet :

Schéma

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Urbaniste
    Inscrit en
    Août 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2012
    Messages : 6
    Par défaut Relation N-N
    Bonjour je debute dans la modelisation de base de donnée et puis jai lu un peu sur les relations n-n, et les tables de jonctions...

    Mais je n'arrive toujour pas a comprendre, disons que jai 200 personnes qui possede chacune 200 voitures differentes

    J'aurai une table voiture avec les modeles de voiture different etc, ensuite une table personne avec leur identité etc,

    mais si je met une table de jonction jaurai donc 200x200 enregistrements a l'interieur... je me dit qu'il y a forcement quelque chose qui cloche... comment devrais-je procédé pour modeliser mon exemple correctement ?

    merci a l'avance d'aider un debutant

  2. #2
    Membre Expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 612
    Par défaut
    Bonjour,

    Il faut bien définir les cardinalités :
    - une personne peut posséder plusieurs voitures vous l'avez dit
    - est-ce qu'une même voiture (tout dépend ce qu'on entend par voiture, voir ci-dessous) peut être possédée par plusieurs personnes ?

    Par ailleurs, vous devriez, à mon avis, différencier un modèle de voiture, d'une voiture physique : une personne possède une voiture physique, et pour une même marque/modèle il y aura des centaines ou milliers de voitures physiques. Et d'ailleurs, pour un même modèle on a plusieurs motorisations, plusieurs finitions et même des options.

    Pour répondre de manière générale : oui une table de jointure peut rapidement contenir beaucoup d'enregistrements ; mais ce n'est pas du tout un problème

    Précisez bien votre besoin et donnez-nous votre modèle actuel si vous souhaitez des conseils

  3. #3
    Membre à l'essai
    Homme Profil pro
    Urbaniste
    Inscrit en
    Août 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2012
    Messages : 6
    Par défaut
    Citation Envoyé par FSiebert Voir le message
    Bonjour,

    Il faut bien définir les cardinalités :
    - une personne peut posséder plusieurs voitures vous l'avez dit
    - est-ce qu'une même voiture (tout dépend ce qu'on entend par voiture, voir ci-dessous) peut être possédée par plusieurs personnes ?
    Désolé si je ne suis pas tres precis dans ma demande
    mon exemple est tres mauvais...

    Disons que jai plusieurs personnes qui possedent chacunes une collection de piece de monnaie physique, les pieces de monnaie qu'ils possedent peuvent etre totalement differente une des autres, il peut y en avoir une infinité de types differente des une des autres. Plusieurs personnes peuvent avoir les meme types de pieces ou meme personellement des doubles ou triples sans probleme. Une piece de monnaie physique n'appartient qu'a seulement une personne a la fois par contre.

    En faites la vrai question que je me pose: dois-je avoir dans une table de jonction 1 enregistrement pour chaque pieces physiques afin de garder un modele relationnel cohérent ?

    N'y a t-il pas un moyen d'ajouter un tableau/array dans ma table personne exemple avec disons tout les types differentes de pieces qu'une personne aurait disons:

    Paul possede tout les pieces physique de type suivant [1,1,1,1,2,5,6,8,8,8,9]

    Est ce possible de garder un modele relationnel de cette facon ? ou est ce que je propose cest du nosql et pour garder un modele relationnel cohérent je dois absolument avoir recours a une table de jonction ?

  4. #4
    Membre Expert

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2012
    Messages
    612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 612
    Par défaut
    Donnez clairement votre modèle actuel pour qu'on comprenne bien où vous en êtes

    Dans tous les cas, ce genre de chose "[1,1,1,1,2,5,6,8,8,8,9]" est à bannir car il n'apporte rien d'autre que des problèmes.

    Quel est le problème de faire une table de jonction contenant les pièces physiques ? Je ne vois pas bien ce qui vous gêne.
    Une pièce physique sera associée à un type et à un propriétaire. Avec ce modèle, vous pourrez même ajouter des informations complémentaires comme par exemple l'état de la pièce (excellent état, légèrement abîmée, etc. ; sans stocker le libellé mais avec une table de référence hein )

  5. #5
    Membre à l'essai
    Homme Profil pro
    Urbaniste
    Inscrit en
    Août 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Août 2012
    Messages : 6
    Par défaut
    En faites je ne connais rien au fonctionnement intrinsèque d'une base de donnée alors je me demandais si coté performance lorsque qu'une table de jonction contient disons un demi millions d'enregistrement si c'etait tres genant...

    merci 1000x pour avoir pris le temp de me repondre maintenant je n'ai qu'une derniere question



    All primary keys must be unique. This implies that the combination of field A and B must be unique in table A_B.
    Dans mon exemple de piece de monnaie, un proprietaire de piece peut avoir plusieur fois le meme type de piece.

    Alors je me suis dit, je n'ai qu'a ajouter un champ quantité dans ma table de jonctions

    Est ce que c'est la bonne facon de proceder ?

    Merci d'avance !

  6. #6
    Expert confirmé
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 197
    Billets dans le blog
    1
    Par défaut
    Ajouter un champ "quantite" est une solution.

    Mais si tu veux les différencier (par exemple, il vends une pièce à untel, qui la revend à un autre, et tu veux au final savoir à qui appartient LA pièce qu'il a vendu, ta quantite n'est pas assez précise).

    Tu peux alors mette à la place un champ ID unique, qui sert de clé primaire. Les colonnes A et B sont alors indexées pour un accès rapide, mais sans contrainte d'unicité.

    Ainsi, quand une personne vent la pièce, la colonne A change, mais ID reste identique, tu peux donc savoir à qui la pièce a été vendue.

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

Discussions similaires

  1. Mettre en relation les contrôles DBLookUpComboBox et DBGrid
    Par Gendarmette dans le forum Bases de données
    Réponses: 7
    Dernier message: 19/01/2004, 13h16
  2. [Relations] afficher les relations entre 2 tables
    Par dzincou dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 14/01/2004, 17h07
  3. [EJB2.1 Entity] [CMR] Relation One to Many
    Par hamed dans le forum Java EE
    Réponses: 2
    Dernier message: 31/12/2003, 14h26
  4. Réponses: 2
    Dernier message: 26/09/2003, 15h54
  5. Problème avec mes tables de relation...
    Par mmike dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/06/2003, 15h16

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