Diagramme de classes et Modèle Logique des Données

Le diagramme de classes qui est un des 11 schémas UML est le schéma de base, essentiel au développement de la partie modèle d'une application JEE. Vous trouverez ci-dessous un extrait du diagramme de classes du projet Equida, avec ses règles de gestion et sa transcription en base de données.

Modèle Général

Relation 1 à n = Relation Many-To-One / One-To-Many

Schéma

Règles de gestion

Many-To-One : Un cheval est caractérisé par une et une seule race (yearling, trotteur, pure-sang, etc…).

One-To-Many : A une race de cheval correspond plusieurs chevaux.

Modèle Logique de Données

RACE_CHEVAL (id, libelle, description)

clé primaire : id

CHEVAL (id,nom, sexe, sire, dateNaissance, idRace)

clé primaire : id

clé étrangère : idRace en référence à id de RACE_CHEVAL

L'héritage : Client / Vendeur / Acheteur

Schéma

Règles de gestion

Il existe deux categories de clients ayant des propriétés communes : les acheteurs et les vendeurs

Modèle Logique de Données

Il y a 3 solutions pour implémenter un héritage en base de données.

Solution n°1 : 1 classe seulement sera conservée pour la transformation et on créera une nouvelle table permettant de définir le type de client (acheteur ou vendeur) :

TYPE_ACHETEUR (code, libelle) clé primaire : code

La table client conservent les mêmes propriétés auxquelles on ajoutera une clé étrangère faisant référence à la clé primaire de la table ci-dessus :

CLIENT (id, titre, nom, prénom, .., idTypeAcheteur, codeTypeAcheteur) clé primaire : id clé étrangère : codeTypeAcheteur en référence à code de la table TYPE_ACHETEUR

Solution 2 : on conserve les 2 classes pour la transformation, chacune, “héritant” des propriétés de la classe mère. la notion de CLIENT disparait alors : ACHETEUR (id, titre, nom, prénom,…, adresseMessagerie) clé primaire : id

VENDEUR (id, titre, nom, prénom,…, adresseMessagerie) clé primaire : id

Solution 3 : les 3 classes seront conservées pour la transformation :

CLIENT (id, titre, nom, prénom,…, adresseMessagerie) clé primaire : id

ACHETEUR (idAcheteur) clé primaire : idAcheteur clé étrangère : idAcheteur en référence à id de la table CLIENT

VENDEUR(idVendeur) clé primaire : idVendeur clé étrangère : idVendeur en référence à id de la table CLIENT

Les sous-classes, conservent leurs propres propriétés (lorsqu'il y en a) auxquelles on ajoute une clé primaire qui sera également clé étrangère en référence à la clé primaire de la classe mère.

La classe association

Schéma

Règles de gestion

Un cheval participe à plusieurs courses. A une course participent plusieurs chevaux. Pour chaque course, on souhaite conserver la place à laquelle est arrivée le cheval.

Modèle Logique de Données

CHEVAL (id,nom, sexe, sire, dateNaissance, ….) clé primaire : id

COURSE (id, nom, lieu, date) clé primaire : id

COURSE_CHEVAL (idcheval, idCourse) clé primaire : idCheval, idCourse clé étrangère : idCheval en référence à id de la table CHEVAL clé étrangère : idCourse en référence à id de la table COURSE