| ||||
Sigle : INF4163 Gr. 01 Titre : Techniques de bases de données Session : Hiver 2019 Horaire et local Professeur : Abdul Wahab, Omar | ||||
1. Description du cours paraissant à l'annuaire : | ||||
ObjectifsInitier l'étudiant aux techniques de bases de données. Le familiariser avec les principaux modèles d'organisation des données et leur implantation. Lui présenter les principales méthodes de conception et de gestion des données dans des systèmes relationnels. ContenuNotions de bases de données et de systèmes de gestion de bases de données (SGBD). Avantages des SGBD. Rappel sur les modèles de données. Introduction au modèle des données en réseau et DBTG. Schéma interne : représentation interne des systèmes de bases de données, structure et mécanismes d’accès. Modèle de données relationnel. Conception des bases de données relationnelles. Normalisation des bases de données. Langage SQL : fonctions de description et fonctions de manipulation des données. Algèbre relationnelle. SQL embarqué. Notions de transactions. Traitement et optimisation des requêtes. Développement d’applications. Intégrité et contrôle d’accès. Récupération et accès concurrentiel aux bases de données. Administration des bases de données. Introduction aux bases de données orientées objet et aux bases de données réparties. Ce cours comporte des séances obligatoires de travaux dirigés (TD) de deux heures par semaine. | ||||
2. Objectifs spécifiques du cours : | ||||
| ||||
3. Stratégies pédagogiques : | ||||
Les formules pédagogiques suivantes seront utilisées : Logistique du cours :
| ||||
4. Heures de disponibilité ou modalités pour rendez-vous : | ||||
Lundi de 15 h à 17 h Courriel : omar.abdulwahab@uqo.ca | ||||
5. Plan détaillé du cours sur 15 semaines : | ||||
Semaine | Thèmes | Dates | ||
1 |
Introduction aux bases de données Concepts des bases de données (DB). Systèmes de gestion de fichiers. Systèmes de gestion de bases de données (SGBD). Composantes d'un environnement de BD. Fonctions d'un administrateur de BD. Architecture ANSI/SPARC. Les trois niveaux : externe, conceptuel et interne. Concept d'indépendance de données. Générations de bases de données. Progrès en BD. |
08 jan. 2019 | ||
2 |
Conception des bases de données Cycle de développement d'une BD. Spécification des besoins. Modélisation conceptuelle, logique et physique. Stratégies de conception : ascendante, descendante, intégration de vues, etc. Modèle entité-relation. Entité, attribut, association, cardinalités minimales et maximales. Associations unaires, binaires et ternaires. Contraintes d'intégrité sémantique. Entité faible. Dictionnaire de données. Modèle entité-relation étendu. Contraintes de généralisation. Diagramme de flux de données. Modélisation orientée objet. Outils CASE. Séances de laboratoire : Conception des bases de données
|
15 jan. 2019 | ||
3 |
Modélisation de données Modèle entité-relation. Entité, attribut, association, cardinalités minimales et maximales. Associations unaires, binaires et ternaires. Contraintes d'intégrité sémantique. Entité faible. Dictionnaire de données. Modèle entité-relation étendu. Contraintes de généralisation. Diagramme de flux de données. Modélisation orientée objet. Outils CASE. Séances de laboratoire : Modélisation de données
|
22 jan. 2019 | ||
4 |
Modèle relationnel Modèle relationnel. Relation. Attribut. Clé primaire et clé étrangère. Contrainte d'intégrité référentielle. Dépendances fonctionnelles. Formes normales. Conception des bases de données relationnelles. Transformation d'un schéma entité relation en un schéma relationnel. Séances de laboratoire : Modèle relationnel et normalisation
|
29 jan. 2019 | ||
5 |
Normalisation Normalisation du schéma relationnel. Trois premières formes normales. Le modèle Boyce and Codd Normal Form (BCNF) de normalisation. Avantages et inconvénients de la normalisation. Séances de laboratoire : Création d'une BD
|
05 fév. 2019 | ||
6 |
Le langage SQL Catégories de commandes SQL : DDL (description), DML (manipulation), DCL (contrôle des données), et TCL (contrôle des transactions). Création de bases de données et d'objets (ex. TABLE, INDEX, VIEW). Modification de la structure des tables (ALTER TABLE). Commande SELECT avec variantes. Jointures internes et externes. Auto-jointures (self-joins). Requêtes imbriquées. Séances de laboratoire : Requêtes SQL
|
12 fév. 2019 | ||
7 |
Le langage SQL (Suite) GROUP BY. Fonctions diverses. Commande de mises à jour : INSERT, UPDATE, DELETE. Commandes INSERT, UPDATE et DELETE. Octroi et retrait de privilèges. Sécurité d'accès. Confirmation ou annulation de transactions. Séances de laboratoire : Requêtes SQL
|
19 fév. 2019 | ||
8 |
Examen de mi-session Exercices en normalisation |
26 fév. 2019 | ||
9 |
Semaine d'études |
05 mars 2019 | ||
10 |
Programmation SQL Curseurs, procédures stockées, règles et déclencheurs (triggers). SQL enchâssé et pré-compilateurs. Exemples et démonstration. Séances de laboratoire : Correction de l’examen intra (exercices)
|
12 mars 2019 | ||
11 |
Programmation SQL (suite) Projet de session – Présentation générale du projet de session :
Séances de laboratoire : Curseurs, déclencheurs, procédures stockées, règles
|
19 mars 2019 | ||
12 |
Gestion des transactions Notion de transaction. Intégrité sémantique. Contrôle de concurrence. Stratégies de sauvegarde. Journalisation. Reprise après panne (recovery). Sécurité et confidentialité. Séances de laboratoire : Curseurs, déclencheurs, procédures stockées, règles
|
26 mars 2019 | ||
13 |
Optimisation des requêtes Processus d'exécution des requêtes. Opérateurs relationnels (sélection, projection, jointure). Arbre syntaxique. Plans d'exécution. Algorithmes de jointure. Optimisation syntaxique et sémantique. Optimiseur de requêtes dans les SGBD. Exemples avec SQL Server. Séances de laboratoire : Gestion des transactions
|
02 avr. 2019 | ||
14 |
Le futur des BD relationnels : un aperçu sur le concept de « mégadonnées » Avantages et limites des BD relationnels. Le concept de « mégadonnées ». Exigences de conception pour les systèmes Big Data. Séances de laboratoire : Optimisation des requêtes
|
09 avr. 2019 | ||
15 |
Examen final Remise du projet |
16 avr. 2019 | ||
6. Évaluation du cours : | ||||
L’évaluation est l’appréciation du niveau d’apprentissage atteint par l’étudiant(e) par rapport aux objectifs des cours et des programmes. En cas d’échec d’un cours, il n’y a pas d’examen de reprise tenant lieu d’évaluation globale de l’activité. L’étudiant(e) qui a échoué un cours obligatoire doit, dès qu’il s’inscrit à une session donnée, reprendre ce cours si l’offre de cours le permet. L'attribution des notes se fera selon la répartition suivante :
| ||||
7. Politiques départementales et institutionnelles : | ||||
| ||||
8. Principales références : | ||||
Notes de cours disponibles sur Moodle.
| ||||
9. Page Web du cours : | ||||
https://moodle.uqo.ca |