Rappel des théories sous-jacentes aux bases de données relationnelles dans le but d'expliquer l'architecture et les concepts actuels utilisés dans les différents produits du marché.
- Introduction et règles de Codd.
- Acidité (Atomicité, Cohérence, Isolation, Durabilité) des SGBD relationnels.
- Les modèles relationnels (schéma entité-relation, modèle conceptuel, modèle physique).
- Le transactionnel : concepts, implémentation et limites.
- Le relationnel objet (normes SQL:1999).
Atelier
Comparaison de la théorie et de la pratique des éditeurs.
Le modèle des données doit être étudié en toute indépendance du choix du serveur. Pour autant, la structure des données devra prendre en compte les spécificités du serveur.
- Analyse des données (méthode ascendante, méthode descendante).
- Dépendance fonctionnelle.
- Les différentes formes normales.
- Modèle entité relation (Peter Chen).
- Formalisation des modèles (Merise, UML).
- Du modèle conceptuel au modèle relationnel.
- Outils de modélisation (PowerAMC, Rational Data Architect, Erwin Data Modeler...).
- Rétro-ingénierie.
Etudes de cas
Choix de la technique d'analyse, modélisation Merise ou UML via un outil du commerce.
La traduction du modèle de données en objets propres au serveur amène des corrections en fonction de la solution préconisée. Ce chapitre présente les différentes techniques qu'utilisent les éditeurs face à la modélisation et la norme SQL en matière de données.
- Présentation des domaines SQL.
- Présentation des types utilisateurs (UDT).
- Contraintes (de domaine, de table et assertion).
- Déférabilité des contraintes.
- Détail des contraintes de table.
- Elargissement des contraintes de modèles par les déclencheurs.
- Modélisation des héritages de données.
- Modélisation des arborescences.
- Modélisation des graphes.
- Résolution du paradoxe temporel par différents modèles de données.
- Analyse de la volumétrie.
Etudes de cas
Implémentation de différents modèles physiques sur plusieurs serveurs.
Le but de ce chapitre est de s'intéresser au fonctionnement interne d'un serveur de bases de données relationnelles afin de comprendre l'influence des modèles sur l'obtention des performances.
- Stockage des données.
- Traitement des tuples.
- Contraintes implémentées.
- Gestion des transactions.
- Aptitude à la programmation côté serveur.
- Les index : structure, implémentation.
- Qualité de l'optimiseur de requêtes.
- Administration courante.
Travaux pratiques
Création et alimentation d'une base de données, mesure des performances.
Quels outils indispensables ou nécessaires composent les diverses solutions des éditeurs en termes de couverture fonctionnelle d'une architecture applicative ?
- Outils d'administration.
- Solutions de reporting.
- Analyse multidimensionnelle.
- Distribution des données.
- Solutions de haute disponibilité.
Atelier
Démonstration de la distribution de données.
Etablissement d'une grille de qualification prenant en compte les paramètres techniques des serveurs SQL et leur pondération afin de guider le choix d'une architecture et les fonctionnalités nécessaires au projet.
- Calcul de la fenêtre de données.
- Dimensionnement de la RAM.
- Calcul du volume transactionnel.
- Dimensionnement des processeurs.
- Aptitudes spécifiques aux contraintes du projet.
- Coût global d'exploitation.
Travaux pratiques
Calcul de la fenêtre des données d'une solution modélisée.