PLAN DE COURS Hiver 2007
IFT−19022 Z1 − Modèles et langages des bases de données
Informations générales
Crédits : 3
Temps consacré : 3−0−0−6 Formule pédagogique : LT
Préalable(s) : IFT−21453, IFT−17582 ou IFT−19965 ou l'équivalent Concomitant(s) : aucun
Site Web : https://cours.ift.ulaval.ca/2007h/19022 Intranet Pixel : https://pixel.fsg.ulaval.ca
Enseignant(s) : Talhi, Chamseddine [email protected] Responsable : Parent, Marc Philippe [email protected]
Description sommaire
Architecture du logiciel SGBD et des mécanismes de persistance et de recouvrement des données.
Modèle relationnel: propriétés, contraintes et algèbre relationnelle. Étude des opérateurs avancés et de leurs propriétés: division, jointures externes et semi−jointure. Règles de passage du MCD au MRD. La dépendance fonctionnelle, le calcul de la fermeture et algorithme de synthèse. Les formes normales.
Étude approfondie du langage SQL: DDL et DML. Vues relationnelles: contrainte pour la mise à jour.
Interface avec un L3G. Bref survol des langages QUEL et QBE. Exercices en classe, travaux pratiques et un projet de mise en oeuvre d'une BD.
Horaire
Plages normales : cours à distance Dépannages : aucun
Objectifs Introduction
Ce cours de 3 crédits porte sur les bases de données, leurs modèles et ce qui les entoure.
C'est un cours de base qui est utile dans plusieurs autres cours, comme Visual Basic ou programmation avancée en Java. Il est aussi très utile sur le marché du travail où les bases de données sont très
répandues.
Ce plan de cours a pour objectif de vous préparer à suivre le cours. Il définit en quelque sorte un mode d'emploi, non seulement pour le matériel didactique du cours, mais aussi pour le cheminement que vous devez adopter et les différentes exigences auxquelles vous devez répondre.
Bonne lecture et bon cours!
But et objectifs
Le but de ce cours est d'acquérir une bonne connaissance des bases de données et de leur environnement et plus précisément:
1. Connaître le fonctionnement d'un système de gestion de base de données (SGBD) 2. Utiliser l'algèbre relationnelle comme langage de manipulation des tables
3. Utiliser les formes normales pour structurer une base de données
4. Créer/ modifier/ interroger une base de données relationnelle avec SQL et PL/SQL 5. Exploiter une base de données avec une application Java
6. Administrer un SGBD et ses données
7. Comprendre les concepts avancés reliés aux SGBD
8. Apprendre à évaluer la charge de travail d'un développement de base de données 9. Utiliser une norme de conception pour les bases de données
Objectifs spécifiques
1. Connaître le fonctionnement d'un système de gestion de base de données (SGBD) a. Décrire les avantages de l'utilisation des SGBD
b. Décrire les différents processus qui interagissent c. Décrire la structure fonctionnelle d'un SGBD
2. Utiliser l'algèbre relationnelle comme langage de manipulation des tables a. Utiliser l'algèbre relationnelle pour la formulation des requêtes
b. Traduire vers un autre langage
3. Utiliser les formes normales pour structurer une base de données
a. Décrire les différentes formes normales à l'aide des dépendances fonctionnelles b. Utiliser les dépendances fonctionnelles et leurs mécanismes
c. Appliquer les formes normales à un modèle de données
4. Créer/ modifier/ interroger une base de données relationnelle avec SQL et PL/SQL a. Créer les différents objets qui font partis d'une base de données
b. Maintenir les différents objets d'une base de données i) Tables
ii) Procédures stockées et fonctions iii) Déclencheurs
c. Modifier les données
d. Compléter la structure d'une base de données e. Interroger le contenu d'une base de données
5. Exploiter une base de données avec une application Java
a. Utiliser une interface logicielle pour exploiter une base de données avec une application Java b. Créer une application Java pour exploiter une base de données
6. Administrer un SGBD et ses données
a. Sensibiliser l'étudiant à la sécurité des données b. Mettre en uvre des règles de sécurité
c. Optimiser les performances du SGBD d. Décrire les différents mécanismes de reprise
e. Reproduire les différents mécanismes de reprise 7. Comprendre les concepts avancés reliés aux SGBD a. Sensibilier l'étudiant aux concepts avancés des SGBD
b. Comprendre les différentes possibilités des concepts avancés des SGBD c. Comprendre le fonctionnement de certains concepts avancés des SGBD d. Introduire les entrepôts de données
8. Apprendre à évaluer la charge de travail d'un développement de base de données a. Évaluer la tâche d'analyse et de conception d'une base de données
b. Évaluer la tâche de programmation d'une base de données
c. Évaluer la tâche de programmation d'une application de base de données 9. Utiliser une norme de conception pour les bases de données
Contenu
1 Introduction
Utilisation des bases de données (BD)
•
Approche gestion de fichier
•
Base de données
•
Systèmes de gestion de bases de données (SGBD)
•
Environnement des SGBD
•
Composants d'un SGBD
• 2−Modèle relationnel
Terminologie
•
Propriétés des relations
•
Notions de clés
•
Gestion d'intégrité
•
• Vues 3−Normalisation
But de la normalisation
•
Problèmes potentiels de la redondance de données
•
Dépendances fonctionnelles
•
Formes normales
• 4−Algèbre relationnelle
Définition de l'algèbre relationnel
•
Requêtes de l'algèbre relationnel
• 5−SQL
Utilité et importance de SQL
•
Types de données SQL
•
Définition de données
•
Manipulation de données
•
Vues en SQL
• 6−PL/SQL
Introduction au PL/SQL
•
Langage PL/SQL
•
Curseurs, procédures, fonctions, déclencheurs.
• 7−Indexation et
amélioration des performances
Sélection et création d'index
•
Concepts de dénormalisation
•
Surveillance des sytèmes
•
8−Programmation et BD
Présentation du langage Java
•
Utilisation de Java avec une BD
• 9−Gestion des
transactions • Contrôle de concurrence Contrôle de récupération
•
Transactions, verrouillage, estampillage
•
Journalisation
•
Modèle alternatifs de transaction
• 10−Sécurité et
optimisation • Gestion de la sécurité Menaces potentielles
•
Traitement et optimisation de requêtes
• 11−Concepts avancés
de BD • SGBD distribué
Entrepôt de données
•
• OLAP
Forage de données (data−mining)
• Charge de travail et calendrier
Ce cours de 3 crédits, est offert à distance sur une session de 16 semaines dont 2 sont réservées aux examens sous surveillance. La somme de travail exigée pour l'étude des modules et la réalisation des évaluations est de 135 [45 h X 3 crédits] heures par session. En moyenne, la charge de travail hebdomadaire est donc d'environ 9 heures [135 h / 15 sem]. Certains modules nécessitent plus de travail que d'autres. Une feuille de route est présentée sur le site web du cours et détaille les différents efforts à chaque semaine de cours.
Modalités d'évaluation
Examen Date Heure Pondération de la
note finale Examen mi−session Samedi 24 février 2007 09h30 à 12h30 35.00%
Examen final Dimanche 22 avril 2007 09h30 à 12h30 35.00%
Travail Date Heure Pondération de la note finale
Préliminaire tp1 Samedi 20 janvier 2007 23h55 1.00%
Travail pratique 1 Dimanche 11 février 2007 23h55 9.00%
Préliminaire tp2 Dimanche 18 février 2007 23h55 1.00%
Travail pratique 2 Dimanche 11 mars 2007 23h55 9.00%
Préliminaire tp3 Dimanche 18 mars 2007 23h55 1.00%
Travail pratique 3 Dimanche 15 avril 2007 23h55 9.00%
Politiques sur les examens
Concernant une absence à un examen, le plus rapidement possible, l'étudiant devra utiliser le
formulaire Web à cet effet qu'il ou elle trouvera sur son guichet étudiant. Sans quoi, une note de 0 sera automatiquement allouée pour cet examen.
Seuls motifs acceptables pour s'absenter à un examen :
incapacité pour l'étudiant de passer l'examen durant la plage horaire de cet examen, à être mentionné comme tel par un billet précis d'un médecin (incluant les coordonnées de ce dernier), suite à une consultation médicale. Ce billet doit être présenté à la direction du département (tel qu'indiqué dans les instructions associées au formulaire Web à remplir), qui le déposera au dossier de l'étudiant. L'enseignant n'intervient pas dans ce processus mais en est informé automatiquement, d'où la nécessité pour l'étudiant de remplir ce formulaire Web le plus rapidement possible, car dans l'attente, une note de 0 est automatiquement attribuée à l'étudiant pour cette épreuve.
1.
mortalité d'un proche, à être documenté par une preuve de décès de la personne et une lettre d'une tierce personne attestant du lien de parenté ou autre entre l'étudiant et la personne décédée. Ces pièces doivent également être présentées à la direction du département (tel qu'indiqué dans les instructions associées au formulaire Web à remplir). L'enseignant n'intervient pas dans ce processus mais en est informé automatiquement, d'où la nécessité pour l'étudiant de remplir ce formulaire Web le plus rapidement possible, car dans l'attente, une note de 0 est automatiquement attribuée à l'étudiant pour cette épreuve.
Aucune justification d'absence reliée à des événements sportifs (sauf pour les athlètes du Rouge et Or, sur approbation préalable de la direction du Département), à un travail, à un conflit d'horaire avec d'autres cours ou examens, à des horaires de voyage conflictuels (selon des billets d'avion déjà achetés par exemple), ou à des motifs religieux quelconques n'est acceptable. Les conflits d'horaire doivent être résolus au tout début de la session, avant la fin de la période de modification de choix de cours, par l'étudiant lui−même. Un étudiant inscrit à l'un de nos cours après cette date est réputé ne pas avoir de conflit d'horaire pour passer ses examens.
Tout absence justifiée à un examen entraîne l'obligation pour l'étudiant de passer un examen de reprise. Cet examen se déroulera normalement durant le week−end (soit entre le vendredi après−midi et le dimanche soir) de la première semaine de cours de la session académique suivante. L'étudiant a l'obligation de se rendre disponible à cette date, sans quoi il obtiendra la note de 0 pour cet examen. Les examens de reprise de l'automne 2006 devraient
normalement avoir lieu le samedi 13 janvier 2007, ceux de l'hiver 2007 devraient
normalement avoir lieu le samedi 5 mai et ceux de l'été 2007 devraient normalement avoir lieu le samedi 8 septembre (voir calendrier académique sur le site Web de l'Université).
2.
Politiques sur les travaux
Dans le cadre d'un travail, toute communication entre équipes est strictement défendue.
•
Toute personne prise à plagier, à tricher, activement ou passivement, ou à contrevenir aux directives données dans le cadre d'un examen ou d'un travail noté et contributoire à la note finale du cours, peu importe la pondération attribuée à l'examen ou au travail en question, fera face aux conséquences de ses gestes, qui peuvent aller jusqu'à l'exclusion de son programme de formation. Une politique stricte de tolérance zéro est appliquée en tout temps et sous toutes
•
circonstances. Tous les cas seront référés à la direction du Département.
L'étudiant trouvera sur son guichet étudiant la politique départementale relative aux examens;
il ou elle est réputé(e) en avoir pris connaissance.
•
Consignes sur les examens
Il y aura deux examens sous surveillance : un partiel, à la mi−session et un final portant sur la matière de la deuxième partie du cours. Ces examens seront principalement constitués de questions à
développement et de problèmes à résoudre. Lors des examens, vous avez droit d'apporter une feuille de notes au format A4 ou Lettre écrites à la main du côté recto seulement. De plus, toute révision d'un examen amènera une nouvelle correction complète de l'examen. La note obtenue après une révision remplacera définitivement la note obtenue avant révision.
Consignes sur les travaux
Il y aura trois travaux pratiques à remettre durant la session. Ils sont tous précédés d'un rapport préliminaire devant être remis quelques jours après la mise en disponibilité de l'énoncé du travail.
Lors d'un retard de moins de 3 jours pour la remise d'un travail, une pénalité de 20% par jour de retard sera appliquée. Chaque journée de retard débute dès la limite de remise dépassée. Donc un travail remis dans le premier 24h obtient une pénalité de 20%, 40% dans la 2e tranche de 24h et 60% dans la troisième tranche. Un retard excédant la limite précisée ci−dessus provoquera le rejet du travail pour la correction et la note de 0 pour ce travail. La pénalité est calculée avant la correction du travail.
Échelle des cotes
Échelle des cotes
A+ [ 96.00 − 100 ] A [ 92.00 − 95.99 ] A− [ 88.00 − 91.99 ] Réussite B+ [ 84.00 − 87.99 ] B [ 80.00 − 83.99 ] B− [ 76.00 − 79.99 ] Réussite C+ [ 73.00 − 75.99 ] C [ 70.00 − 72.99 ] C− [ 67.00 − 69.99 ] Réussite
D+ [ 64.00 − 66.99 ] D [ 60.00 − 63.99 ] Réussite
E [ 0.00 − 59.99 ] Échec
X Abandon sans échec
(dans les délais prévus)
Politique sur les cotes
L'enseignant se réserve le droit d'ajuster quelque peu cette répartition des cotes afin de réfléter l'évaluation juste des étudiants du cours.
Qualité du français dans les travaux et examens
Vu l'importance des communications écrites dans le domaine de l'informatique, il sera tenu compte autant de la présentation que de la qualité du français et ce, dans une limite de 10% des points
accordés.
Méthodologie
Le matériel disponible sur le serveur Pixel−Typo3 ( https://pixel.fsg.ulaval.ca/ ) est autosuffisant, en ce sens qu'il contient tout ce qu'il faut pour réussir ce cours à distance : textes et exposés, démonstrations, exemples, exercices, etc. À chaque semaine, vous devrez lire les textes appropriés. Pixel vous offre aussi un outil de dépôt de vos travaux électroniques.
Approche pédagogique
Ce cours est conçu selon une approche pédagogique répondant aux besoins spécifiques de ce programme d'informatique offert à distance. Le matériel didactique et la formule utilisée vous permettent d'adopter une démarche d'apprentissage semi−autonome.
Vous devrez en effet gérer votre temps d'étude et prendre en charge votre formation. Vous pouvez communiquer avec le chargé de cours de l'Université Laval par le courrier électronique . Le chargé de cours répondra à vos questions à l'intérieur de 48 heures.
Le cours est divisé en 12 semaines accessibles sous le menu Feuille de route du site du cours.
Activités d'apprentissage
Sur le site, la feuille de route présente : les thèmes abordés dans la semaine;
•
les objectifs spécifiques du module;
•
les lectures à faire, des commentaires et explications sur des notions difficiles, etc.;
•
les activités d'intégration (ex. : séries d'exercices,...);
•
Mode d'encadrement
Le calendrier proposé dans la feuille de route vous permet d'adopter un rythme d'apprentissage régulier dès le début de la session. La personne inscrite reste bien sûr la seule gestionnaire de son temps, mais elle s'engage à effectuer les examens aux moments prescrits.
Vous bénéficierez aussi pendant la session d'une rétroaction du chargé de cours pouvant emprunter différentes voies : la rétroaction écrite, le courrier électronique.
Rétroaction écrite
La rétroaction écrite est prévue :
de la part du chargé de cours de l'Université Laval suite aux travaux pratiques (TP) que vous aurez transmis en utilisant l'outil offert à la rubrique Travaux sur le site du cours.
•
Courrier électronique
Une adresse de courrier électronique vous sera fournie par l'Université Laval. Vous devrez utiliser cette adresse pour toutes vos communications dans les cours du baccalauréat en informatique de l'Université Laval. Cette adresse est composée du prénom du nom et d'un nombre, ces trois éléments étant séparés par un point, suivi de l'arobas (a commercial) et de ulaval.ca (exemple: l'adresse de Jean Til est [email protected]). Le nombre indique la
nième personne portant ce nom et ce prénom à l'Université Laval. Pour connaître votre adresse de courriel et relever votre courriel ulaval.ca, veuillez consulter adage.ulaval.ca.
Il est important de prendre conscience que la réponse aux questions posées par courrier électronique ne sera pas instantanée. Dans ce cours, le chargé de cours répondra à son courrier dans les 24 à 48 heures. Afin d'éviter des délais supplémentaires, il est recommandé d'être explicite dans vos questions et commentaires (ex. : spécifiez les noms des documents et les pages auxquelles vous vous référez).
Logiciels
Oracle 10g version personnelle sous Windows XP
•
Borland Jbuilder Foundation X pour Windows et Linux.
•
Acrobat Reader 6 ou plus.
•
Microsoft Word ou Openoffice disponible à openoffice.org
• Bibliographie
Plew, Ronald R. & Al, 2001, Campus Presse France, SQL Tout En Poche, 402 pp.(recommandé),
•
Thomas Connolly, Carolyn Begg, 2004, Éditions Reynald Goulet, Systèmes de base de données: Approche pratique de la conception, de l'implémentation et de l'administration, 4e édition, 1386 pp., ISBN 2−89377−267−6
•
Thomas Connolly, Carolyn Begg, 2001, Addison−Wesley, Database Systems: A Practical Approach To Design, Implementation & Management 3RD Edition, 1236 pp., ISBN 0−201−70857−4
•
Navathe et Elmasri, 2003, Addison−Wesley, Fundamentals of Database Systems 4th edition;
ISBN: 0−321−12226−7
•
C.J. Date, 2003, Addison−Wesley, Introduction To Database Systems 8TH Edition, 1024 pp.
ISBN 0−321−19784−4
•
Manuel de cours
Le matériel didactique de ce cours est partiellement disponible sur le site Web du cours.
Le matériel du cours comprend :
un Plan de cours ou guide d'étude;
•
un manuel obligatoire : Thomas Connolly, Carolyn Begg, 2004, Éditions Reynald Goulet, Systèmes de base de données: Approche pratique de la conception, de l'implémentation et de l'administration, 4e édition, 1386 pp., ISBN 2−89377−267−6
•
un manuel recommandé: Plew, Ronald R. & Al, 2001, Campus Presse France, SQL Tout En Poche, 402 pp
•
un intranet Pixel https://pixel.fsg.ulaval.ca
•
un site Web.
•
Site web de cours
À propos du cours: Plan de cours, descriptions, références et liens et comment nous rejoindre.
•
Feuille de route: Description, semaine par semaine, de la charge de travail, autres documents et glossaire.
•
Examens: Information pour se préparer aux examens du cours.
•
Travaux: Énoncés et consignes des différents travaux.
•
Communications: Les différents outils de communications pour le cours.
•
Mon dossier: les informations pertinentes qui vous concernent personnellement comme les résultats de vos travaux et examens.
•
Glossaire
Synchrone : Mot qui vient du grec khronos qui signifie temps et sun qui signifie avec.
Synchrone veut donc dire « qui se produit en même temps ».
•
Asynchrone : Mot qui avec le a privatif vient nier la synchronie. Nous ne communiquons plus en même temps mais lorsqu'il nous convient, un interlocuteur à la fois.
•
Travail pratique (TP) : Travail d'évaluation sommative permettant au chargé de cours de vérifier votre compréhension des notions du cours et de vous attribuer une note.
•
Séance de formation : Séance offerte par le chargé de cours de l'Université Laval pour expliquer les notions du module à l'étude au calendrier. Cette séance transmise en mode synchrone, permet aux participants de poser des questions.
•