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 :

Question sur l'héritage


Sujet :

Schéma

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur .NET
    Inscrit en
    novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : novembre 2011
    Messages : 13
    Points : 11
    Points
    11
    Par défaut Question sur l'héritage
    Bonsoir,

    J'ai un utilisateur qui peut poster un avis global ou alors un avis détaillé sur un lieu.
    J'ai pensé utiliser l'héritage pour modéliser ceci mais je ne suis pas familier avec cette notion
    J'ai fait ceci :
    Nom : Avis.png
Affichages : 44
Taille : 13,7 Ko
    Ca me semble simple et efficace.
    Mais, déjà est-ce correct ?

    Nom : Avis2.png
Affichages : 42
Taille : 11,9 Ko
    Mais après je me pose des questions, sur comment interroger ces tables.
    Si je veux récupérer les avis détaillés, je vois comment faire :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * 
    FROM T_AV_Avis AS A
    INNER JOIN T_AVD_AvisDetaille AS B ON A.AV_ID = B.AV_ID
    WHERE AV_US_ID = 1
    Par contre, si je veux récupérer uniquement les avis globaux, cela me semble moins pertinent et inutilement compliqué
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT * 
    FROM T_AV_Avis AS A
    LEFT JOIN T_AVD_AvisDetaille AS B ON A.AV_ID = B.AV_ID
    WHERE AV_US_ID = 1 AND B.AV_ID IS NULL
    Est-ce la bonne façon de faire ? Si non, il faudrait que je m'y prenne comment ?
    Comment je peux améliorer ça ?
    En ajoutant un typage dans Avis ? du genre AV_Type = 0 => Avis global et AV_Type = 1 => Avis détaillé
    Est-ce que l'héritage n'est tout simplement pas adapté à mon cas ?

    Merci d'avance pour votre aide

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    mars 2010
    Messages
    8 624
    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 : 8 624
    Points : 31 661
    Points
    31 661
    Billets dans le blog
    2
    Par défaut
    S'il ne peut y avoir qu'un seul sous-type, la précision "XT" n'a pas lieu d'être et l'intérêt de l'héritage n'est avéré que si l'avis détaillé est facultatif et fortement volumineux.
    Mais également, on peut tout aussi bien modéliser une entité-type supplémentaire en lieu et place du sous-type et ayant une cardinalité
    [AVIS_DETAIL] 1,1(R) ---(concerner) --- 0,n [AVIS]
    L'avantage est qu'on peut si besoin avoir plusieurs lignes détail pour un même avis.
    Notez le (R) près des cardinalités matérialisant l'identification du détail relativement à l'avis (le détail est une entité-type dite "faible" : il ne peut y avoir de détail seul)

    Pour ce qui est de récupérer les informations de l'une et l'autre table, on pourra créer une vue réalisant une jointure externe (OUTER JOIN) sur les deux tables.
    Une jointure sur une colonne PK bien conçue (idéalement de type integer) est très performante et ne pose donc pas de problème

Discussions similaires

  1. Questions sur l'héritage multiple
    Par beegees dans le forum C++
    Réponses: 12
    Dernier message: 31/03/2008, 17h01
  2. Question sur l'héritage (débutant en C++)
    Par beegees dans le forum C++
    Réponses: 19
    Dernier message: 30/03/2008, 14h45
  3. petite question sur l'héritage et les cast
    Par baedal dans le forum Langage
    Réponses: 3
    Dernier message: 29/02/2008, 00h48
  4. Questions sur l'héritage dans Matisse
    Par Cassios dans le forum NetBeans
    Réponses: 8
    Dernier message: 14/03/2007, 23h23
  5. Question sur l'héritage
    Par the big ben 5 dans le forum Delphi
    Réponses: 28
    Dernier message: 06/06/2006, 17h27

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