Etude des relations

28 février 2014
Imprimer

 

Haut

Nous avons 5 tables mais maintenant il faut étudier quelle relation s'établit entre chaque table.

Avant d'établir cette relation, il est impératif de mettre une clef primaire sur chaque table.

Ces relations représentent une action entre les tables. Dans notre cas :

  • Les pages appartiennent aux CD
  • les CD sont édités par un éditeur
  • Les plages sont composées, écrites ou interprétés par un auteur ou compositeur ou interprète
  • les CD sont catégorisés en type de musique

 

Afin de ne pas confondre les relations des tables, vous remarquerez que j'utilise des symboles différents dans mon affichage.

Il faut maintenant étudier le sens des relations, dis aussi Cardinalité, celle-ci s'effectue toujours de la table vers la relation :

  • 1 CD est édité par 1 éditeur
  • 1 éditeur édite plusieurs CD
  • 1 CD est catégorisé dans 1 seul type de musique
  • 1 type de musique catégorise plusieurs CD
  • A 1 CD, il appartient plusieurs plages
  • 1 plage appartient à 1 seul CD
  • 1 est interprété ou écrit ou composé par 1 ou plusieurs auteurs, compositeurs ou interprète
  • 1 auteur, compositeur ou interprète compose ou écrit ou interprète 1 ou plusieurs plages.

Dès que cette cardinalité est posée pour toutes les relations (j'ai utilisé le symbole de l'infini pour indiquer plusieurs), il nous reste à appliquer quelques règles toutes simples, dans l'ordre indiqué :

  1. Si les relations ont besoin d'informations supplémentaires, les ajouter. Exemple dans notre cas : une plage est écrite et composer à une date, c'est une information complémentaire de l'action, il serait donc possible d'ajouter un champ date à la relation "Interpréter ou écrit ou composer".
  2. Pour toute relation 1 à plusieurs, on duplique la clef primaire de la table vers la relation.
  3. Pour toute relation 1 à 1, on déplace le contenu de la relation vers la table.

Vous constatez que la relation "Interpréter ou Ecrit ou composer" ne peut être glissé dans une table. Cette relation va donc devenir une table dite de relation. A la différence des précédentes, il n'est pas fortement recommandé que cette table ait une clef primaire. Nous avons donc maintenant 6 tables :

  • CD avec les champs : No_CD, Titre_CD, ID_E et Type
  • EDITEURS avec les champs : ID_E, Editeur
  • MUSIQUE avec le champ : Type
  • PLAGES avec les champs :ID_Plage, No, Titre_plage et No_CD
  • AIC avec les champs :ID_AIC, Nom et 3 champs de type case à cocher pour indiquer si la personne est un Interprète, Auteur et/ou Compositeur
  • IEC avec les champs :ID_plage et ID_AIC qui indiquera qui fait quoi. Afin de mieux renseigner cette table, nous ajoutons champs de type case à cocher pour indiquer si la personne est un l'nterprète, l'uteur et/ou le compositeur de la plage.