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

UPDATES

We've started shipping!

Posted 2 days ago

Suspendisse luctus at massa sit amet bibendum. Cras commodo congue urna, vel dictum velit bibendum eget. Vestibulum quis risus euismod, facilisis lorem nec, dapibus leo. Quisque sodales eget dolor iaculis dapibus. Vivamus sit amet lacus ipsum. Nullam varius lobortis neque, et efficitur lacus. Quisque dictum tellus nec mi luctus imperdiet. Morbi vel aliquet velit, accumsan dapibus urna. Cras ligula orci, suscipit id eros non, rhoncus efficitur nisi.

Launch begins manufacturing

Posted 9 days ago

Suspendisse luctus at massa sit amet bibendum. Cras commodo congue urna, vel dictum velit bibendum eget. Vestibulum quis risus euismod, facilisis lorem nec, dapibus leo. Quisque sodales eget dolor iaculis dapibus. Vivamus sit amet lacus ipsum. Nullam varius lobortis neque, et efficitur lacus. Quisque dictum tellus nec mi luctus imperdiet. Morbi vel aliquet velit, accumsan dapibus urna. Cras ligula orci, suscipit id eros non, rhoncus efficitur nisi.

Designs have now been finalized

Posted 17 days ago

Suspendisse luctus at massa sit amet bibendum. Cras commodo congue urna, vel dictum velit bibendum eget. Vestibulum quis risus euismod, facilisis lorem nec, dapibus leo. Quisque sodales eget dolor iaculis dapibus. Vivamus sit amet lacus ipsum. Nullam varius lobortis neque, et efficitur lacus. Quisque dictum tellus nec mi luctus imperdiet. Morbi vel aliquet velit, accumsan dapibus urna. Cras ligula orci, suscipit id eros non, rhoncus efficitur nisi.