Logo ÉTS
Session
Cours
Responsable(s) Frédérick Henri

Se connecter
 

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

Responsable(s) de cours : Frédérick Henri


PLAN DE COURS

Hiver 2018
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



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 (SGBD);
  • 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
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
03 Mathieu Nayrolles Activité de cours mathieu.nayrolles@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 : 3FN, FNBC, 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) : Intégration  du langage PL/SQL

Labo #4 (durée 2 semaines) : Implantation de la politique de sécurité  des données

 




Utilisation d'outils d'ingénierie

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




Évaluation
Description Pondération
Laboratoires / Travaux 35 %
 Examen I 15 %
 Examen II 15 %
 Examen final 35 %

 

L'étudiante ou l'étudiant doit obtenir une moyenne pondérée d'au moins 50% dans les évaluations individuelles afin de réussir le cours. Cette condition est nécessaire mais non suffisante.

Tous les examens se font sans documentation et seule une calculatrice non programmable est permise.




Dates des examens intra
# Intra Groupe(s) Date
1 1 19 février 2018
1 2 16 février 2018
1 3 15 février 2018
2 1 12 mars 2018
2 2 9 mars 2018
2 3 15 mars 2018



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : http://etsmtl.ca/Etudiants-actuels/Baccalaureat/Examens-finaux


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 dans le Règlement des études (1er cycle, article 7.2.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne 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

Une pénalité de 5% par heure de retard sera appliquée.




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 « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiants doivent consulter le Règlement sur les infractions de nature académique (https://www.etsmtl.ca/A-propos/Direction/Politiques-reglements/Infractions_nature_academique.pdf ) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet.  À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et les étudiants sont invités à consulter la page Citer, pas plagier ! (https://www.etsmtl.ca/Etudiants-actuels/Baccalaureat/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