Méthodes d'accès aux données
décrire la problématique liée à l’adaptation du modèle Objet au modèle Relationnel (« Impedance
mismatch ») ;
décrire les solutions de mapping Objet-Relationnel (ORM) mises en œuvre par les plateformes de
renom comme Hibernate ou Entity Framework, capables d’assurer l’indépendance du modèle
conceptuel (objets) du schéma logique sous-jacent (tables).
utiliser les opérateurs de requêtes incorporeÌ•s à un langage classique pour interagir avec une
base de données.
A l'issue des travaux pratiques en laboratoire, l’étudiant-e sera en outre capable de :
réaliser une application Java multi-clients accédant de manière concurrente aux tables d’une base
de données (modes transactionnels des SGBD, utilisation des mécanismes associés à la gestion
des transactions: start/commit et verrouillage) ;
réaliser une application Java (ou C#) interagissant avec une base de données via une plateforme
de persistance comme Java-Hibernate (ou Entity Framework pour C#), des opérateurs de
requêtes intégrés au langage de type LinQ (C#), ou encore en utilisant des appels directs via une
API de type JDBC pour Java.
Contenu et formes d'enseignement
Cours: 32 périodes
- Introduction 2
- Gestion des transactions : Notion de transaction, mécanismes de reprise, mécanismes et
algorithmes de gestion de la concurrence, traitement des verrous mortels. 6
- Gestion d'un SGBD : Gestion des utilisateurs, des droits d'accès, des privilèges, analyse et
étude des performances. 4
- Méthodes d'accès aux données, généralités : Décrire les concepts de base se rattachant à
d'accès à une base de données (architectures, plateformes), description de la problématique
d'adaptation des modèles Objet et Relationnel ("impedance mismatch"), principes essentiels
sous-jacents aux plateformes ORM (Mapping Objet-Relationnel), intégration d'opérateurs de
requêtes aux langages de programmation, invocation directe de requêtes SQL (JDBC).
4
- Entity Framework (ORM .Net C#) : Description des principes et illustration 2
- Hibernate (ORM Java) : Description des principes et des commandes de base 4
- Intégration d'opérateurs de requêtes au langage : Description des concepts de la plateforme
LinQ (.Net C#), son interaction avec Entity Framework ; présentation de plateformes
équivalentes dans le monde Java (Coollection, JPropel-light, quaere, Java 8 et expressions
Lambda, ..), présentation d'une plateforme en particulier.
6
- Travaux écrits 4
Laboratoire: 32 périodes
- Gestion d'un SGBD, gestion des transactions : Mise en place d'une base de données MySQL
(tables, procédures stockées) avec définition d'utilisateurs associés à des droits spécifiques,
réalisation d'un applicatif Java concurrent, accédant à cette base via JDBC, avec gestion des
transactions selon différents modes transactionnels et selon différents modes de verrouillage.
10
- ORM Hibernate : Réalisation d'un programme Java dont les données persistantes, enregistrées
dans une base de données MySQL, seront accédées uniquement au niveau du modèle
conceptuel Objet via le framework Hibernate, à configurer. 10
Version 2014 - 2015 Page 2