SQL: Conception et Modélisation de Bases de Données – 6H

Heure 1: Modélisation de Bases de Données Relationnelles (1 heure)
  1. Conception d’une base de données
    • Modèle entité-relation (ERD)
    • Concepts de clé primaire et clé étrangère
  2. Types de relations
    • Un-à-un, un-à-plusieurs, plusieurs-à-plusieurs
    • Exercices pratiques: Créer un schéma de base de données pour une petite application de gestion (ex: gestion des employés et des projets).
Heure 2: Création de Tables et Types de Données (1 heure)
  1. **Création de tables avec CREATE TABLE
    • Définir des colonnes avec différents types de données (VARCHAR, INT, DATE, etc.)
  2. Contraintes de table
    • Clé primaire (PRIMARY KEY)
    • Clé étrangère (FOREIGN KEY)
    • Contraintes d’unicité (UNIQUE) et non nullité (NOT NULL)
    • Exercices pratiques: Créer une base de données avec des tables et des relations, et y ajouter des contraintes.
Heure 3: Normalisation de Bases de Données (1 heure)
  1. Principes de la normalisation
    • Première, deuxième et troisième forme normale (1NF, 2NF, 3NF)
    • Éviter la redondance et les anomalies de mise à jour
  2. Dénormalisation
    • Quand et pourquoi dénormaliser
    • Exercices pratiques: Analyser un schéma de base de données et appliquer des techniques de normalisation.
Heure 4: Transactions et Contrôle de Concurrence (1 heure)
  1. Introduction aux transactions
    • Démarrer, valider et annuler des transactions (BEGIN, COMMIT, ROLLBACK)
  2. Propriétés ACID
    • Atomicité, Cohérence, Isolation, Durabilité
  3. Contrôle de concurrence
    • Verrous (LOCK, UNLOCK) et niveaux d’isolation
    • Exercices pratiques: Simuler des transactions et des annulations en modifiant des données et en validant les résultats.
Heure 5: Vues et Index (1 heure)
  1. Création et Utilisation de Vues
    • Créer des vues pour simplifier les requêtes complexes (CREATE VIEW)
    • Vues matérialisées
  2. Indexation pour améliorer les performances
    • Types d’index (UNIQUE, CLUSTERED, NON-CLUSTERED)
    • Impact des index sur les performances
    • Exercices pratiques: Créer des vues et des index dans une base de données pour améliorer les performances des requêtes.
Heure 6: Gestion des Permissions et Sécurité (1 heure)
  1. Gestion des utilisateurs et des rôles
    • Créer des utilisateurs avec des permissions spécifiques (GRANT, REVOKE)
    • Contrôle des accès aux données
  2. Sécurisation des données sensibles
    • Chiffrement des données
    • Pratiques de sécurité SQL
    • Exercices pratiques: Configurer des utilisateurs avec différents niveaux d’accès à une base de données fictive.

Description

en_USEnglish