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 :

Problème de modélisation hierarchie de cours


Sujet :

Schéma

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut Problème de modélisation hierarchie de cours
    Bonjour,
    je débute dans la modélisation et n'arrive pas à trouver un modèle satisfaisant pour mes données.
    Pour simplifier je vais prendre l'exemple des cours dans une Faculté.
    Chaque cours appartient à une seule discipline et chaque discipline a un ou plusieurs responsables. Il existe des sousdisciplines pour chaque discipline et chaque ensemble discipline_sousdiscipline a également ses propres responsables (le big responsable étant celui de la discipline mère). De plus, un cours est associé soit juste à une discipline soit à un ensemble discipline_sousdiscipline.
    Par exemple :
    coursA -> discipline Immunologie
    coursB -> discipline Immunologie +sous discipline Immunochimie
    responsable Immunologie -> M. Durand
    responsables Immunologie_Immunochimie -> M. Dupuis et Dupuit
    (donc coursA a 1 responsable et coursB 3 responsables sur 2 niveaux)

    Au niveau de mon interface de consultation de la DB, il faut que je puisse au moins :
    lister les cours pour chaque discipline majeure
    lister les cours pour chaque discipline_sousdiscipline
    afficher les divers responsables d'un cours
    distinguer les responsables de discipline des responsables discipline_sousdiscipline
    Dans ma base, j'avais une table Cours, une Discipline, une Personne et une table d'association DisicplinePersonne pour gérer plusieurs responsables. Ma table Discipline contenait à la fois les disciplines et discipline_sousdiscipline avec un booleen pour distinguer la discipline majeure. J'ai plus de 50000 cours différents. Je suis sûr qu'il existe une mailleure façon de représenter tout ça.
    Pouvez vous me conseiller svp ?
    merci
    nabalilu

  2. #2
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Points : 661
    Points
    661
    Par défaut
    Pour un premier jet ( à ameliorer)

    Soit trois tables
    Cours (C)
    Discipline (D)
    Responsable (R)


    Soit 3 relations
    C (0..*) ---appartient à---> (1..*) D
    D (1..*)---possède des sous-Disiciplines ---> (0..*) D
    D
    (0..N) --- possède un/des responsable---> (1..N)R

    Tu vas trouver 3 tables d'associoations et trois table de bases.

    Il faut encore definir des contraintes ! (le niveau d'imbrication des s-D, par exemple)

    Et tu n'as pas besoin de mettre ton boolean pour differencier les D et s-D. Il suffit de verifier l'association en cause.
    Pour les details, cherche tout seul !

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Tout d'abord merci pour la réponse (et la vitesse de réponse).

    J'avais pensé à cette option mais j'ai un doute.
    Ce n'est pas clair dans mon exemple mais la sous discipline Immunochimie peut appartenir à d'autres disciplines (autre que Immunologie, par exemple Chimie).
    Si j'ai bien compris votre explication, je vois 2 façons de remplir la table Discipline
    1) la table D contient les disciplines (Immunologie) et les sousdisciplines (Immunochimie). Dans ce cas je ne vois pas comment tracer les responsables Immunologie_Immunochimie qui sont différents des responsables Chimie_Immunochimie.
    2) la table D contient les disciplines (Immunologie) et la concaténation discipline_sousdiscipline (Immunologie_Immunochimie). Dans ce cas on trace bien les divers responsables mais je ne trouve pas la concaténation très pratique. Si je veux afficher les sousdisciplines de Chimie, il faudra que je découpe chaque donnée au niveau du "_". Je ne dis pas que c'est infaisable mais j'espérais trouver une "meilleure" solution.

    Maintenant j'ai peut être pas tout compris à la solution proposée

    nabalilu

  4. #4
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Points : 661
    Points
    661
    Par défaut
    je met a jour mon post en fonction de la nouvelle relation.

    On change la multiplicité de la relation entre discipline et on rajoute une table d'association.

    La seule difficulté reside dans les relations présente depuis la sous-discipline vers les responsables et les cours, car dans les discipline majeurs le lien est peut etre deja present.

    Il faut juste bien decrire si un lien depuis la discipline (vers cours/responsable) majeur se replique sur les sous discipline ou pas.
    Pour les details, cherche tout seul !

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Je suis désolé, je ne comprends pas bien votre dernière explication

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Points : 6
    Points
    6
    Par défaut
    Finalement, ce schéma peut il convenir ?

    Discipline contient les disciplines et les sousdisciplines (Immunochimie, Chimie, Immunologie...)
    Un cours est associé à au moins une discipline et au plus à 2 (la deuxième étant la sousdiscipline).
    La table d'association Disc_responsable gère les responsables de disciplines majeures
    La table d'association Assoc_Discipline gère les ensembles Disicpline_Sousdiscipline
    La table d'association Assoc_Disc_Responsable gère les responsables des Disicpline_Sousdiscipline

    Merci pour votre aide
    Images attachées Images attachées  

Discussions similaires

  1. Problème de dessin d'une cour
    Par franc82 dans le forum OpenGL
    Réponses: 3
    Dernier message: 20/02/2007, 09h28
  2. Problème de modélisation avec Case Studio
    Par soso78 dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 15/06/2006, 18h13
  3. Problème de modélisation
    Par Tyler Durden dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 10/06/2006, 16h18
  4. [Class/PHP/Postgres] Problème de modélisation...
    Par k-reen dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 27/02/2003, 08h49

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