Logo ÉTS
Session
Cours
Responsable(s) Abderrahmane BenMimoune

Se connecter
 

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

Responsable(s) de cours : Abderrahmane BenMimoune


PLAN DE COURS

Hiver 2025
TCH055 : 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'étudiante ou 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), distinguer entre différents types de bases de données (ex : relationnelle, non relationnelle, objet, logique); 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.

Les séances de laboratoire porteront sur la modélisation du schéma relationnelle, la manipulation des données à l’aide du langage SQL.



Objectifs du cours

Au terme de ce cours, l’étudiante ou 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.



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'étudiante ou l'étudiant de mettre en pratique les concepts vus en classe.




Utilisation d’appareils électroniques

Micro-ordinateur durant les séances de laboratoires.




Horaire
Groupe Jour Heure Activité
01 Lundi 08:15 - 10:15 Travaux pratiques (Groupe A)
Lundi 10:30 - 12:30 Travaux pratiques (Groupe B)
Mardi 13:30 - 17:00 Activité de cours
02 Lundi 13:30 - 17:00 Activité de cours
Mercredi 08:15 - 10:15 Travaux pratiques (Groupe A)
Mercredi 10:30 - 12:30 Travaux pratiques (Groupe B)
03 Mercredi 09:00 - 12:30 Activité de cours
Jeudi 08:15 - 10:15 Travaux pratiques (Groupe A)
Jeudi 10:30 - 12:30 Travaux pratiques (Groupe B)
04 Mercredi 13:30 - 15:30 Travaux pratiques (Groupe A)
Mercredi 15:45 - 17:45 Travaux pratiques (Groupe B)
Vendredi 09:00 - 12:30 Activité de cours
05 Lundi 08:15 - 10:15 Travaux pratiques (Groupe A)
Lundi 10:30 - 12:30 Travaux pratiques (Groupe B)
Vendredi 13:30 - 17:00 Activité de cours



Coordonnées du personnel enseignant le cours
Groupe Nom Activité Courriel Local Disponibilité
01 Amal Ben Abdellah Activité de cours amal.benabdellah@etsmtl.ca B-2568
01 Nessrine Hammami Travaux pratiques (Groupe A) nessrine.hammami.1@ens.etsmtl.ca
02 Amal Ben Abdellah Activité de cours amal.benabdellah@etsmtl.ca B-2568
02 Samuel Velasco Travaux pratiques (Groupe A) samuel.velasco.1@ens.etsmtl.ca
03 Inoussa Legrene Activité de cours inoussa.legrene@etsmtl.ca
03 Inoussa Legrene Travaux pratiques (Groupe A) inoussa.legrene@etsmtl.ca
04 Pamella Sorelle Kissok Gassa Activité de cours pamella-sorelle.kissok-gassa@etsmtl.ca B-2568
04 Samuel Velasco Travaux pratiques (Groupe A) samuel.velasco.1@ens.etsmtl.ca
05 Pamella Sorelle Kissok Gassa Activité de cours pamella-sorelle.kissok-gassa@etsmtl.ca B-2568
05 Daril Raoul Kengne Wambo Travaux pratiques (Groupe A) daril-raoul.kengne-wambo@etsmtl.ca



Cours

 

Séance 

Description

1

Introduction aux systèmes de gestion de bases de données, Modèle conceptuel

2

Modèle relationnel, Théorie de la normalisation

3

Langage SQL : LMD (1/3)

4

Langage SQL : LMD (2/3)

5

Langage SQL : LMD (3/3)

6

Algèbre relationnelle, Langage SQL : LDD (1/3)

Examen Intra

8

Langage SQL : LDD (2/3)

9

Langage SQL : LDD (3/3)

10

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

11

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

12

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

13

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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)
  • Les types de bases de données

Modèle conceptuel

  • Notion de règles d’affaire
  • Formalisation des données, diagramme du domaine
  • 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.)

Théorie de la normalisation

  • Motivations
  • Concepts de bases liés à la théorie de la normalisation
  • Formes normales : 3FN, FNBC, 4FN, 5FN

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.
  • Contraintes d'intégrité dynamiques (déclencheurs)

Langage SQL : LMD

  • Algèbre relationnelle (sélection, projection, jointure, etc.)
  • 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 programmatique entre SQL et un programme (application)

  • Différentes interfaces : ODBC, JDBC, API spécifique au SGBD, 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

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 3 semaines) : Conception d’une base de données

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

Labo #3 (durée 3 semaines) : Procédures stockées en PL/SQL

Labo #4 (durée 2 semaines) : Accès programmatique à une base de données

 




Utilisation d'outils d'ingénierie

Les laboratoires sont développés avec le langage SQL dans un environnement de développement (ex.: SQL Developer). Les programmes réalisés en vue de s'interfacer avec une base de données seront développés dans un environnement adapté au langage de programmation utilisé (ex.: Visual Studio, Eclipse, etc.). 




Évaluation
Description Pondération Semaine

Laboratoires / Travaux

Quatre laboratoires tout au long de la session. Pondérations réparties ainsi: 
- Labo 1: 10 %
- Labo 2: 12 %
- Labo 3: 10 %
- Labo 4: 8 %

Toute la session

(Dates communiquées par l'enseignante ou l'enseignant lors de la première séance)

 Examen Intra 20 % 7
 Examen final 40 % Période des examens finaux

 

