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 :

Schéma relationnel pour les généralisations-spécialisations [MCD]


Sujet :

Schéma

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 15
    Points : 16
    Points
    16
    Par défaut Schéma relationnel pour les généralisations-spécialisations
    Bonjour,

    Je me pose la question de la traduction au niveau logique d'un modèle conceptuel comportant des hierarchies.
    Le sujet traité concerne la gestion d'itinéraires de randonnées avec les règles de gestions simplifiées suivantes :

    Un itinéraire comprend des points d'intérêt (POI).
    Un POI peut appartenir à un itinéraire.
    Un itinéraire ou un point-d'interêt (POI) peuvent être décrits par des photos, et/ou des thèmes, et/ou des paysages et/ou des mots-clefs.
    On peut attribuer des mots-clefs aux itinéraires, aux POI, aux photos et aux thèmes

    Sans être persuadée que cela soit la meilleure solution, une des options de modélisation donne un MCD définissant des entités-types "abstraites" qui généralisent d'une part les objets décrits (qu'ils soient des itinéraires ou des POI), et d'autre part les "descripteurs" (mot-clefs, thèmes, photos, paysages).
    Ces deux généralisations ont le mérite de donner un modèle conceptuel assez lisible (voir l'image jointe).

    Il y a juste que je n'ai pas l'habitude de traduire ce type de modèle en modèle logique de données.

    En plus de leurs liens de hiérarchie, les entités sous-types et les entités sur-types sont impliquées "individuellement" dans des associations. Ex. Motclef avec Photo et avec Theme, POI avec Itineraire.
    Compte tenu de cela, est-ce un bon choix que de créer pour les sur-types deux relations, et d'identifier les sous-types par une clef primaire, en référence à la clé de ces sur-types ?

    Voir l'exemple pour le descripteur et 2 de ses sous-types ci-dessous.

    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
    
    CREATE TABLE DESCRIPTEUR
       (
        ID_DESCRIPTEUR INT  NOT NULL ,
       CONSTRAINT PK_DESCRIPTEUR PRIMARY KEY (ID_DESCRIPTEUR)
       );
    
    CREATE TABLE MOTCLEF
       (
        ID_DESCRIPTEUR INT  NOT NULL  ,
        MOT char(32) NULL ,
       CONSTRAINT PK_MOTCLEF PRIMARY KEY (ID_DESCRIPTEUR)
       );
    
    CREATE TABLE THEME
       (
        ID_DESCRIPTEUR INT  NOT NULL  ,
        NOM_THEME char(32) NULL ,
       CONSTRAINT PK_THEME PRIMARY KEY (ID_DESCRIPTEUR)
       );
    Est-ce la même chose que de dire que les relations sous-types ont une clef étrangère, id_descripteur, en référence à la clef primaire de la relation descripteur, et que cette clef étrangère constitue leur clef primaire.
    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
    
    CREATE TABLE DESCRIPTEUR
       (
        ID_DESCRIPTEUR INT NOT NULL ,
       CONSTRAINT PK_DESCRIPTEUR PRIMARY KEY (ID_DESCRIPTEUR)
       );
    
    CREATE TABLE MOTCLEF
       (
        ID_DESCRIPTEUR INT  NOT NULL  ,
        MOT char(32) NULL ,
       CONSTRAINT PK_MOTCLEF PRIMARY KEY (ID_DESCRIPTEUR),
       CONSTRAINT FK_MOTCLEF FOREIGN KEY (ID_DESCRIPTEUR) 
              REFERENCE DESCRIPTEUR (ID_DESCIPTEUR));
       );
    
    CREATE TABLE THEME
       (
        ID_DESCRIPTEUR INT  NOT NULL  ,
        NOM_THEME char(32) NULL ,
       CONSTRAINT PK_THEME PRIMARY KEY (ID_DESCRIPTEUR),
       CONSTRAINT FK_THEME FOREIGN KEY (ID_DESCRIPTEUR) 
           REFERENCE DESCRIPTEUR (ID_DESCIPTEUR));
       );
    Merci à tous de vos lumières,
    Catcat
    Images attachées Images attachées  

  2. #2
    Membre chevronné Avatar de chaplin
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 215
    Points : 1 819
    Points
    1 819
    Par défaut
    Compte tenu de cela, est-ce un bon choix que de créer pour les sur-types deux relations, et d'identifier les sous-types par une clef primaire, en référence à la clé de ces sur-types ?
    Sans hésitation, c'est le meilleur choix. Vous trouverez l'explication dans cet article Modélisation par héritage qui vous apportera la solution au modèle logique par rapport à la question de l'héritage et particulièrement la rubrique "6. Héritage conditionnel" qu'il suffira de transposer à votre problématique.

    Sans être persuadée que cela soit la meilleure solution, une des options de modélisation donne un MCD définissant des entités-types "abstraites" qui généralisent d'une part les objets décrits (qu'ils soient des itinéraires ou des POI), et d'autre part les "descripteurs" (mot-clefs, thèmes, photos, paysages).
    Des entités types "abstraites", dans votre cas, elles sont bien concrètes sinon vous n'auriez pas de table Objet et Descripteur. C'est la meilleure solution pour traiter votre cas d'héritage.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 15
    Points : 16
    Points
    16
    Par défaut
    Merci beaucoup pour cette réponse et pour ce lien vers une mine d'informations sur le passage en MLD
    Et votre réponse me rassure sur le choix de modélisation adopté.
    Envore merci,

    Catcat

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/08/2011, 15h52
  2. Réponses: 3
    Dernier message: 08/11/2010, 17h37
  3. Réponses: 2
    Dernier message: 11/06/2009, 12h32
  4. interprétation pour schéma relationnel
    Par acacia dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 30/01/2009, 12h13

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