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

Merise Discussion :

passage du modèle E/A au modèle relationnel


Sujet :

Merise

  1. #1
    Membre du Club
    passage du modèle E/A au modèle relationnel
    bonjour à tous, mon cours de bases de données donne les assertions à mettre en place lors du passage du modèle entité association au modèle relationnel sous forme d'écriture mathématique (sans aucune explication au préalable) et je suis un peu largué, est-ce que quelqu'un pourrait m'aider à déchiffrer ça:



    j'ai "pour tout" ,

    je ne sais pas à quoi correspond le " / ",

    appartient ou appartenant à "livre",

    est-ce que "card" est l'équivalent de assert ?

    j'ai "a" appartient à "a_ecrit"

    est-ce que " | " signifie OR (ou)?

    je comprends le reste à part le ^ qui à priori veut dire "et" mais ça me parait bizarre d'utiliser " | " pour dire "ou" et "^" pour dire "et"
    (au lieu d'utiliser v et ^ ou alors | et &)


    merci!

    EDIT: le contexte serait peut être utile:

    il n'est pas précisé à quoi correspond "a" (auteur?), " l " (livre?), ni "a_ecrit" (la je sèche, c'est un attribut, une association ou autre chose?)

  2. #2
    Expert éminent sénior
    Ou comment faire ch*** les étudiants avec des trucs inutiles et leur enseigner simultanément des con#&@ies

    Cette notation mathématique ne vous apportera rien, par contre vous proposer un modèle ou l'ISBN et encore pire, le nom de la personne est identifiant primaire c'est vraiment n'importe quoi !

  3. #3
    Membre du Club
    ça pour me faire ch*** c'est réussi! par contre j'aimerai quand même bien savoir ce que ça signifie (sous forme de phrase...) pour le nom de la personne effectivement c'est n’importe quoi,

    simplifier un peu est une bonne idée mais rendre le cours plus abordable en évitant la notion d'identifiant_personne tout en laissant une déclaration (qui serait probablement déja incompréhensible sous forme de phrase) sous une forme mathématique obscure sans aucune légende ou explication c'est vraiment du foutage de gueule...

    par contre pour l'ISBN ce n'est pas un numéro unique à chaque exemplaire d'un livre?

  4. #4
    Expert éminent sénior
    Je ne suis pas capable de répondre à l'énoncé et franchement je n'ai jamais eu besoin de ce genre de savoir pour modéliser une base de données

    Au sujet de l'ISBN : non, il n'est pas unique pour l'exemplaire : il est lié au livre, tous les exemplaires d'un même livre ont le même ISBN, et il a plusieurs inconvénients

    • inconvénient principal : il est attribué par un organisme extérieur qui peut donc quand il le souhaite en changer le type, la structure ou la longueur.
      Comme l'identifiant primaire se propage dans les tables via les clefs étrangères, chaque modification de l'ISBN sera lourde de conséquences (il a déjà changé de longueur de 10 à 13 caractères par le passé)
      De plus, les ouvrages datant d'avant 1970 ou non soumis au dépôt légal n'ont pas d'ISBN, or, bien évidemment, la clef primaire est obligatoire et non "nullable"
      cf. https://fr.wikipedia.org/wiki/Intern...rd_Book_Number
      et notamment cet extrait !
      En résumé : les réimpressions d'un ouvrage à l'identique conservent leur ISBN (même si le prix a changé) ; en revanche, toutes les variations d'une publication (format, nature, support, illustration de couverture…) doivent posséder leur numéro de publication propre.
    • inconvénient non négligeable : l'ISBN est de type caractères et donc sensible à la collation contrairement aux types numériques.
    • inconvénient supplémentaire : les 13 caractères d'un type char sont bien plus encombrants que les 4 caractères d'un type integer, au détriment des performances (encombrement disque et réseau)

  5. #5
    Membre du Club
    ok en effet du coup utiliser l'isbn comme clé n'est pas valable... pour ce qui est de l'assertion incompréhensible, le prof a fourni un autre support de cours qui décrit le passage du modèle E/A au modèle relationnel selon les cardinalités, voila ce que ça dit a propos des cardinalités impliquées dans l'exemple précédent:

    3)Table issue d’une association binaire:
    -(0,n)-(0,n)
    -(1,n)-(1,n)
    -(1,n)-(0,n)


    Une table ayant comme clé une clé composée des identifiants des 2 entités est créée. Les éventuelles propriétés de l’association deviennent les attributs de la table
    du coup aucune référence à une assertion quelconque, donc je pense que je vais laisser tomber le premier cours...

  6. #6
    Expert éminent sénior
    Oui,

    Quand la cardinalité maxi est n sur chaque "patte" de l'association (vrai aussi pour les ternaires donc), cette association devient une table dans le MLD, table dont la PK se compose de l'identifiant de chaque type d'entité intervenant dans l'association.

    Seul exception : la ternaire porteuse d'une CIF (contrainte d'intégrité fonctionnelle) d'unicité

    Pour reprendre l'exemple de la bibliothèque de votre autre sujet, l'association "emprunter" concerne les types d'entité EXEMPLAIRE, ABONNE et DATE (cette dernière étant une entité-type fictive qui ne deviendra donc pas une table)
    mais, comme pour une date et un exemplaire donné, il ne peut y avoir qu'un seul emprunteur (un seul abonné), la table résultante de l'association "emprunter" aura pour PK l'identifiant de l'exemplaire et la date, l'abonné sera un simple attribut hors de la PK

  7. #7
    Modérateur

    Je plussoie les remarques déjà faites à propos de cette notation incompréhensible et sur le très mauvais choix des clés !
    Vous pourrez transmettre à votre prof ce qu'on pense de sa conception !

    Pour en apprendre un peu plus sur les tables associatives, voir mon billet sur mon ancien blog ; tous les cas d'association binaire y sont étudiés.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    Membre du Club
    pour sa défense, ce n'est pas son cours, c'est un support de cours alternatif (cours de jacques le maitre de je ne sais plus quelle université) en plus de son cours il nous fournit des liens vers divers autres cours et tutos.

  9. #9
    Modérateur

    Ben tu pourras lui dire de notre part de foutre ce cours à la poubelle !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  10. #10
    Expert éminent sénior
    Ou alors s'en servir de cours, pour expliquer ce qu'il ne faut pas faire

  11. #11
    Expert éminent sénior
    Bonsoir,

    Je viens seulement de découvrir la discussion.

    La formule bizarre dans le 1er post est une expression du calcul relationnel de tuples, immédiatement reconnaissable à la présence au tout début du quantificateur universel « Quel que soit ».

    Traduction en SQL (par Champollion) :

    SELECT nom, prenom, COUNT(*) as card
    FROM   livre as l 
      JOIN a_ecrit as a ON l.ISBN = a.ISBN
    GROUP BY nom, prenom
    HAVING COUNT(*) > 0
    ; 




    En tout cas, pourquoi faire simple quand on peut faire compliqué ?
    Faites simple, mais pas plus simple ! (A. Einstein)
    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 »)

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

###raw>template_hook.ano_emploi###