À propos des travaux pratiques :

  • Les travaux pratiques visent à mettre en application, dans le cadre d'un problème réaliste, les concepts et les méthodes de programmation enseignés pendant les cours théoriques. Il est attendu des étudiantes et étudiants qu'ils produisent des travaux qui permettent de résoudre le problème de l'énoncé MAIS SURTOUT qu'ils les réalisent selon les standards de qualité et les bonnes pratiques enseignés (respect des normes, décomposition en sous-programme/modules, etc.). La cohérence et l'optimalité des algorithmes implémentés constituent également des critères importants qui seront considérés. En tout état de cause, la note attribuée à l'exécution correcte du programme ne pourra excéder 40 % de la note globale d'un travail pratique.

  • Dans le but de respecter la loi sur la langue française dans les universités, les travaux et le code doivent être, dans la mesure du possible, en français. En tout état de cause, les commentaires de code doivent obligatoirement être écrits en français uniquement. Ces règles s’appliquent autant au matériel fourni par les enseignantes et enseignants qu’aux documents et travaux remis par les étudiantes et étudiants.

  • Pour chaque travail pratique, l’enseignante ou l'enseignant indiquera sur l’énoncé s’il doit être réalisé en équipe et, si tel est le cas, la taille de l’équipe. Une équipe ne doit remettre qu’un seul rapport.

  • Il est à noter que pour les travaux en équipe, chaque membre recevra une note inférieure ou égale à la note obtenue par l'équipe. Cette note individuelle est directement proportionnelle à l'implication de l'étudiante ou de l'étudiant. La méthode d’évaluation de l’implication de chaque individu est laissée à la discrétion de l’enseignante ou de l'enseignant.

  • En règle générale, les travaux proposés durant une session sont les mêmes pour tous les cours-groupes. Toutefois, en cas de différence, les enseignantes et enseignants s’assurent qu’il n’y ait pas de disparités en terme d’effort requis entre les cours-groupes. 

À propos des examens Intra et Final :

  • Les examens Intra et Final sont est d'une durée de 3 heures.
  • L'examen final est un examen commun et cumulatif lors duquel les concepts présentés dans la fiche du cours seront évalués. 
  • Les examens se font sur l'ordinateur portable de l'étudiante ou de l'étudiant. Aucun appareil électronique, autre que l'ordinateur portable, n’est permis. 
  • Les examens se font au sein d'un environnement contrôlé (du type SafeExamBrowser). L'enseignante ou l'enseignant vous communiquera les détails pour la préparation de l'ordinateur portable en vue de l'examen Intra et Final. Les étudiantes et étudiants sont responsables de l'installation et de la vérification du fonctionnement de l'environnement de l'examen avant la tenue de l'examen et doivent signifier, le cas échéant, à son enseignante ou enseignant tout problème au moins 5 jours ouvrables avant le jour de l'examen. 
  • Aucune documentation n'est permise, à l'exception de la même feuille de référence fournie à tous les groupes du cours.

Double seuil : 

  • Une note moyenne pondérée de 50 % est exigée pour l’ensemble des évaluations à caractère individuel. Ce seuil est une condition nécessaire à la réussite du cours mais ne la garantit pas.



Double seuil
Note minimale : 50



Dates des examens intra
Groupe(s) Date
1 18 février 2025
2 17 février 2025
3 19 février 2025
4, 5 21 février 2025



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : https://www.etsmtl.ca/programmes-et-formations/horaire-des-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.5/ cycles supérieurs, article 6.5.2) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignante ou l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.



Absence à une évaluation

Afin de faire valider une absence à une évaluation en vue d’obtenir un examen de compensation, l’étudiante ou l’étudiant doit utiliser le formulaire prévu à cet effet dans son portail MonÉTS pour un examen final qui se déroule durant la période des examens finaux ou pour tout autre élément d’évaluation surveillé de 15% et plus durant la session. Si l’absence concerne un élément d’évaluation de moins de 15% durant la session, l’étudiant ou l’étudiante doit soumettre une demande par écrit à son enseignante ou enseignant.

Toute demande de validation d’absence doit se faire dans les cinq (5) jours ouvrables suivant la tenue de l’évaluation, sauf dans les cas d’une absence pour participation à une activité prévue aux règlements des études où la demande doit être soumise dans les cinq (5) jours ouvrables avant le jour de départ de l’ÉTS pour se rendre à l’activité.

Toute absence non justifiée par un motif majeur (voir articles 7.2.6.1 du RÉPC et 6.5.2 du RÉCS) 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 étudiantes et les étudiants doivent consulter le Règlement sur les infractions de nature académique (www.etsmtl.ca/a-propos/gouvernance/secretariat-general/cadre-reglementaire/reglement-sur-les-infractions-de-nature-academique) 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 tous les membres de la communauté étudiante sont invités à consulter la page Citer, pas plagier ! (www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).

Systèmes d’intelligence artificielle générative (SIAG)
L’utilisation des systèmes d’intelligence artificielle générative (SIAG) dans les activités d’évaluation constitue une infraction de nature académique au sens du Règlement sur les infractions de nature académique, sauf si elle est explicitement autorisée par l’enseignante ou l’enseignant du cours.



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

https://ena.etsmtl.ca/course/view.php?id=3977




Autres informations

Les séances de cours et de travaux pratiques des cours-groupes dont le mode d'enseignement est hybride sont offertes entièrement à distance. L'étudiante ou l'étudiant inscrit à un tel cours-groupe n'a donc pas besoin de se déplacer à l'École durant la session, sauf lors des évaluations en présence identifiées à la section "Évaluation".