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 :

Transformation MCD - MLD des Relations Binaires (1,1)-(0,1) et (0,1)-(0,1)


Sujet :

Schéma

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4
    Points : 7
    Points
    7
    Par défaut Transformation MCD - MLD des Relations Binaires (1,1)-(0,1) et (0,1)-(0,1)
    Bonjour,

    Alors voilà mes questions:

    • Relation (1,1) - (0,1)

    Soit l'extrait suivant de MCD:



    lors du passage au MLD certains auteurs proposent ceci:

    LECTEURS(IDlecteur, IDlivre, Nom)
    LIVRES(IDlivre, Titre)

    d'autres ceci:

    LECTEURS(IDlecteur, IDlivre, Nom)
    LIVRES(IDlivre, IDlecteur, Titre)



    • Relation (0,1) - (0,1)

    Soit l'extrait de MCD suivant:



    Dans ce cas 4 solutions sont proposées:

    1. Solution 1

      LECTEURS(IDlecteur, Nom)
      LIVRES(IDlivre, Titre)
      EMPRUNTER(IDlecteur, IDlivre)

    2. Solution 2

      LECTEURS(IDlecteur, Nom)
      LIVRES(IDlivre, Titre)
      EMPRUNTER(IDlivre, IDlecteur)

    3. Solution 3

      LECTEURS(IDlecteur, Nom)
      LIVRES(IDlivre, IDlecteur, Titre)

    4. Solution 4

      LECTEURS(IDlecteur, IDlivre, Nom)
      LIVRES(IDlivre, Titre)




    Pouvez vous me dire pour ces 2 relations binaires quelle est la bonne solution ou tout au moins la meilleure...

    Merci

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 10
    Points : 10
    Points
    10
    Par défaut
    salut

    je pense que la meilleur solution est de considerer toujours 0,1 comme 0,n
    • Relation (1,1) - (0,1)

    LECTEURS(IDlecteur, IDlivre, Nom)
    LIVRES(IDlivre, IDlecteur, Titre)

    • Relation (0,1) - (0,1)

    LECTEURS(IDlecteur, Nom)
    LIVRES(IDlivre, Titre)
    EMPRUNTER(IDlecteur, IDlivre)
    avec cette solution on évitera plusieurs valeurs Null

    Rq: on peut identifier une relation par une clé composé de deux attributs c'est le cas de la Relation-Association Emprunter.

  3. #3
    Expert éminent sénior
    Avatar de fsmrel
    Homme Profil pro
    Spécialiste en bases de données
    Inscrit en
    Septembre 2006
    Messages
    8 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Spécialiste en bases de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2006
    Messages : 8 001
    Points : 30 905
    Points
    30 905
    Billets dans le blog
    16
    Par défaut Précisions
    Bonjour Melotron, bonjour Annoussa,

    Annoussa a écrit :
    je pense que la meilleure solution est de considérer toujours 0,1 comme 0,n


    Relation (1,1) - (0,1)

    LECTEURS (IDlecteur, IDlivre, Nom)
    LIVRES (IDlivre, IDlecteur, Titre)
    Vous avez raison Annoussa, par contre l’attribut IDlecteur doit être évacué de LIVRES, sinon vous créez un cycle et en plus, au niveau tabulaire, vous serez confrontés à des problèmes de valeurs nulles (qui plus est dans une clé étrangère, affreux...)

    Il reste :

    LECTEURS (IDlecteur, IDlivre, Nom)
    LIVRES (IDlivre, Titre)

    En plus, IDlivre devra être déclaré UNIQUE au niveau de l’instruction CREATE TABLE LECTEURS (symbolisé par le nom en bleu ci-dessus).

    Du point de vue relationnel, IDlecteur et IDlivre sont deux clés candidates de LECTEURS.



    Annoussa a écrit :

    Relation (0,1) - (0,1)

    LECTEURS (IDlecteur, Nom)
    LIVRES (IDlivre, Titre)
    EMPRUNTER (IDlecteur, IDlivre)

    avec cette solution on évitera plusieurs valeurs Null.

    Rq: on peut identifier une relation par une clé composé de deux attributs c'est le cas de la Relation-Association Emprunter.
    Une remarque : Au niveau relationnel, le couple {IDlecteur, IDlivre} ne peut pas être clé de la table EMPRUNTER, sinon à un lecteur on pourra associer plusieurs livres et à un livre plusieurs lecteurs.
    En conséquence, IDlecteur pourra être déclaré clé primaire et IDlivre clé alternée : UNIQUE au niveau de l’instruction CREATE TABLE EMPRUNTER (ou IDlivre déclaré clé primaire et IDlecteur clé alternée). Désormais, un emprunt concerne un livre et un lecteur uniques.

    EMPRUNTER (IDlecteur, IDlivre)

    Du point de vue relationnel, IDlecteur et IDlivre sont deux clés candidates de EMPRUNTER.
    (a) Faites simple, mais pas plus simple ! (A. Einstein)
    (b) Certes, E=mc², mais si on discute un peu, on peut l’avoir pour beaucoup moins cher... (G. Lacroix, « Les Euphorismes de Grégoire »)
    => La relativité n'existerait donc que relativement aux relativistes (Jean Eisenstaedt, « Einstein et la relativité générale »)

    __________________________________
    Bases de données relationnelles et normalisation : de la première à la sixième forme normale
    Modéliser les données avec MySQL Workbench
    Je ne réponds pas aux questions techniques par MP. Les forums sont là pour ça.

Discussions similaires

  1. [MCD] Etablir un MCD des relations d'une base relationnelle
    Par momopo dans le forum Schéma
    Réponses: 3
    Dernier message: 01/05/2009, 16h00
  2. [mcd]héritage pour gestion des relations
    Par jmarco dans le forum Schéma
    Réponses: 5
    Dernier message: 17/07/2007, 15h31
  3. MCD a MLD et les attributs des relations
    Par anis_el_madani dans le forum Schéma
    Réponses: 1
    Dernier message: 16/07/2007, 14h45
  4. Transformation MCD- MLD relation binaire
    Par lylia SI dans le forum Schéma
    Réponses: 1
    Dernier message: 04/05/2007, 19h37
  5. Transformation Héritage (MCD-MLD)
    Par ngwiamfr dans le forum Schéma
    Réponses: 4
    Dernier message: 07/03/2007, 00h13

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