Académique Documents
Professionnel Documents
Culture Documents
Voici le diagramme de classes UML du modèle objet d'une application. Il s'agit de gérer les articles vendus et les factures éditées
par un magasin de détails. Certains des articles sont des lots composés d'un certain nombre d'autres articles. Pour simplifier vous
supposerez qu'il n'y a pas de lots de lots (un des articles qui compose un lot ne peut être un lot).
Chaque article est identifié par une référence qui est un nombre entier. Un lot peut être composé de plusieurs articles ; par
exemple, on peut trouver un lot composé d'une ramette de papier de référence 5678, de 10 stylos de référence 678 et de 5 stylos de
référence 8945. Le prix d'un article unitaire est donné par l'attribut "pu". Le prix d'un lot est le total des prix des articles qu'il
contient, multiplié par un certain pourcentage (attribut de la classe Lot). Un stylo a une couleur et un descriptif ; une ramette a un
grammage (par exemple 80 g/m²) et un descriptif. Le descriptif du lot est calculé automatiquement d'après les articles qu'il
contient.
Toutes les données contenues dans ces tables sont enregistrées dans une base de données relationnelle.
Schéma relationnel
Écrivez un schéma relationnel correspondant au diagramme de classes donné au début. Choisissez la stratégie "une seule table par
arborescence d'héritage".
1. Ajouter un stylo avec les caractéristiques suivantes : référence : 1234, description : Stylo à plume or Tarker noir, prix
unitaire : 58, couleur : noir
o dans le cas où la stratégie "une seule table par arborescence d'héritage" a été choisie ;
o dans le cas où la stratégie "une table par classe" a été choisie.
2. Ajouter un lot de référence 4538, pourcentage 10, composé de 10 stylos de référence 1234 et de 3 ramettes de référence
5678
o dans le cas où la stratégie "une seule table par arborescence d'héritage" a été choisie ;
o dans le cas où la stratégie "une table par classe concrète " a été choisie.
Interrogation de la base
Donner les commandes SQL pour lister
• toutes les informations sur tous les stylos pour les stratégies "une seule table par arborescence d'héritage" et "une table
par classe" ;
• les descriptions des stylos qui ont un prix supérieur à 100 euros pour les stratégies "une seule table par arborescence
d'héritage" et "une table par classe" ;
• les références de tous les articles pour les stratégies "une seule table par arborescence d'héritage" et "une table par classe
concrète".
Modification de la base
Écrivez les commandes SQL pour
Objectif du TP :
En utilisant le modèle de conception DAO, implémenter en Java une des stratégies de mapping étudiée dans le TP précédent.
Utilisez la stratégie de mapping "une seule table par arborescence d'héritage " pour traduire l'héritage du modèle objet.
Créez les tables qui seront utilisées pour la persistance des stylos et des ramettes.
1. Comment allez-vous faire pour récupérer tous les articles de la base de données ? Implémentez une
solution.
2. Si vous n'utilisez pas un pool de connexions, comment pourriez-vous faire pour ne pas avoir à créer une
nouvelle connexion pour chaque méthode des DAO ?