Plan de cours Numéro du cours Pondération Unités 420-445-LI 2-3-3 2,66 Titre du cours Département Bases de données Oracle SQLPL/SQL Informatique Programme Enseignant (s) AEC Programmeur-analyste (Groupe 2, bloc 2) Sidi Mahmoud Aidara Mbibi 647-6600 Poste 6870 [email protected] local 2049 A 12 Campus Québec Plan de cours 420-445-LI Cours Bases de données Oracle SQL-PL/SQL 420-445-LI 75 heures 2-3-3 Préalable : Modélisation (420-244-LI) Professeur Nom Sidi Mahmoud Aidara Mbibi Bureau local 2049 Tél. 647-6600 poste 6870 Courriel [email protected] Skype : BD_420_440_Li Disponibilité Jeudi et vendredi entre 19h et 22h par Skype après avoir pris un rendez-vous par courriel. Place du cours dans le programme Les développements au niveau des méthodes de conception de systèmes d’information ont abouti à la mise au point de puissants logiciels spécialisés dans la gestion des bases de données des organisations. On les appelle les Systèmes de Gestion de Bases de Données (SGBD). Partout où on développe et exploite un système d’information, leur usage est répandu et il importe donc qu’un étudiant ou une étudiante en informatique connaisse et maîtrise les concepts appliqués aux bases de données. Le cours « Bases de données » est un cours de deuxième session du programme AEC Programmeur-analyste. Il fait suite au cours 420-244-LI: Modélisation. Il est pré-requis au cours 420-649-LI : développement d’applications de bases de données en informatique de gestion, et au cours 420-644-LI : développement d’applications réparties en gestion de réseau. Ce cours vise principalement la création et l’exploitation de bases de données avec le SGBD Oracle. Activités d'enseignement et d'apprentissage Le cours est divisé en 2,5 heures de séance théorique et 2,5 heures de laboratoire par semaine, sur une session de 15 semaines. Les exercices en laboratoire seront faits individuellement et permettront d'approfondir les notions vues aux cours théoriques. Cégep Limoilou, Département d’informatique Page 1 Plan de cours 420-445-LI Les travaux pratiques seront faits individuellement et consisteront en une série d'exercices de manipulation en laboratoire, de mini-projets d'implantation et d’exploitation de bases de données. Ils seront évalués au cours de la session sur la base de leur exactitude, de leur documentation et de leur présentation. Les laboratoires et les travaux pratiques permettront aux étudiantes et aux étudiants de mettre en application les éléments du contenu théorique, dans des travaux de mise en œuvre de modèles de données, d'apprentissage des outils logiciels pour la création et l’exploitation de base de données (SQL-Developper et ORACLE) et de programmation de petites applications dans un environnement base de données (PL/SQL et Java). Pour faire les travaux, vous aurez accès à un laboratoire, à des heures qui vous seront précisées. Ce laboratoire doit rester propre et vous êtes invité(e)s à respecter le climat intellectuel et social propice au travail. Contexte de réalisation de la formation Dans des environnements comprenant des logiciels de bases de données et des systèmes de gestion de bases de données. À partir d’une station de travail et des logiciels appropriés. À partir d’applications représentatives du milieu du travail comprenant un nombre limité de fonctions. À partir de la documentation sur les applications incluant les modèles de données normalisées. À partir de manuels de références techniques appropriés Dans le respect des normes de l’entreprise et des standards informatiques. Compétence visée 0175. Créer et exploiter des bases de données Cégep Limoilou, Département d’informatique Page 2 Plan de cours 420-445-LI Éléments de compétence Critères de performance Contenu Stratégies de formation 1. Analyser les caractéristiques d’une base de données. 1.1. Étudier le modèle des données 1.2. Rechercher les contraintes de stockages des données. 1.3. Comparer le modèle et la structure de la base 1.1 Examen du modèle des données de la base. 1.2 Établissement de relations entre le modèle des données et la structure de la base. 1.3 Examen des caractéristiques de stockage des données. 1.4 Examen des mesures d’intégrité et de sécurité de la base. Rappel: modèle conceptuel et logique des données, types d'association, règles de transformation d'un modèle conceptuel en modèle logique, glossaire. Mise au point du modèle logique: validation, optimisation, dé normalisation, indexation… Procédure de traduction du modèle logique en modèle physique. Définition d'une base de données. Objectifs et avantages d'une base de données. Types de bases de données: relationnels, relationnels objets, objets, réseaux, hiérarchiques... Caractéristiques de stockage des données. Catégorisation des contraintes d'intégrité. Procédés pour assurer la sécurité d'une base de données. Étude de modèles de données. Transformation d'un modèle conceptuel en modèle logique. Mise au point d'un modèle logique. Traduction d'un modèle logique en modèle physique et comparaison des deux modèles. Examen des caractéristiques de stockage des données. Vérification des contraintes d'intégrités et de la sécurité d'une base de données. 2. Analyser les caractéristiques d’un logiciel de base de données. 2.1. Examiner la documentation. 2.2. Repérer les limites et contraintes du logiciel 2.1 Examen de l’architecture du système. 2.2 Examen des caractéristiques de stockage de l’information dans le système. 2.3 Examen des fonctions des outils de développement et des utilitaires du système. 2.4 Examen des mesures d’intégrité et de sécurité du système. Architecture de logiciels de base de données Caractéristiques de stockage des données de logiciel. Environnement de développement de logiciel de base de données. Modèle de gestion de sécurité et d’intégrité. Examen d’un logiciel de base de données. Lecture de la documentation technique. Découverte des limites et contraintes du logiciel. Cégep Limoilou, Département d’informatique Page 3 Plan de cours 420-445-LI Éléments de compétence Critères de performance Contenu Stratégies de formation 3. Créer et exploiter une base de données à l’aide d’un logiciel de base de données. 3.1. Créer les tables. 3.2. Ajouter les index. 3.3. Ajouter les règles d'intégrité. 3.4. Extraire les données par des requêtes et des vues. 3.5. Installer la sécurité. 3.6. Consigner l'information. 3.1 Utilisation correcte des fonctions de création du logiciel. 3.2 Exécution correcte des opérations de modification de la structure de base. 3.3 Exécution correcte des opérations d’extraction des données. 3.4 Création appropriée des différentes requêtes et vues. 3.5 Examen des règles d’intégrité de la base. 3.6 Application des règles visant à assurer la sécurité de la base de données. 3.7 Consignation complète de l’information relative à la base Définition et propriétés des tables, colonnes et autres objets de la BD. Contraintes d'intégrité. Indexation. Langages de définition, de manipulation et de contrôle des données. Algèbre relationnelle et opérateurs ensemblistes. Gestion de la sécurité (règles et terminologie). Conception et implantation de bases de données dans différents environnements. Création et modification d'une base de données et vérification des contraintes d'intégrité. Exploitation de la BD. Installation de niveaux de sécurité. Consultation et mise à jour du dictionnaire. 4. Analyser les caractéristiques d’un système de gestion de base de données. 4.1. Examiner la documentation. 4.2. Repérer les limites et contraintes du système de gestion de BD. 4.1 Examen de l’architecture du système. 4.2 Examen des différents langages du système. 4.3 Examen des caractéristiques de stockage de l’information dans le système. 4.4 Examen des fonctions des outils de développement et des utilitaires du système. 4.5 Examen des mesures d’intégrité et de sécurité de la base de données. Type de système de gestion de base de données. Architecture d'un système de base de données. Architecture 2 tiers et 3 tiers. Langages du système et langages applicatifs. Caractéristiques de stockage des données dans le système. Environnement de développement de systèmes de gestion de base de données. Modèle de gestion de sécurité et d’intégrité. Examen d’un système de gestion de base de données. Découverte des limites et contraintes du système. Cégep Limoilou, Département d’informatique Page 4 Plan de cours 420-445-LI Éléments de compétence Critères de performance Contenu Stratégies de formation 5. Mettre à jour une base de données dans un système de gestion de base de données. 5.1. Modifier les tables. 5.2. Modifier les index. 5.3. Modifier les règles d'intégrité. 5.4. Extraire les données par des requêtes et des vues. 5.5. Installer la sécurité. 5.6. Consigner l'information. 5.1 Exécution correcte des opérations de modification de la structure de la base. 5.2 Exécution correcte des opérations d’extraction des données. 5.3 Programmation appropriée des différentes requêtes et vues. 5.4 Modification correcte des programmes de soutien liés à l’application. 5.5 Exécution correcte des opérations de traitement des données dans des contextes multi-utilisateurs, multitâches et réparti. 5.6 Application des règles d’intégrité et de sécurité de la base. 5.7 Utilisation correcte des différents langages et outils de développement du système. 5.8 Consignation dans les documents appropriés de tous les changements apportés à la base de données Propriétés des tables, colonnes et autres objets de la BD. Contraintes d'intégrité. Indexation. Langages de définition, de manipulation et de contrôle des données. Structure des langages et outils du système. Types de programmes de soutien. Gestion de la sécurité dans un contexte multi-usagers (règles et terminologie) Journalisation des modifications à la base de données. Modification de bases de données existantes dans différents environnements avec et sans GLAO. Modification d'une base de données et vérification des contraintes d'intégrité. Exploitation de la BD. Installation de niveaux de sécurité. Consultation et mise à jour du dictionnaire. Écriture du cahier d'entretien de la base de données. 6. Assurer l’intégrité des données. 6.1. Identifier une politique de sécurité. 6.2. Prendre des copies de sécurité. 6.3. Restaurer des copies de sécurité 6.1 Application correcte des méthodes de protection des données sur les supports physiques. 6.2 Application correcte des méthodes de protection des données dans la base. 6.3 Utilisation appropriée des techniques de recouvrement des données après une panne. 6.4 Vérification de l’intégrité des données de la base après le recouvrement. Rôles et responsabilités du DBA. Méthodes de protection physique et logique des données. Techniques de prise de copies de sécurité et de recouvrement. Gestion de transactions Application de méthodes de protection des données. Prise de copies de sécurité. Restauration d'une base de données et vérification de l’intégrité des données. Cégep Limoilou, Département d’informatique Page 5 Plan de cours 420-445-LI Calendrier des activités Sem. Théorie 1 Généralités Plan de cours Définitions Rôle et fonctions des SGBD Niveaux de description des SGBD Niveaux de conception des données Cardinalités et contraintes d’intégrité Types de SGBD Utilisation des SGBDR Introduction à SQL : DDL, DML, DCL EC1: Analyser les caractéristiques d'une BD EC2: Analyser les caractéristiques d’un logiciel de base de données 2 et 3 DDL : CREATE TABLE, Contraintes de colonnes et de Définition tables, DROP TABLE, RENAME, TRUNCATE TABLE des données Les index (CREATE INDEX, DROP INDEX) ALTER TABLE (ADD, MODIFY, DROP COLUMN, etc.) EC4: Analyser les caractéristiques d'un SGBD EC5: Mettre à jour une BD dans un SGBD 4 Algèbre relationnelle (projection, sélection, union, Manipulation intersection, différence, produit cartésien, jointure). des données DML (SELECT, INSERT, UPDATE, DELETE) Gestion des transactions (COMMIT, ROLLBACK) EC4 et EC5 5 Examen 1 (15 points) : Création de schéma de base de Examen données et manipulation des données 6 Interrogation de la BD (SELECT), Projection, alias, expr. Interrogation arith., Restriction (ou sélection), opér.de comparaison et des données logiques, LIKE, IS NULL, tri (ORDER BY), Fonctions de conversion (dates, nombres), formats de DATE Interrogation sur plusieurs tables, Jointures (équi-jointure, jointure externe, auto-jointure), EC4 et EC5 7 Fonctions de groupes (AVG, COUNT, MAX, MIN, SUM), Agrégation Regroupements (GROUP BY, HAVING) et sousSous-requêtes, avec plusieurs valeurs (IN, ALL, ANY), avec requête plusieurs colonnes, corrélées EC4 et EC5 Laboratoire Atelier Modèle conceptuel et modèle logique relationnel de données À la découverte d’ORACLE et de SQL-Developper Atelier Création de tables SQL TP1 (5 POINTS) Création de tables SQL TP2 (5 points) manipulation de données sur ORACLE (DDL & DML) Atelier : Révision TP 3(15 points) Interrogation de données sur Oracle (Requêtes SQL) TP3 suite Semaine d’études 8 Opérations ensemblistes et vues 9 Contrôle des données Opérations ensemblistes (UNION, INTERSECT, MINUS) Les vues (CREATE VIEW, DROP VIEW), EC4 et EC5 TP3 suite DCL (GRANT, REVOKE), types de privilèges EC4, EC5 et EC6: Assurer l'intégrité des données Examen 2 (pratique - 20 points) Interrogation de données sur Oracle (Requêtes SQL) 10 et 11 PL/SQL Introduction au PL/SQL Structure, Syntaxe, Déclaration des variables et constantes, contrôle PL/SQL suite. Interaction avec une base de données Répétition, curseur, gestion des exceptions EC4 et EC5 TP4 (10 points) Programmation en PL/SQL Cégep Limoilou, Département d’informatique Page 6 Plan de cours 420-445-LI 12 et 13 Fonctions avancées 14 Révision 15 Examen Fonctions avancées : trigger, fonctions, package EC4 et EC5 TP5 (10 points) Java-Oracle-Package Révision Examen 3 (pratique 20 points): DCL PL/Sql, Java, Package Note: Ce calendrier est donné à titre indicatif. L’ordre de présentation et la durée des activités peuvent être légèrement modifiés de manière à respecter le rythme d’apprentissage des étudiants et/ou les imprévus. Évaluation des apprentissages Examen 1 15% Examen 2 20% Examen 3 20% Total examens 55% Total travaux 45% Total global 100% Les travaux seront effectués individuellement. Nous travaillerons avec les logiciels suivants: Oracle, SQL-Developer, (éventuellement JDevelopper). PÉNALITES (SI NÉCESSAIRE) Jusqu'à 10% de la note totale d'un examen ou d'un laboratoire pourra être enlevé pour les erreurs de français (orthographe ou syntaxe). Pénalité de 10% par jour ouvrable pour la remise d'un travail en retard. La note 0 sera donnée à tout travail copié ou ayant servi à la copie. Voir également les modalités départementales d'évaluation des apprentissages. Matériel requis Obligatoire: Notes de cours Support de données amovible (clé USB ou disque) -- Assurez-vous de toujours avoir une copie de sécurité de vos travaux. Cégep Limoilou, Département d’informatique Page 7 Plan de cours 420-445-LI Bibliographie Abramson, Ian ; Abbey, Michael ; Corey, Michael, Oracle 10g notions fondamentales, Campus Press , c2004, (cote à la bibliothèque: QA 76.9.D3 A161 2004) Razvan Bizoï, Oracle9i SQL et PL SQL, Eyrolles : Tsoft, c2003, (cote à la bibliothèque : QA 76.9 D3 B625 2003) Scardina, Mark V.; Chang, Ben ; Wang, Jinyu, Oracle database 10g XML & SQL, McGraw-Hill/Osborne , c2004, (cote à la bibliothèque : QA 76.9.D3 S285 2004) Thomas M. Connelly, Carolyn E. Begg, Systèmes de bases de données, R. Goulet, c2005, (cote à la bibliothèque: QA76.9.D26 C752 2005) Lockman David, Oracle 8 - Développement de bases de données, Le programmeur, s&sM, Campus Press, 2001. Gardarin Georges, Bases de données objet & relationnel, Éditions Eyrolles, 1999, (cote à la bibliothèque: QA 76.9.D3 G2172 1999) Godin Robert, Systèmes de gestion de bases de données Volumes 1 et 2, Loze-Dion Éditeur, 2000 Pratt Philip J., Initiation à SQL, Éditions Eyrolles, 2001. Tutoriel de w3schools : http://www.w3schools.com/sql/default.asp Les meilleurs tutoriels SQL : http://sql.developpez.com/ Site riche sur les produits utilisant SQL: http://www.sql.org/ Vos droits et obligations dans les technologies de l'information: http://www.oqlf.gouv.qc.ca/francisation/ti/index.html Cégep Limoilou, Département d’informatique Page 8 Plan de cours 420-445-LI Modalités départementales d’évaluation des apprentissages En conformité avec la politique institutionnelle d’évaluation des apprentissages (P.I.É.A) version août 2010, le département d’informatique apporte les précisions suivantes: Article 32 La récupération de cours échoués Article 56 L’évaluation de l’expression et de la communication en français Pour avoir recours à une mesure de récupération, l’étudiant doit avoir obtenu une note supérieure ou égale à 50% pour le cours visé. Les autres exigences sont conformes à celles spécifiées à l’article 32 de la PIEA. Les enseignants du département d’informatique évaluent la qualité de la langue française. Cette évaluation représente 10% de toute évaluation sommative. Article 64 Remise en retard d’une réalisation servant à l’évaluation sommative À l’exception des cas de force majeure, une remise en retard des travaux entraîne automatiquement une pénalité de 10% par jour ouvrable de retard. Une fois qu’une réalisation servant à l’évaluation est corrigée et remise aux étudiants, l’étudiant qui n’a pas encore remis son travail se voit attribuer la note zéro à cette activité d’évaluation. L’étudiant qui veut faire une demande de révision de notes partielle doit d’abord s’adresser à son enseignant ou enseignante. S’il est insatisfait du résultat de sa démarche, il s’adresse alors au coordonnateur du département. Celui-ci dirigera un comité formé de l’enseignant concerné et d’un enseignant qui possède les compétences à juger les motifs du litige. Le résultat devra être communiqué à l’étudiant dans les 10 jours ouvrables suivant sa demande. Les plans de cours sont analysés par des comités sessions regroupés, selon le cas, par voie de sortie et cours de service. Pour chaque cours, une grille d’analyse, adoptée en département, est remise à la coordination. Une fois révisé par un comité, les plans de cours sont adoptés un à un en département où l’on souligne les nouveautés et fait saillant de chaque plan de cours. Cette procédure est complétée avant le début de la session concernée. Le comité de révision de notes est constitué de trois (3) enseignants y compris le responsable du cours dont l’évaluation est contestée. Si possible, le comité est formé d’enseignants qui font partie du comité du cours concerné. L’étudiant peut venir exposer sa demande et son point de vue. La décision du comité est transmise au collège dans les délais imposés. Article 67 La procédure de révision de note en cours de session Article 27 Le plan de cours b) L’adoption des plans de cours Article 68 La procédure de révision de la note finale Adopté par le département d’informatique, le 18 août 2011 Cégep Limoilou, Département d’informatique Page 9