% INF3080 — Bases de données % UQAM — Département d'informatique % Plan de cours — Automne 2019 * Horaires, locaux et enseignants: Responsable(s) du cours ======================= Coordination ------------ Sadat, Fatiha PK-4625 poste 3885 Description du cours ==================== Objectifs --------- Introduire les concepts fondamentaux des bases de données relationnelles. Sommaire du contenu ------------------- Information, données et système de gestion de bases de données (SGBD). Présentation des principales architectures de bases de données. Modèle entité-association. Modèle relationnel. Algèbre relationnelle et langage SQL. Contraintes d'intégrité et gâchette (trigger). Création, exploitation et administration d'une base de données. Schéma interne : indexage et hachage. Intégration d'une base de données dans une application. Sécurité. Transactions. Évaluation et optimisation des requêtes relationnelles. Modalité d'enseignement ----------------------- Ce cours comporte une séance obligatoire de laboratoire (2 heures). Préalables académiques ---------------------- INF2120 - Programmation II Contenu détaillé ================ Semaine 1 --------- - Introduction au cours. Plan détaillé du cours. Entente d'évaluation. - Introduction aux systèmes de gestion de bases de données (SGBD). - Lecture: Chapitre 1. Semaine 2 --------- - Introduction au modèle entité-association. - Analyse et modélisation conceptuelle. - Lecture: Chapitre 2. Semaine 3 --------- - Introduction au modèle relationnel. - Schéma; formes normales; normalisation vs dénormalisation; notation; type de données. - Introduction à l'algèbre relationnelle. - Lecture: Chapitre 3. Semaine 4 --------- - Introduction à l'algèbre relationnelle (suite). - Introduction à Oracle et SQL\*plus dans un environnement Linux. - Connexion; commandes de base; scripts. - Introduction au langage SQL et aux objets système du SGBDR Oracle. - Le langage SQL partie DDL (CREATE, DROP, ALTER). - Table; view; index; sequence; contrainte d'intégrité. Semaine 5 --------- - Le langage SQL et les requêtes d'interrogation (SELECT). - Interrogations simples. - Jointures et autres opérations binaires/n-aires. Semaine 6 --------- - Le langage SQL et les requêtes d'interrogation (SELECT). - Fonctions. - Imbrication de requêtes. - Regroupement. Semaine 7 --------- - Le langage SQL partie DML (INSERT, DELETE, UPDATE). - Droits et sécurité des objets (GRANT, REVOKE). Semaine 8 --------- - Examen intra (samedi 26 octobre 14h -- 17h). Semaine 9 --------- - L'intégrité et la gestion des transactions. - Le mode transactionnel (COMMIT, ROLLBACK). Semaine 10 ---------- - Intégration d'une base de données à une application. - Connecteurs. Cas Java et Interface JDBC. - Les curseurs. Semaine 11 ---------- - La programmation PL/SQL pour la création de fonctions, procédures et packages. - La programmation PL/SQL pour la création de gâchettes. Semaine 12 ---------- - Schéma interne d'une BD: indexage et hachage Semaine 13 ---------- - Evaluation et optimisation des requêtes (EXPLAIN PLAN). Semaine 14 ---------- - Aperçu des bases de données non relationnelles (NoSQL). Semaine 15 ---------- - Examen final (samedi 14 décembre 14h -- 17h ) Modalités d'évaluation ====================== Description sommaire Date Pondération ---------------------- ------ ------------- Examen intra 30% Examen final 30% Travail pratique 1 15% Travail pratique 2 25% Remarques --------- Les travaux pratiques peuvent être réalisés seul ou en équipe de deux. La qualité du français constitue un critère d'évaluation (pour un maximum de 10%). L'étudiant doit obtenir une moyenne cumulée de 50% aux examens; dans le cas contraire, il se verra attribuer un échec. L'étudiant ne remettant aucun des travaux se verra attribuer un échec. En cas de retard dans la remise des travaux, une pénalité de 10% (de la note du travail) par jour ouvrable sera appliquée. Un retard de plus d'une semaine ne sera pas accepté. Médiagraphie ============ VR GODIN, R. -- Systèmes de gestion de bases de données par l'exemple -- Longueuil, Canada : Loze-Dion (2012) . Matériel complémentaire disponible. VC ELMASRI, R. & NAVATHE, S.B. -- Fundamentals of Database Systems -- Boston : Pearson/Adison Wesley (2011). VC GARCIA-MOLINA, H., ULLMAN, J. D. & WIDOM, J. -- Database Systems : the Complete Book -- Upper Saddle River, N.J.: Prentice Hall (2009). Georges Gardarin (2003). Bases de Données (826 p.). Édition Eyrolles. Laurent Audibert. Bases de Données et langage SQL VC SILBERSCHATZ, A., KORTH, H. F. & SUDARSHAN, S. -- Database System Concepts -- New York : McGraw-Hill (2011).