Plan détaillé
Introduction
- Serveur MySQL.
- Modèle relationnel.
- Introduction au langage SQL.
- Outils : mysql, Workbench.
- Création de tables.
- Introduction aux instructions de mise à jour.
- Utilisation des colonnes auto incrémentées, type SERIAL.
- Introduction à l’interrogation(SELECT).
- Introduction aux transactions.
- Types basiques et constantes dans MySQL.
Travaux pratiques : utilisation des outils, création de tables, instructions de mise à jour, séquences, instructions SELECT simples.
Interrogation des données
- Tri et suppression de doublons. OFFSET et LIMIT.
- Alias de colonnes, alias de tables, préfixes, opérateurs.
- Comparaisons multicolonnes.
- Utilisation des fonctions.
- Conversion des types.
- NULL dans MySQL.
- Agrégats.
- Groupement.
- Jointure et produit cartésien.
- Requêtes imbriquées : opérateurs IN et EXISTS.
- Utilisation des opérateurs UNION et UNION ALL.
Travaux pratiques: écriture d’instructions SQL concernant tous les sujets traités.
Introduction à l’extension procédurale SQL
- Survol du langage.
- Premier contact avec le langage.
- Introduction syntaxique à l’extension procédurale de SQL sous MySQL.
- Conversion des types.
- Interaction avec la base de données, curseurs.
- Sous-programmes stockés.
- Paramètres de sous-programmes.
- Introduction au traitement des erreurs.
- Déclenchement d’erreurs.
- Tâches planifiées, EVENTs.
Travaux pratiques : déclaration des variables, curseurs, sous-programmes stockés, gestion des erreurs.
Triggers LMD dans MySQL
- Introduction aux triggers dans MySQL.
- Triggers LMD.
- Triggers de niveau instruction.
- Triggers de niveau ligne.
Travaux pratiques : trigger au niveau ligne, trigger au niveau instruction.
Architecture et objets dans les bases de données
- Types de tables dans MySQL : tables MyISAM, tables InnoDB, tables Memory.
- Création et suppression de tables.
- Modification de la définition d’une table.
- Utilisation des vues.
- Bases information_schema, performance_schema.
- Modèle de stockage : Bases de données/schémas, tablespaces, fichiers de données.
- Index.
Travaux pratiques : création de bases de données, valeurs par défaut des colonnes, ajout de colonnes et de contraintes à une table, utilisation des vues en mise à jour, utilisation des types ENUM et SET.
Gestion des transactions
- Effet de l’annulation d’instructions, annulation partielle d’une transaction.
- Démarrage et fin d’une transaction.
- Gestion de la concurrence.
- Niveaux d’isolations des transactions concurrentes.
- Verrouillage explicite des tables par l’instruction LOCK TABLES, verrouillage explicite des lignes.
Travaux pratiques : tester le comportement des transactions concurrentes, utilisation des niveaux d’isolation, utilisation du verrouillage explicite.
Sécurité et utilisateurs
- Niveaux de privilèges dans MySQL.
- Privilèges et types d’objets.
- Cas des vues et des traitements stockés.
Travaux pratiques : privilèges d’objet, utilisateurs.
Compléments
- Répertoire de données de MySQL.
- Fichier de paramétrage.
- Rôles des fichiers de journalisation dans InnoDB, rôle du journal binaire dans MySQL.