Université du Québec en Outaouais Département d'informatique et d'ingénierie
Sigle : INF3363  Gr. 01
Titre : Utilisation des bases de données
Session : Hiver 2016  Horaire et local
Professeur : Handouyahia, Mohamed
1. Description du cours paraissant à l'annuaire :

Objectifs

Initier l'étudiant aux concepts et à l'utilisation des bases de données.

Contenu

Concepts de base et définition. Impact des bases de données dans l'entreprise et rôle de l'administrateur des bases de données. Rappel sur le modèle entité-relation et le modèle relationnel. Principes d'organisation et d'utilisation des langages de définition et d'interrogation. Utilisation d'un logiciel de système de gestion de bases de données : création et manipulation d'objets de base de données ; macro-commandes, programmations SQL. Ce cours comporte des séances obligatoires de travaux dirigés (TD) de deux heures par semaine.
2. Objectifs spécifiques du cours :

À la fin de ce cours, l’étudiant(e) sera en mesure :

  • de développer et utiliser des bases de données;
  • de comprendre le fonctionnement d’un SGBD;
  • de comprendre la modélisation conceptuelle et relationnelle des données;
  • de connaître les principes du langage de requêtes SQL;
  • d’utiliser et manipuler des bases de données avec SQL;
  • d’optimiser des requêtes SQL;
  • de connaître les applications utilisant les bases de données;
  • de comprendre l’organisation physique d’une base de données;
  • de créer et manipuler concrètement des bases de données;
  • d’utiliser SQL Server 2012.
3. Stratégies pédagogiques :

