Méthodes d`accès aux données

publicité
Fiche d'unité
Méthodes d'accès aux données
Domaine
Ingénierie et Architecture
Filière
Informatique
Orientation
Logiciel (IL)
Mode de formation
Plein temps
Informations générales
Nom:
:
Méthodes d'accès aux données
Identifiant:
:
MAC
Années académiques
:
2014-2015, 2015-2016
Responsable:
:
Eric Lefrançois
Charge de travail:
:
120 heures d'études
Périodes encadrées:
:
64 (= 48 heures)
Semestre
E1 S1 S2 E2 S3 S4 E3 S5 S6
Cours
32
Laboratoire
Connaissances préalables recommandées
L’étudiant doit connaître et savoir utiliser les notions suivantes:
32
concepts de base du modèle relationnel (modélisation, langage SQL, formes normales);
algorithmes et structures de données (graphes, tables, B-Arbres);
langage Java (éléments de base du langage).
Les unités d'enseignement BDR (bases de données relationnelles), ASD1 & 2 (algorithmes et structures
de données) et POO1 (programmation orientée objet, Java) permettent d'acquérir ces connaissances.
Objectifs
A l'issue de cette unité d’enseignement, l'étudiant-e sera capable de :
Dans le contexte de la gestion des transactions et de la gestion d’un SGBD,
expliquer les principaux protocoles et algorithmes mis en œuvre par les SGBD pour la gestion de
la concurrence (gestion des transactions);
expliquer les algorithmes de réparation mis en œuvre dans les SGBDR;
décrire les commandes essentielles dédiées à l’administration de la base de données (définition
des utilisateurs, et droits d’accès) ;
décrire les principes généraux se rattachant à l’optimisation des performances d’un SGBD, en
particulier MySQL (illustration).
Dans le contexte des méthodes d’accès aux données,
décrire les concepts de base se rattachant à l'accès à une base de données (architectures,
frameworks, etc..)
Version 2014 - 2015
Page 1
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
Méthodes d'accès aux données
- LinQ (Intégration au langage d'opérateurs de requêtes dans le monde .Net C#) : Compléter le
code d'un applicatif C# en réalisant l'accès aux données persistantes d'une base de données
MySQL en s'appuyant sur les composants « LinQ to SQL » et « LinQ to Entities » et la plateforme
Entity Framework.
4
- Intégration à Java d'opérateurs de requêtes: Utilisation d'un équivalent de LinQ dans le monde
Java (Coollection, quaere ou autre), applicatif Java à réaliser ou à compléter.
4
- Etude spécifique, telle que mise en oeuvre d'une nouvelle technologie
4
Bibliographie
Java Persistence with Hibernate, par Christian Bauer, 2006
Base de données, Georges Gardarin, Eyrolles, 2001
Base de données: Transactions et reprise sur panne, par Philippe Rigaux, Cours Université Paris
Dauphine, 2001
MySQL 5.6 Reference Manual, https://dev.mysql.com
JDBC Basics, Java Oracle Documentation, https://docs.oracle.com
Contrôle de connaissances
Cours: l'acquisition des matières de cet enseignement sera contrôlée au fur et à mesure par des tests et
des travaux personnels tout au long de son déroulement. Il y aura au moins 2 tests d'une durée totale
d'au moins 2 périodes.
Laboratoire: ils seront évalués sur la base des rapports de manipulation, à 3 reprises au minimum
Examen: l'atteinte de l'ensemble des objectifs de formation sera vérifiée lors d'un contrôle final commun
écrit d'une durée de 60 minutes (minimum requis 60 minutes).
Calcul de la note finale
Note finale = moyenne cours x 0.25 + moyenne laboratoire x 0.25 + moyenne examen x 0.5
Fiche validée le 19.06.2015 par Sanchez Eduardo
Version 2014 - 2015
Powered by TCPDF (www.tcpdf.org)
Page 3
Téléchargement