Logo ÉTS
Session
Cours
Responsable(s) David Marche

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : David Marche


PLAN DE COURS

Hiver 2016
TCH054 : Bases de données (3 crédits)





Préalables
Aucun préalable requis
Unités d'agrément
Données non disponibles




Qualités de l'ingénieur

Qn
Qualité visée dans ce cours  
Qn
  Qualité visée dans un autre cours  
  Indicateur enseigné
  Indicateur évalué
  Indicateur enseigné et évalué



Descriptif du cours
Ce cours ne peut être reconnu dans le cadre d’un programme de baccalauréat.

Au terme de ce cours, l’étudiant sera en mesure de décrire les principales composantes et fonctionnalités d’un système de gestion de base de données (SBGD), comprendre le modèle relationnel et pouvoir exprimer une requête en algèbre relationnelle; comprendre et appliquer les principes fondamentaux de la normalisation; concevoir un schéma relationnel modélisant les données du domaine d’application; créer des tables et manipuler les données à l’aide du langage SQL; implémenter une interface de connexion entre une application et la base de données; modéliser et implémenter les contraintes d’intégrité de la base de données.

Principes fondamentaux de la modélisation relationnelle : schéma, tables, vues, algèbre relationnelle, etc. Éléments architecturaux et principales fonctionnalités des systèmes de gestion de bases de données : gestion de la concurrence, intégrité des données, etc. Création du schéma et manipulation des données à l’aide du langage SQL. Modélisation des contraintes d’intégrité en SQL et à l’aide de procédures déclenchées. Concepts de base de la théorie de la normalisation (3FN, FNBC, etc.). Présentation sommaire des autres types de bases de données : non-relationnelles, semi-structurées, logiques, etc.

Les séances de laboratoire porteront sur la modélisation du schéma relationnelle, la manipulation des données à l’aide du langage SQL et l’implémentation d’une interface JBDC entre la base de données.



Objectifs du cours

Au terme de ce cours, l’étudiant sera en mesure de :

  • décrire les principales composantes et fonctionnalités d’un système de gestion de base de données (SBGD);
  • comprendre le modèle relationnel et pouvoir exprimer une requête en algèbre relationnelle;
  • comprendre et appliquer les principes fondamentaux de la normalisation;
  • concevoir un schéma relationnel modélisant les données du domaine d’application; créer des tables et manipuler les données à l’aide du langage SQL;
  • implémenter une interface de connexion entre une application et la base de données;
  • modéliser et implémenter les contraintes d’intégrité de la base de données.
  • implanter la politique de sécurité de la base de données.



Stratégies pédagogiques

Le cours se divise en deux parties, la première sous forme magistrale de trois (3) heures et demie par semaine, pour une durée de treize (13) semaines. L'autre partie se tiendra dans le laboratoire et sera de deux (2) heures par semaine, comprenant douze (12) séances de laboratoire. Elle permettra à l'étudiant de mettre en pratique les concepts vus en classe.




Utilisation d’appareils électroniques

L'utilisation d'appareils électroniques en classe sont interdits. Aucun enregistrement (photographie, film ou audio) ne sera toléré.




Horaire
Groupe Jour Heure Activité
01 Lundi 08:30 - 12:00 Activité de cours
Mercredi 08:00 - 12:00 Laboratoire (2 sous-groupes)
02 Mercredi 13:00 - 17:00 Laboratoire (2 sous-groupes)
Vendredi 08:30 - 12:00 Activité de cours
03 Mardi 08:00 - 12:00 Laboratoire (2 sous-groupes)
Jeudi 08:30 - 12:00 Activité de cours



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Lévis Thériault Activité de cours levis.theriault@polymtl.ca B-2568
01 Richard Rail Laboratoire (2 sous-groupes) Richard.Rail@etsmtl.ca
01 Mathieu Ouellet Laboratoire (2 sous-groupes) m.ouellet17@gmail.com
02 Lévis Thériault Activité de cours levis.theriault@polymtl.ca B-2568
02 Richard Rail Laboratoire (2 sous-groupes) Richard.Rail@etsmtl.ca
02 Mathieu Ouellet Laboratoire (2 sous-groupes) m.ouellet17@gmail.com
03 Mathieu Nayrolles Activité de cours mathieu.nayrolles@gmail.com
03 Richard Rail Laboratoire (2 sous-groupes) Richard.Rail@etsmtl.ca
03 Mathieu Ouellet Laboratoire (2 sous-groupes) m.ouellet17@gmail.com



Cours

Séance 

Description

1

Introduction aux systèmes de gestion de bases de données

2

Modèle conceptuel

3

Modèle relationnel

4

Langage SQL : LDD (1/2)

5

Langage SQL : LDD (2/2)

Note : si nécessaire, peut être interverti avec une séance de LMD

6

Langage SQL : LMD (1/2)

7

Langage SQL : LMD (2/2)

8

Interface entre SQL et un programme : PL/SQL (1/2)

9

Interface entre SQL et un programme : PL/SQL (2/2)

10

Interface entre SQL et un programme : ODBC/JDBC/SQLJ

11

Théorie de la normalisation

12

Langage SQL :  LCD

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Contenu détaillé :

Introduction aux systèmes de gestion de bases de données

  • Notion de bases de données
  • Modèles de bases de données
  • Système de gestion de bases de données (SGBD)
  • Système d’information
  • Progiciel de gestion intégré (ERP)

 

