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 :

Has_many & belongs_to


Sujet :

Schéma

  1. #1
    Membre du Club
    Homme Profil pro
    Dessinateur vrd
    Inscrit en
    janvier 2015
    Messages
    45
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Dessinateur vrd
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : janvier 2015
    Messages : 45
    Points : 52
    Points
    52
    Par défaut Has_many & belongs_to
    Bonsoir à tous et à toutes.

    j'ai une petits questions entre les relations de tables

    J'essaie d'imaginer les tables qu'il existe sur le site Netflix et j'ai du mal.

    Voila mes tables:
    - une table user avec des champs name / mails ...
    - une table film avec des champs name / date de sortie / ect ...
    - une table serie avec des champs name / nombre de saisons / etc...

    parcontre je bute sur les associations entre les tables... et je pense qu'il manque une table pour associé ce petit monde

    Un user peut avoir plusieur film
    Un user peur avoir plusieur serie

    un film peut avoir plusieur user
    une serie peut avoir plusieur user

    ce qui veux dire que j'ai une clé étrangere films et serie dans la table user
    une clé étrangère user dans film
    un clé étrangère user dans serie
    Images attachées Images attachées  

  2. #2
    Expert éminent
    Homme Profil pro
    Responsable Données
    Inscrit en
    janvier 2009
    Messages
    4 082
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : janvier 2009
    Messages : 4 082
    Points : 9 566
    Points
    9 566
    Par défaut
    Bonjour,
    Tu pars sur la mauvaise voie:
    • une clé étrangere films et serie dans la table user => donc un user ne peut "avoir" qu'un seul film et qu'une seule série
    • une clé étrangère user dans film => un film ne peut "avoir" qu'un seul user
    • un clé étrangère user dans serie => une série ne peut "avoir" qu'un seul user

    Or tu veux exactement l'inverse. Donc copie à revoir !
    Tu indiques qu'il te manque un table pour associer tout ça. Je dirai plutôt qu'il te manque deux tables pour associer tout ça.

    Tatayo.

  3. #3
    Expert éminent sénior

    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    5 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : mars 2010
    Messages : 5 414
    Points : 16 331
    Points
    16 331
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Pour éviter de se poser des questions métaphysiques sur la distribution des clefs étrangères, il est bien plus simple de commencer par modéliser le MCD (modèle conceptuel des données donc) qui doit être le reflet exact des règles de gestion. Comme vous avez rédigé les règles de gestion, schématiser le MCD ne sera pas un problème.
    Et, à partir du MCD, la génération du MLD est automatique en quelques clics, ainsi le problème des FK se résout tout seul

    Si vous cherchez un logiciel de modélisation gratuit, il existe Looping qui est très bien

Discussions similaires

  1. [Débutant] Travail avec 2 tables en :has_many et :belongs_to
    Par Miles Raymond dans le forum Ruby on Rails
    Réponses: 2
    Dernier message: 05/03/2009, 00h49
  2. Comment fonctionne le has_many ? (has_one vs belongs_to)
    Par kedare dans le forum Ruby on Rails
    Réponses: 10
    Dernier message: 01/12/2008, 18h52

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