Bases de données PDF Gratuit

Cours Gestion des bases de données 2 en PDF (Intermédiaire)

Gestion des bases de données 2 : Ce qu'il faut savoir. Discipline appliquée prolongeant la modélisation logique (MLD/MCD) par la mise en œuvre d'une application SGBDR concrète (Microsoft Access). Le polycopié détaille la traduction d'un MLD en tables, la définition des clés primaires et étrangères, la gestion de l'intégrité référentielle, l'application des principes ACID (atomicité, cohérence, isolation, durabilité) et l'optimisation de l'accès via index ; ces compétences sont essentielles pour déployer des applications métiers robustes. Le support propose des exemples pratiques téléchargeables et des jeux de données pour les travaux dirigés et le laboratoire. Rédigé par Jean‑Pierre Moreau.

🎯 Ce que vous apprendrez

  • Rôle et structure des objets Access — tables, requêtes, formulaires, états, macros et modules pour organiser l'architecture applicative et séparer l'interface utilisateur de la logique de données.
  • Traduction MLD → tables relationnelles — appliquer les règles de conversion du modèle logique aux schémas de tables et définir clés primaires/étrangères pour le cas librairie (livres, auteurs, clients, commandes).
  • Intégrité référentielle et opérations en cascade — configurer mises à jour et suppressions en cascade et anticiper leurs effets sur la cohérence des données.
  • Indexation et choix des types de champs — repérer quand créer un index, évaluer l'impact sur les performances d'écriture et choisir les types (Texte, Numérique, Monétaire, Date/Heure, NuméroAuto).
  • Importation depuis Excel et migration — utiliser l'assistant pour créer des tables depuis des feuilles Excel, définir en-têtes, types et index, puis corriger les incompatibilités.
  • Création de tables et assistants — concevoir une table en mode création, déclarer un NuméroAuto comme clé primaire et configurer des listes de choix pour l'interface.
  • SQL pratique dans Access — écrire et optimiser des requêtes SELECT, INSERT et UPDATE ; comprendre la traduction des opérations graphiques en SQL.

📑 Sommaire du document

💡 Pourquoi choisir ce cours ?

Approche orientée pratique, fondée sur un MCD/MLD existant et des jeux de données (Librairie, Comptoirs). Accent sur les exercices dirigés, la résolution d'erreurs courantes (doublons, violations de contraintes) et l'usage des assistants pour gagner en productivité lors des TD et en laboratoire. Le parcours facilite la montée en compétence vers des environnements serveurs (MySQL, SQL Server) en présentant différences d'implémentation et stratégies de migration.

👤 À qui s'adresse ce cours ?

  • Public cible : étudiants Master 1 (ANI/TCI), techniciens et développeurs souhaitant concrétiser un MLD en application Access et gérer les contraintes en contexte applicatif.
  • Prérequis : connaissance du MCD/MLD et notions de SGBDR ; maîtrise basique de Windows et Excel pour les importations.

Définition d'un SGBDR

Un système de gestion de base de données relationnelle (SGBDR) organise, stocke et permet d'interroger des données structurées en tables reliées par des relations. Il fournit un langage de manipulation (DML), un langage de définition (DDL), la gestion des transactions, des mécanismes d'intégrité et des outils d'administration. L'approche relationnelle s'appuie sur des schémas normalisés et des contraintes pour garantir cohérence et évolutivité.

Architecture et niveaux d'abstraction des SGBDR

Le passage du niveau conceptuel au niveau physique reste central dans la conception d'un système de gestion de base de données. Le MCD/MLD décrit entités, attributs et relations ; le modèle logique devient un schéma de tables avec définitions de champs et contraintes.

Le modèle physique (MPD) précise les types exacts, tailles, index et paramètres de stockage. Dans Access, ces décisions se reflètent au niveau du fichier .accdb : structures de pages, mécanismes de verrouillage, fragmentation et stratégie de sauvegarde influencent la performance et la concurrence.

L'équilibre entre normalisation et indexation doit limiter les coûts d'E/S tout en garantissant la tolérance aux erreurs. Documenter les choix de stockage et prévoir des jeux de tests représentatifs facilite la validation des performances.

Architecture ANSI/SPARC

  • Externe — vues utilisateur ; présentation adaptée aux besoins métiers et contraintes d'accès.
  • Conceptuel — schéma logique du système ; entités, attributs, relations et règles d'intégrité indépendantes du SGBD.
  • Interne — implémentation physique (MPD, .accdb, index, organisation des fichiers) et paramètres d'optimisation.

Conception et Schéma Relationnel