Les formules pédagogiques suivantes seront utilisées :

  • L'objectif général et les objectifs spécifiques du cours impliquent un contenu théorique soutenu par un certain nombre d'exercices pratiques.
  • L'apprentissage du contenu théorique consistera en des exposés magistraux, et sera soutenu par des démonstrations et exercices en classe. L'usage d'une classe multimédia - laboratoire est requis pour tous les cours.
  • Il y aura 4 à 5 devoirs sous SQL Server 2012 :
    • La révision du modèle Entité-Association, des concepts de normalisation et l’introduction au SGBD et aux BD relationnelles.
    • Création d’une base de données et les différents objets d’une base de données (tables, contraintes d’intégrité et mise en œuvre des indexes).
    • Manipulation d’une base de données et la programmation SQL.
    • Gestion des contraintes d’intégrité complexes avec la programmation et les déclencheurs (Triggers).
  • Un examen de mi-session et un examen final.
  • Le logiciel SGBD qui sera utilisé est SQL/Server 2008 ou SQL/Server 2012 (à l'UQO ou télécharger la version SQL/Server EXPRESS gratuite sur internet).
4. Heures de disponibilité ou modalités pour rendez-vous :
L'étudiant peut m’envoyer un courriel pour fixer un rendez-vous.

Courriel : andy.handouyahia@uqo.ca ou andy@winsen2011.com

5. Plan détaillé du cours sur 15 semaines :
Semaine Thèmes Dates
1    Introduction aux bases de données
  • Systèmes de gestion de fichiers
  • Concepts des bases de données (DB)
  • Systèmes de gestion de bases de données (SGBD)
  • Introduction aux bases de données relationnelles (BDR)
  • Trois volets seront couverts :

    - la modélisation;

    - le langage d'exploitation;

    - les mécanismes des systèmes de gestion de base de données.

12 jan. 2016 
2    Modèle entité-association
  • Définition du modèle entité-association
  • Principes de conception : Concepts de base - Entités - Associations - Propriétés - Identifiant - Cardinalités des rôles - Entités faibles, Exemple - Démarche de conception- Passage du modèle Entité/Association au modèle relationnel

Travaux dirigés : Le mercredi 20 janvier 2016 - Exercices Modèle Entité-Association.

19 jan. 2016 
3    Modèle entité-association-amélioré, UML et passage vers le modèle relationnel
  • Le modèle Entité-Association étendu - principe de généralisation et de spécialisation, Héritage et agrégation.
  • La modélisation UML et les diagrammes de classe

Travaux dirigés : Le mercredi 27 janvier 2016 - Exercices Modèle EA Étendu et UML.

26 jan. 2016 
4    Le modèle relationnel
  • Définitions
  • Contraintes - contraintes simples et contraintes d'intégrité
  • Schéma relationnel et impact sur le modèle
  • Transformation en modèle relationnel
  • Le modèle relationnel et les formes normales

Travaux dirigés : Le mercredi 3 février 2016 - Création du modèle relationnel.

02 fév. 2016 
5    Principes d’utilisation du langage SQL (Partie 1)
  • Catégorie de commande SQL
  • Langage de description de données (DDL)
  • Langage de manipulation de données (DML)

Travaux dirigés : Le mercredi 10 février 2016 - Création des objets de la BD sur SQL.

09 fév. 2016 
6    Principes d’utilisation du langage SQL (Partie 2)
  • Définition des données (commandes CREATE TABLE, INDEX)
  • Modification de la structure des tables, des index et des contraintes
  • Introduction aux vues et la gestion des vues

Travaux dirigés : Le mercredi 17 février 2016 - Création des objets - La gestion des vues.

16 fév. 2016 
7    Principes d’utilisation du langage SQL (Partie 3)
  • Requêtes d'interrogation (commandes SELECT)
  • Requêtes avec jointures internes et externes et auto-jointures
  • Requêtes imbriquées
  • Requêtes avec les qualificatifs SOME, ANY et ALL
  • Requêtes avec les fonctions GROUP BY et HAVING

Travaux dirigés : Le mercredi 24 février 2016 - La commande SELECT.

23 fév. 2016 
8    Semaine d'études 01 mars 2016 
9    Examen de mi-session 08 mars 2016 
10    Principes d’utilisation du langage SQL (Partie 4)
  • Les requêtes de mises à jour des bases de données
  • La clause d’insertion INSERT
  • La clause de suppression DELETE
  • La clause de modification UPDATE
  • Contraintes d’intégrité sémantiques

Travaux dirigés : Le mercredi 16 mars 2016 - Les commandes INSERT, UPDATE et DELETE.

15 mars 2016 
11    Principes d’utilisation du langage SQL (Partie 5)
  • Suite des requêtes de mises à jour
  • Octroi et retrait des privilèges (GRANT et REVOKE)
  • Confirmation et annulation de transactions (COMMIT et ROLLBACK)
  • Administration des données dans SQL Server
  • Exemples et démonstration

Travaux dirigés : Le mercredi 23 mars 2016 - Requêtes croisées, gestion des rôles et privilèges et des transactions.

22 mars 2016 
12    Concepts avancés en SQL (Partie 1)
  • Concepts d’utilisation de SQL dans un langage de programmation
  • Les curseurs et le SQL dynamique
  • SQL enchâssé et pré-compilateurs
  • Exemples et démonstrations

Travaux dirigés : Le mercredi 30 mars 2016- La programmation SQL dynamique - Curseurs.

29 mars 2016 
13    Concepts avancés en SQL (Partie 2)
  • Définition des concepts
  • Programmation des triggers (déclencheurs)
  • Types de triggers
  • Exemples et démonstrations

Travaux dirigés : Le mercredi 6 avril 2016 - La programmation SQL dynamique - Les déclencheurs.

05 avr. 2016 
14    Concepts avancés en SQL (Partie 3)
  • Introduction aux procédures stockées
  • Gestion des procédures stockées (création, modification et suppression)
  • Les paramètres et appel des procédures stockées
  • Les fonctions utilisateurs
  • Exemples et démonstrations

Travaux dirigés : Le mercredi 13 avril 2016 - Les procédures stockées

12 avr. 2016 
15    Examen final 19 avr. 2016 
6. Évaluation du cours :
L’étudiant(e) dans ce cours sera évalué(e) par deux examens intra et final (qui auront lieu, respectivement, la 9e et la 15e semaine de la session), ainsi que par des devoirs et des travaux pratiques.

La pondération de la note finale sera comme suit :

  • Examen de mi-session : 30 %
  • Examen final : 40 %
  • Devoirs et travaux pratiques : 30 %

Une moyenne générale inférieure à 50 % est éliminatoire et conduit automatiquement à l'échec de l’étudiant(e).

Les travaux pratiques se feront individuellement ou par équipes de deux. Les étudiants voulant travailler seul devront néanmoins effectuer le travail au complet. La pénalité de retard pour la remise d’un travail est de 2 points par jour (y compris les jours fériés et les fins de semaines).

Les travaux pratiques seront réalisés sur SQL Server 2012.

Les présences aux séances de cours et de travaux dirigés seront considérées. Un étudiant qui s’absente souvent et de manière injustifiée aura une diminution de la note finale d’un maximum de 5 points.

7. Politiques départementales et institutionnelles :
8. Principales références :
  1. C.J. Date, An introduction to database systems, 8ième édition, Pearson Education, 2004.
  2. R. Elmasri & S.B. Navathe, Fundamentals of Database Systems, 6th Edition, Addison-Wesley, 2011.
  3. H. Garcia-Molina, J.D. Ullman, J. Widom, Database Systems, the complete book, Prentice-Hall, 2002.
  4. R.Godin. Systèmes de gestion de bases de données par l’exemple, deuxième édition, Loze-Dion, 2006.
  5. J.R. Groff, P. Weinberg, SQL, the complete reference, 2nd edition, Osborne/McGraw-Hill, 2002.
  6. Thomas Connolly, Carolyn Begg, É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, ISBN 2-89377-267-6, 2004.
9. Page Web du cours :
https://moodle.uqo.ca