Table des matières
- Partie 1
Identifiez ce qu’est une Base de Données (BDD)
- 1
Tirez un maximum de ce cours
- 2
Découvrez l’intérêt des bases de données
- 3
Choisissez entre une BDD relationnelle ou NoSQL
- 4
Décomposez la modélisation de votre BDD en trois étapes clés
- 5
Tenez compte de la redondance dans votre modélisation
Quiz : Analysez vos données pour choisir le type de base de données approprié
- Partie 2
Créez votre premier diagramme de classe UML
- Partie 3
Passez du modèle conceptuel au modèle relationnel
- 1
Identifiez les éléments clés du modèle relationnel
- 2
Déterminez vos clés primaires
- 3
Créez du lien entre vos tables avec les clés étrangères
- 4
Transformez les associations de votre diagramme de classes UML
- 5
Transformez vos compositions et vos classes d'associations
- 6
Transformez vos relations d’héritage
Quiz : Déterminez le modèle relationnel de votre base de données à partir d'un diagramme UML
- Partie 4
Optimisez votre modèle relationnel et implémentez-le
Transformez vos compositions et vos classes d'associations
Transformez vos compositions
Une composition, c’est un cas particulier d’association un-à-plusieurs. Comme nous l’avons vu précédemment, il faut donc ajouter une clé étrangère dans la table qui est du côté « plusieurs », cette clé étrangère référence la clé primaire de la table qui est du côté « un ».
Mais vous le savez désormais, ce qui différencie une composition d’une simple association un-à-plusieurs, c’est que le composant ne peut exister sans son composite. Ainsi, on identifie un composant à partir de son composite. C’est-à-dire que la clé primaire du composant inclut/comprend obligatoirement le composite.
C’est le cas entre une œuvre et sa société de production. Car comme vous l’avez vu précédemment, une œuvre se définit par son titre ET par la société qui l’a produite (car il arrive que deux œuvres aient le même titre).
Maintenant que nous avons ajouté une clé étrangèresociete_prod
dans oeuvre
, qui référence societe_de_production
, il est donc possible d’identifier chaque œuvre par son titre et sa société.
Vous avez donc trouvé la dernière des clés primaires de votre modèle relationnel : celle de la table oeuvre
. 😎 La voici : (titre, societe_prod)
.
Maintenant que vous avez la clé primaire de oeuvre
, il faut actualiser la table assoc_oeuvre_real
avec cette nouvelle clé. Voici le résultat :

Transformez vos classes d'associations
Vous l’avez vu dans ce cours, une classe d’association sert à donner des caractéristiques à une association entre deux classes. C’est le cas par exemple pour la classe d’association tournage
, qui caractérise le lien entre une œuvre et un lieu grâce à une date de début et de fin de tournage :

Jusqu’à maintenant, notre table tournage
n’avait que deux attributs. Seules, ces deux dates ne veulent rien dire : il faut pouvoir les lier à l’œuvre et au lieu correspondants. Vous vous en doutez peut-être : il va falloir utiliser des clés étrangères !
Classe d’association sur une relation plusieurs-à-plusieurs
La relation entreoeuvre
et lieu
est de type plusieurs-à-plusieurs.
Vous savez déjà comment traduire une telle relation : en ajoutant une nouvelle table qui contient deux clés étrangères référençant les deux tables de part et d’autre de l’association. Voici ce que cela donnerait :

Mais en plus, il faut ajouter les attributs qui caractérisent cette association. Il suffit d’ajouter ces attributs à notre nouvelle table !
Mais cette nouvelle table dont on parle, c’est notre table tournage
, non ?
Oui, tout à fait, bravo !
Voici donc le résultat final :


Clé primaire
Nous n’avons toujours pas trouvé la clé primaire detournage
!
Effectivement, vous aviez vu au chapitre précédent que les deux dates, à elles seules, ne suffisaient pas à garantir la contrainte d’unicité (deux œuvres peuvent être tournées sur une même période). Mais avec les clés étrangères que nous avons ajoutées, c’est maintenant faisable !
Vous avez vu que par défaut, la clé primaire d’une table issue d’une association plusieurs-à-plusieurs est composée des deux clés étrangères référençant les deux tables de part et d’autre de l’association.
Ici, vous êtes donc sûr que le groupe (titreoeuvre, loc_scene, code_postal) fait partie de la clé primaire de tournage
. Cependant, selon le cas, il faudra parfois ajouter d’autres attributs à la clé. Dans notre cas, il est clairement possible qu’une œuvre soit tournée plusieurs fois au même endroit.
Voici donc une clé primaire possible : (titre_oeuvre, loc_scene, code_postal, date_de_debut)
. En effet, on ne peut pas avoir 2 lignes de tournage
relatives au même film, au même endroit, et commençant le même jour. Si c’est le cas, cela signifie que ces deux lignes correspondent en fait à une seule et unique session de tournage.
Classe d’association sur une relation un-à-plusieurs


Classe d’association sur une relation un-à-un


En résumé
Une composition est traduite de la même manière qu’une association un-à-plusieurs ; mais en plus, on ajoute, à la clé primaire de la table composant, la clé étrangère vers la table composite.
Une classe d’association sur une association plusieurs-à-plusieurs se traduit en une nouvelle table. Cette table contient tous les attributs de la classe d’association, ainsi que deux clés étrangères référençant les deux tables de part et d’autre de l’association.
La seconde étape de traduction de votre diagramme UML en modèle relationnel est terminée. Bravo ! Vous avez transformé vos compositions et vos classes d'associations. Voyons, au chapitre suivant, comment transformer vos relations d'héritage.
- Formations jusqu’à 100 % financées
- Date de début flexible
- Projets professionnalisants
- Mentorat individuel