Prochaine révision | Révision précédente |
slam4:orm:etudiants:bastien [2012/11/27 17:17] – créée mesnil | slam4:orm:etudiants:bastien [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 |
---|
| ===== Création des classes métier ===== |
| |
**Produit :** | **Produit :** |
* **id** (primary key) | * **id** (primary key) |
**Categorie :** | **Categorie :** |
* **id** (primary key) | * **id** (primary key) |
| |
| ==== Produits et catégories ==== |
| |
<html><div class="towrite"> | <html><div class="towrite"> |
| |
| |
^ Etudiant ^Entreprise ^Type contact/Date ^Résultat ^ | ^ ^Java ^SQL ^ |
|**Hue Pierrick** | Crédit Agricole Saint lô | 02.33.17.06.82\\ Contact téléphonique, envoi du mail de CV et lettre de motivation| {{ ::question.png?nolink |}} | | | Entier | int | int | |
| | Chaîne de caractères | String | String | |
| | Flottant | Float | Float | |
| |
<html><br /><br /> | <html><br /> |
<li><div class="li">Montrez à l’aide d’un schéma (par ex. deux classes liées au dessus de deux tables liées) comment se paramètre le lien bidirectionnel entre deux classes (en spécifiant les éléments à fournir dans le constructeur)</div></li> | <li><div class="li">Montrez à l’aide d’un schéma (par ex. deux classes liées au dessus de deux tables liées) comment se paramètre le lien bidirectionnel entre deux classes (en spécifiant les éléments à fournir dans le constructeur)</div></li> |
| </html> {{:slam4:orm:etudiants:schemab.jpg?200|}} <html> <br /><br /> |
| </ol> |
| </div></html> |
| |
| ==== Programme de test ==== |
| |
| <html><div class="towrite"> |
| Analysez le code du programme et répondez aux questions en vous aidant au besoin de la documentation : |
| <ol> |
| <li><div class="li">À quoi correspond la méthode kstart() ?</div></li> |
| La méthode kstart() permet la démarrage de l'application. |
<br /><br /> | <br /><br /> |
| <li><div class="li">Comment ont été traduits les liens objet entre le membre <b>categorie</b> et <b>produits</b> entre ces classes dans les tables de la base ?</div></li> |
| Le lien entre le membre categorie et produits a été traduit par l'affectation d'une catégorie à l'objet produit, ce qui équivalent à une clé étrangère. |
| <br /><br /> |
| <li><div class="li">Quelles requêtes SQL ont été créées par KObject pour réaliser la persistance ?</div></li> |
| Insertion de la catégorie : INSERT INTO categorie(libelle) VALUES('Presse2')<br /> |
| Insertion du produit : INSERT INTO produit(idCategorie,prix,nom) VALUES('7','10.0','Programmez!!') |
| <br /><br /> |
| <li><div class="li">Que se passe t-il si l'insertion de la catégorie échoue ?</div></li> |
| Si l'insertion de la catégorie échoue, le produit n'est pas inséré. |
| <br /><br /> |
| </ol> |
| </div></html> |
| |
| ===== Chargement d'un objet ===== |
| |
| <html><div class="towrite"> |
| A partir de ces 2 programmes et de leur exécution : |
| <ol> |
| <li><div class="li">Précisez ce que charge exactement KObject lors du chargement d'un Objet</div></li> |
| KObject va charger tout les objets qui sont en relation, par exemple, pour une catégorie, il chargera tout les produits de cette catégorie :<br /> |
| SQL : KDataBase.sendQuery → SELECT * FROM categorie WHERE categorie.id='13' <br /> |
| SQL : KDataBase.sendQuery → SELECT * FROM produit WHERE idCategorie='13' <br /> |
| |
| <br /><br /> |
| <li><div class="li">Précisez comment sont chargées les instances liées à un objet chargé pour les liens <b>belongsTo</b> et <b>hasMany</b></div></li> |
| |
| <li><div class="li">En quoi consiste le chargement paresseux de KObject ?</div></li> |
| |
| </ol> |
| </div></html> |
| |
| ===== Chargement de listes d'objets ===== |
| |
| <html><div class="towrite"> |
| A partir du programme : |
| <ol> |
| <li><div class="li"> Combien de requêtes SQL sont exécutées par KObject ?</div></li> |
| <li><div class="li"> Comment l'interprétez vous ?</div></li> |
| </ol> |
| </div></html> |
| |
| <html><div class="towrite"> |
| <ol> |
| <li><div class="li"> Combien de requêtes SQL sont maintenant exécutées par KObject ?</div></li> |
| <li><div class="li"> Comment l'interprétez vous ?</div></li> |
| </ol> |
| </div></html> |
| |
| <html><div class="towrite"> |
| A partir du programme : |
| <ol> |
| <li><div class="li"> Interprétez les requêtes SQL exécutées par KObject</div></li> |
| </ol> |
| </div></html> |
| |
| ==== Sélection avec distinct et projection ==== |
| |
| <html><div class="towrite"> |
| A partir du code et de son exécution : |
| <ol> |
| <li><div class="li"> Expliquer ce que fait le programme</div></li> |
</ol> | </ol> |
</div></html> | </div></html> |