Base de données » Conception des bases de données pour développeurs
Duree : 3 jours
Objectifs : Savoir rédiger un modèle de données - Connaître le modèle relationnel - Savoir implémenter un schéma relationnel - Pouvoir évaluer les SGBD du marché en fonction de l'usage
Pre requis : Aucun
Public : Développeurs souhaitant concevoir, implémenter et optimiser une base de données ou manipuler les données d'une base de données dans un programme
Les objectifs d'un SGBD
Les différents niveaux d'abstraction : niveau conceptuel, niveau interne, niveau externe
L'indépendance des niveaux et les transformations d'un niveau à un autre
La modélisation des données
Mise au point du dictionnaire des données
L'objectif de la modélisation : obtenir une représentation canonique des données du domaine
Le modèle Entités / Associations : les entités, les associations, les cardinalités, identifiants
La modélisation objet (diagrammes de classes UML) : objets, classes, attributs, méthodes, associations, dépendance, agrégation
L'approche par la relation universelle et la décomposition suivant les dépendances fonctionnelles
La modélisation en types et sous-types (l'héritage)
Les associations réflexives pour représenter les arborescences, graphes…
La modélisation des historiques
La méta modélisation
La démarche de modélisation : modéliser les vues externes suivant leur sémantique et les consolider en résolvant les conflits
Les contraintes sur les données : contraintes structurelles, contraintes de contexte
Les outils d'aide à la conception : exemple d’Ateliers de Génie Logiciel
Les schémas relationnels
Le modèle relationnel : concepts et vocabulaire, tables, colonnes, domaines, clefs primaires et clefs étrangères
Les types de colonnes et leurs variantes, les contraintes d’intégrité
La normalisation d'un schéma relationnel, les objectifs, les règles de normalisation
La transformation d'un modèle Entité / association ou d'un diagramme de classe en schéma relationnel
Introduction aux modèles relationnel/objet
L'optimisation des schémas relationnels, optimisation logique et optimisation physique
L'implémentation d'un schéma relationnel : les langages de description de données
Introduction à l’algèbre relationnelle, principaux opérateurs relationnels
Introduction aux langages de manipulation des données, aux langages de contrainte
L'implémentation des contraintes structurelles, contraintes de domaine, contraintes d'intégrité référentielle, contraintes de transition
Introduction aux déclencheurs (triggers) et aux procédures stockées
Pourvoir aux besoins des applications par des vues
La question des accès concurrents aux données : lecture impropre, lecture non reproductibles …
Les transactions : définition, intégrité et transaction, les règles ACID
Introduction à l’administration des bases de données
Sécurité de l’accès aux données : utilisateurs et autorisations différentiées
Politique de sécurité des données
Maintenance et évolution du schéma de la base au niveau logique, externe et physique
Introduction au tuning d’une base de données
Choix d’un SGBD
Principaux critères de choix : support des accès concurrents (transactions), richesse du langage de manipulation des données et notamment du langage de contrainte, possibilité d’utiliser triggers et procédures stockées, présence d’outils d’analyse des données, richesse des outils d’administration, outils de sécurité (reprise à chaud, à froid, journalisation…), facilité d’intégration avec des langages procéduraux ou objet, coût des licences, coût d’usage…
Présentation des principales offres du marché : PostgreSQL, Oracle, MySQL, SQL Server