La conception d'un schéma relationnel doit suivre une logique reproductible : analyse des besoins, identification des entités et attributs, définition des clés et des cardinalités, puis conversion en tables relationnelles. Documenter les choix de nommage, les index retenus et les scénarios de migration facilite la maintenance et les tests.

Conception du schéma relationnel

Étapes clefs : identifier entités et attributs, normaliser pour éviter les redondances, définir une clé primaire pour chaque table et créer les clés étrangères assurant les relations. Pour une librairie, prévoir une table d'association pour la relation Livres↔Auteurs. Décrire les contraintes (unicité, NOT NULL) et justifier la création d'index en fonction de la sélectivité attendue et des charges de lecture/écriture.

Optimisation des requêtes SQL et SGBDR

Access implémente les principes de l'algèbre relationnelle et fournit un interpréteur SQL qui traduit souvent les opérations graphiques en instructions SQL. Certaines extensions serveur ne sont pas disponibles ; cependant, les requêtes courantes et avancées restent utilisables pour extraction, transformation et agrégation. La maîtrise du SQL facilite l'automatisation des migrations, l'application de scripts de contrôle et la documentation des transformations structurelles.

Exemples et requêtes avancées :

  • Jointures : INNER JOIN, LEFT/RIGHT JOIN pour combiner tables reliées par des clés étrangères.
  • Agrégation : GROUP BY associé à des fonctions d'agrégat (SUM, COUNT, AVG) pour synthétiser des données.
  • Sous-requêtes et expressions corrélées pour des filtres complexes ou mises à jour conditionnelles.
  • Optimisation : privilégier les index sur champs utilisés pour jointures et tris, limiter les colonnes sélectionnées pour réduire le coût d'E/S.

Stratégies d'optimisation SQL

Analyser le coût des E/S (lectures/écritures) est central : réduire les scans complets de table en ajoutant des index pertinents, éviter SELECT * pour diminuer le volume transféré, et filtrer en amont via WHERE pour réduire les ensembles intermédiaires. Évaluer la sélectivité des colonnes ciblées par les index et favoriser des requêtes qui tirent parti des index existants. Tester les requêtes sur des jeux de données représentatifs et mesurer l'impact des index avant et après leur création.

SELECT Nom, Prenom FROM Clients WHERE Ville='Paris';
SELECT A.NomAuteur, COUNT(L.IdLivre) AS NbLivres
FROM Auteurs A
INNER JOIN LivreAuteur L ON A.IdAuteur = L.IdAuteur
GROUP BY A.NomAuteur
HAVING COUNT(L.IdLivre) > 5;

Différences entre Modèle Logique (MLD) et Modèle Physique (MPD)

Le MLD formalise la structure relationnelle indépendamment du SGBD et sert à vérifier l'intégrité et les règles métier. Le MPD transpose ces décisions en spécifications concrètes : types, tailles, index, options d'encodage et paramètres de stockage. Le passage au MPD nécessite de prendre en compte les contraintes du moteur choisi (limitations d'index, types spécifiques). Ces choix influencent la performance des requêtes et la consommation d'espace disque et doivent être validés par des jeux de tests représentatifs.

Les fonctions essentielles d'un SGBDR moderne

Un SGBDR moderne doit assurer la gestion des transactions, l'application des contraintes d'intégrité, des performances prévisibles via indexation et optimisation des requêtes, des outils de sauvegarde/restauration, et un langage DDL/DML complet. L'algèbre relationnelle sert de base pour les opérations de jointure et d'agrégation, tandis que le modèle physique conditionne la mise en œuvre concrète et la capacité d'évolution vers la production.

❓ FAQ — questions fréquentes

Foire Aux Questions

Comment Access applique-t-it l'intégrité référentielle entre clés primaires et clés étrangères ?

Access exige que le champ lié de la table parente soit une clé primaire ou un index unique et que les types de données correspondent. Une fois activée, l'intégrité empêche l'insertion d'une clé étrangère orpheline et, en option, permet les mises à jour et suppressions en cascade pour propager les changements.

Quand créer un index supplémentaire plutôt que de compter sur la clé primaire ?

Créer un index sur un champ utilisé fréquemment pour les recherches ou les tris distincts de la clé primaire. L'index accélère les lectures mais augmente le coût des écritures et l'espace occupé. Privilégier l'indexation pour les champs à forte sélectivité lorsque les opérations de lecture dominent.

Ouvrages de référence

Ouvrages académiques et manuels de référence recommandés pour approfondir la modélisation relationnelle et l'optimisation SQL :

  • Connolly, T. & Begg, C. — Database Systems: A Practical Approach to Design, Implementation and Management. Référence largement citée en enseignement pour la conception et la mise en œuvre de SGBD.
  • Elmasri, R. & Navathe, S. — Fundamentals of Database Systems.