Université du Québec en Outaouais Département d'informatique et d'ingénierie
Sigle : INF4163  Gr. 01
Titre : Techniques de bases de données
Session : Hiver 2017  Horaire et local
Professeur : Yapi, Daniel
1. Description du cours paraissant à l'annuaire :

Objectifs

  • Initier 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.

Contenu

Notions 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 :
  • Familiariser l’étudiant avec les techniques de bases de données.
  • Former l’étudiant aux principes des bases de données relationnelles et de leur système de gestion en lui fournissant une vue globale du domaine.
  • Fournir une description du fonctionnement et des fonctionnalités des SGBD en utilisant SQL Server comme exemple.
  • Offrir une compréhension des principes de la modélisation de données et permettre à l’étudiant d'élaborer des schémas de données relationnels et normalisés.
  • Familiariser l’étudiant avec le langage SQL qui sera utilisé activement pour la description et la manipulation des bases de données.
  • Permettre à l’étudiant de mettre en pratique toutes les connaissances et techniques acquises durant le cours via des exercices et un projet de session portant sur la conception et l’implantation d’une base de données relationnelle.
3. Stratégies pédagogiques :

Les formules pédagogiques suivantes seront utilisées:

  • Accès au laboratoire à des postes de travail Windows 10, sur lesquels le Client SQL Server 2008/2012 est installé.
  • Accès Moodle sur le Web pour la récupération des notes de cours, des énoncés de travaux, des consignes spécifiques et des résultats d'évaluation.
4. Heures de disponibilité ou modalités pour rendez-vous :
Sur rendez-vous seulement.
5. Plan détaillé du cours sur 15 semaines :
Semaine Thèmes Dates
1    Présentation du plan de cours, entente d'évaluation et 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.

13 jan. 2017 
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.

Séance de laboratoire : Date à déterminer - Modélisation de données

20 jan. 2017 
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éance de laboratoire : Date à déterminer - Modélisation de données

27 jan. 2017 
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éance de laboratoire : Date à déterminer - Modèle relationnel et normalisation

Remise du devoir #1

03 fév. 2017 
5    Normalisation

Normalisation du schéma relationnel. Trois premières formes normales. Avantages et inconvénients de la normalisation.

Séance de laboratoire : Date à déterminer - Création d'une BD sous SQL Server

10 fév. 2017 
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. Autojointures (self-joins). Requêtes imbriquées.

Séance de laboratoire : le 19 février 2017 - Requêtes SQL

17 fév. 2017 
7    Examen de mi-session

Exercices en normalisation

Séance de laboratoire: Date à déterminer - Requêtes SQL

Remise du devoir #2

24 fév. 2017 
8    Semaine d'études 03 mars 2017 
9    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éance de laboratoire : Date à déterminer - Exercice

10 mars 2017 
10    Programmation SQL

Curseurs, procédures stockées, règles et déclencheurs (triggers). SQL enchâssé et précompilateurs. Exemples et démonstration.

Projet de session - Présentation générale du projet de session:

  • Schéma conceptuel de données
  • Création d'une base de données
  • Requêtes SQL
  • Déclencheurs, procédures stockées e curseurs.

Séance de laboratoire : Date à déterminer - Requêtes SQL

17 mars 2017 
11    Optimisation physique des données

Organisation séquentielle. Indexage. Types d'index. Arbres B et variantes. Hachage (hashing). Organisation par grappe (clustering).

Séance de laboratoire : le 25 mars 2017 - Curseurs, déclencheurs, procédures stockées, règles

24 mars 2017 
12    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éance de laboratoire : Date à déterminer - Curseurs, déclencheurs, procédures stockées, règles

31 mars 2017 
13    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éance de laboratoire : Date à déterminer - Optimisation des requêtes

07 avr. 2017 
14    Congé férié

Séance de laboratoire : Date à déterminer - Gestion des transactions

14 avr. 2017 
15    Examen final

Remise du projet

21 avr. 2017 
6. Évaluation du cours :
L’évaluation est l’appréciation du niveau d’apprentissage atteint par l’étudiant 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 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:

L'attribution des notes se fera selon la répartition suivante:

  • Devoirs (2) : 10 %
  • Projet de session : 35 %
  • Examen intra : 25 %
  • Examen final : 30 %
  1. Projet de session conception logique, création, chargement et manipulation d'une base de données relationnelle sur SQL Server 2005/2008R2/2012. Pour plus de détails, prière de consulter l'échéancier et les consignes additionnelles qui seront donnés. L'objectif du projet principal est de concevoir une base de données pour une application «réaliste». Une description sera fournie.
  2. Examens intra et final : Les deux examens comprendront des questions à choix multiples, question avec des réponses courtes et des questions avec des réponses détaillées.
  3. La note de passage du cours est de 50 % pour les deux examens cumulés.
  4. La qualité du français fait partie intégrante des critères d'évaluation du projet et examens (maximum de 10 %)
  5. Les étudiants devront aussi obtenir une note combinée de 52 % pour les deux examens (intra et final) pour que les travaux soient comptabilisés dans la note finale.
  6. Pour chaque travail, une échéance est imposée. Il sera de la responsabilité des étudiants de rencontrer ces échéanciers.
7. Politiques départementales et institutionnelles :
8. Principales références :
  1. Notes de cours disponibles sur Moodle.
  2. C.J. Date, An Introduction to Database Systems, 8ième édition, Pearson Education Canada, 2004.
  3. R. Elmasri & S. B. Navathe. Fundamentals of Database Systems, 5ième édition, Pearson Education Canada, 2011.
  4. R. Godin,Systèmes de gestion de bases de données par l'exemple, 2ième édition. Loze-Dion, 2006.
  5. Jérôme Gabillaud (2008). SQL Server 2008 - SQL, Transact SQL - Conception et réalisation d'une base de données. Édition ENI, 2008.
9. Page Web du cours :
https://moodle.uqo.ca