Modèle conceptuel

  • Notion de règles d’affaire
  • Formalisation des données
  • Entités, attributs, relations, cardinalités, identifiants
  • Associations unaire, binaire, ternaire, n-aire
  • Diagramme entité-association

 

Modèle relationnel

  • Origine
  • Concept de relation, n-uplet, table, domaine
  • Contraintes d’identité et référentielles
  • Clés primaires et étrangères
  • Algèbre relationnelle (sélection, projection, jointure, etc.)

 

Langage SQL : LDD

  • Types SQL
  • Définition de tables : CREATE/DROP/UDPDATE TABLE
  • Clés : PRIMARY KEY, FOREIGN KEY
  • Contraintes : CHECK, NOT NULL, DOMAIN, DEFAULT, etc.

 

Langage SQL : LMD

  • Opérations de base : SELECT, FROM, WHERE, ORDER BY, etc.
  • SELECT imbriqués
  • Opérations sur les dates
  • Opérations sur les chaînes de caractères et expressions régulières
  • Opérations de groupe : SUM, COUNT, GROUP BY, HAVING, etc.
  • Opérations de modification : INSERT, UPDATE, DELETE

 

Langage SQL : LMD + LDD

  • Tables virtuelles : CREATE VIEW, avantages, limites, etc.
  • Transactions : COMMIT, ROLLBACK
  • Méta-données : CURRENT_USER, USER_TABLES, CURRENT DATE, etc.

Interface entre SQL et un programme (application) : PL/SQL

  • Définition de blocs : DECLARE, BEGIN, END, etc.
  • Déclaration et affectation de variables : TYPE, SELECT INTO, ‘:=’.
  • Conditions : IF, ELSE, END IF
  • Boucles : LOOP, FOR, WHILE
  • Curseurs : CURSOR, OPEN, LOOP, FOR
  • Traitement d’exceptions : RAISE, WHEN, etc.
  • Procédures et fonctions : CREATE PROCEDURE, CREATE FUNCTION, RETURN, privilèges d’exécution
  • Procédures déclenchées : CREATE TRIGGER, BEFORE/AFTER/INSTEAD, FOR EACH ROW, REFERENCING

Interface entre SQL et un programme (application) : ODBC/JDBC/SQLJ

  • Différentes interfaces : ODBC, JDBC, SQLJ, etc.
  • Connexion : Chargement de pilote JDBC, getConnection, close, etc.
  • Création et exécution d’énoncés : createStatement, executeUpdate, executeQuery, etc.
  • Traitement des résultats : ResultSet, next, getXYZ
  • Énoncés compilés et exécution en lot : prepareStatement, addBatch, executeBatch, setXYZ
  • Appel de fonctions et procédures : prepareCall, registerParameter, execute

Théorie de la normalisation

  • Motivations
  • Concepts de bases : décomposition sans perte, dépendances fonctionnelles, etc.
  • Formes normales : FNBC, 3FN, 4FN, 5FN

Langage SQL :  LCD

  • Concepts d’utilisateurs, rôles, privilèges, confidentialités, responsabilités
  • Privilèges : GRANT, REVOKE
  • Politique de sécurité des données

 

 

 

 

 




Laboratoires et travaux pratiques

Laboratoires :

Labo #1 (durée 5 semaines) : Conception et implémentation d’une base de données

Labo #2 (durée 2 semaines) : Formulation de requêtes SQL

Labo #3 (durée 3 semaines) : Integration  du language PL/SQL

Labo #4 (durée 2 semaines) : Implantetion de la politique de sécurtié  des données comme une interface entre une application et la base de données.

 




Utilisation d'outils d'ingénierie

Les laboratoires sont développés avec le langage SQL dans un environnement UNIX/Windows.




Évaluation
  • Intra : 30%
    • Groupe 01 : lundi 22 février 2016
    • Groupe 02 : vendredi 19 février 2016
    • Groupe 03 : jeudi 18 février 2016
  • Final : 35%
  • Laboratoires  (12%, 7%, 9%, 7%)  :  35%



Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés à l’article 6.5.2 du Règlement des études, se verra attribuer la note zéro, à moins que d’autres dispositions soient communiquées par écrit par l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.

Dispositions additionnelles

-5% par heure de retard sera appliqué




Absence à un examen
• Pour les départements à l'exception du SEG :
Dans les cinq (5) jours ouvrables suivant la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat ou autre) à un examen entraînera l’attribution de la note zéro (0).

• Pour SEG :
Dans les cinq (5) jours ouvrables suivant la tenue de son examen, l’étudiant devra justifier son absence auprès de son enseignant. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat ou autre) à un examen entraînera l’attribution de la note zéro (0).



Infractions de nature académique
Les clauses du « Chapitre 10 : Plagiat et fraude » du « Règlement des études de 1er cycle » s’appliquent dans ce cours ainsi que dans tous les cours du département. Afin de se sensibiliser au respect de la propriété intellectuelle, tous les étudiants doivent consulter la page Citer, pas plagier ! http://www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Guichet-interactif/Citer-pas-plagier



Documentation obligatoire

Aucune.




Ouvrages de références

Godin, R. (2012). Systèmes de gestion de bases de données par l'exemple, 3ème édition, Loze-Dion, Montréal, Canada.

Rivard, S. (2013). Le développement de systèmes d’information: une méthode intégrée à la transformation des processus. 4ième édition, Québec, Québec: Presses de l’Université du Québec, Annexe 9.




Adresse internet du site de cours et autres liens utiles

http://cours.etsmtl.ca/seg/ltheriault/cours/tch054