Licence Professionnelle en Cyber et Cybercriminalité (CYB) › Licence 2 › CYB · S3 · UE3 — Programmation / Base de données
Bases de données (SQL et Oracle)
👤 Paraiso Fernand Hassane — Master Ingénierie de système d'information
Présentation
Ce cours approfondit les bases de données relationnelles au-delà du simple langage SQL. Il prolonge les cours d’analyse informatique des semestres 1 et 2 : après un rappel de la modélisation Entité-Association et de ses extensions (types et sous-types, identifiants relatifs, contraintes), il traite la spécification et le contrôle de l’intégrité sémantique dans Oracle (contraintes déclaratives, déclencheurs PL/SQL), la gestion des transactions (propriétés ACID, contrôle de concurrence, reprise après panne) puis l’exploitation performante des bases : structures de stockage, index, évaluation et optimisation des requêtes, dénormalisation, serveurs parallèles, bases réparties et fédérées, et introduction aux systèmes NoSQL. Pour un futur spécialiste de la cybersécurité, ces notions sont essentielles : l’intégrité et la disponibilité des données font partie de la triade de sécurité, et la traçabilité (journaux, audit) repose sur les mécanismes étudiés ici. Le cours est entièrement organisé en TD et en TP guidés sous Oracle, réalisés dans le laboratoire personnel de l’étudiant.
Objectifs d’apprentissage
- Modéliser un domaine avec le modèle Entité-Association étendu et le traduire en schéma relationnel.
- Classer les contraintes d’intégrité et les implanter en SQL (PRIMARY KEY, FOREIGN KEY, CHECK, UNIQUE) ou par déclencheurs PL/SQL.
- Expliquer les propriétés ACID, les anomalies de concurrence, la sérialisabilité, le verrouillage et les niveaux d’isolation d’Oracle.
- Décrire les mécanismes de journalisation et de reprise après panne.
- Estimer le coût d’accès aux données, lire un plan d’exécution et choisir index ou dénormalisation.
- Situer les architectures parallèles, réparties et NoSQL et leurs compromis.
Prérequis
Modèle relationnel, normalisation (1FN à 3FN) et langage SQL de base (SELECT, jointures, agrégats, INSERT/UPDATE/DELETE) vus en première année.
Plan du cours
- Leçon 1 — Rappels et modélisation conceptuelle avancée
- Leçon 2 — Intégrité sémantique : contraintes SQL et déclencheurs PL/SQL sous Oracle
- Leçon 3 — Gestion des transactions : concurrence et reprise après panne
- Leçon 4 — Stockage, optimisation des requêtes, bases réparties et NoSQL
Modalités d’évaluation
Volume horaire : 0 h de CM, 10 h de TD, 10 h de TP, 20 h de TPE ; 2 crédits. Contrôle continu (50 % : comptes rendus des TP guidés et interrogations de TD) et examen terminal (50 % : épreuve écrite de 2 heures comprenant modélisation, SQL/PL-SQL et analyse d’ordonnancements de transactions).
Bibliographie
- G. Gardarin, Bases de données, Eyrolles.
- R. Elmasri, S. B. Navathe, Fundamentals of Database Systems, Pearson.
- A. Silberschatz, H. F. Korth, S. Sudarshan, Database System Concepts, McGraw-Hill.
- P. J. Sadalage, M. Fowler, NoSQL Distilled, Addison-Wesley, 2012.
- Oracle Corporation, documentation officielle Oracle Database Concepts et PL/SQL Language Reference (docs.oracle.com).
Évaluation globale de la matière
Connectez-vous pour suivre votre progression.
Programme
- 🔒 Leçon 1 — Rappels et modélisation conceptuelle avancée · 90 min
- 🔒 Leçon 2 — Intégrité sémantique : contraintes SQL et déclencheurs PL/SQL sous Oracle · 90 min
- 🔒 Leçon 3 — Gestion des transactions : concurrence et reprise après panne · 90 min
- 🔒 Leçon 4 — Stockage, optimisation des requêtes, bases réparties et NoSQL · 90 min
- 🔒 Quiz — Bases de données (SQL et Oracle) · quiz
Évaluation globale de la matière
Connectez-vous pour suivre votre progression.
