2ème année - Sections industrielle et réseaux et télécommunications
50 h. de cours magistral et 25 h. de laboratoire
Enseignants : ADT, ARO, CUV, DWI
6 ECTS
Description générale du cours
Le cours aborde les principes régissant les SGBD relationnels, les possibilités et limites de la représentation d'un modèle conceptuel en schéma conceptuel et étudie le langage SQL tout en insistant sur la responsabilité de l'étudiant dans son futur rôle de gestionnaire des données et de son obligation à en assurer la sécurité.
Les travaux en laboratoire permettront à l'étudiant de se familiariser avec les SGBD relationnels et d'acquérir une maîtrise minimum de SQL. L'étudiant fréquentera plusieurs types de SGBD relationnels pour percevoir les points communs et les différences entre quelques produits courants (au niveau de SQL, d'un client-serveur ou non, des performances,...).
Matières prérequises
- Organisation des fichiers: organisations séquentielle, relative, séquentielle indexée, notion d'index, fichier logique, fichier physique.
- Bases de données - SQL: initiation à l'instruction SELECT
- Mathématiques: notion d'ensemble, opérateurs ensemblistes et propriétés.
Objectifs
- sensibiliser les étudiants à leur futur rôle de gestionnaires de l'information
- comprendre les différents niveaux de représentation de l'information d'une base de données
- comprendre les différents niveaux de sécurisation des données et appréhender les problématiques de développement d'applications manipulant des données gérées par un SGBD.
- acquérir une bonne maîtrise du langage SQL (DML, DDL, DCL)
- faire percevoir les choix de localisation des contrôles d'intégrité
- manipuler plusieurs SGBD relationnels pour percevoir les points communs et les différences (p.ex. DB-400, Access, Oracle, ...)
Evaluation
Voir le tableau des évaluations des cours de 2ème.
Plan du cours
Chapitre 1 : Introduction (4 heures)
- Limites d'un système de gestion de fichier
- Cahier des charges d'un SGBD
Chapitre 2: Modèle ANSI/SPARC (2 heures)
- Schémas interne, conceptuel et externes
- Règles de correspondances
- Dictionnaire de données
Chapitre 3: Modèle relationnel (12 heures)
- Les différentes générations de SGBD
- Les concepts de base (domaines, relation [schéma, extension, sémantique], ...)
- Algèbre relationnelle (Union, produit, sélection, projection, jointure...)
- Langages relationnels
- La normalisation (Dépendance fonctionnelle, clés de relation, 1, 2 et 3ème formes normales, ...)
Chapitre 4 : SQL (14 heures)
- Les composants (DDL, DML, DCL)
- DML (interrogation, modification de données)
- DDL (Create Table, view, synonym, Alter, Drop, représentation des contraintes d'intégrité)
- DCL notion de transaction, octroi de privilèges
- Le catalogue
Chapitre 5 : Embedded SQL (2 heures)
- Principes, compilation, vocabulaire
- La syntaxe
- Les curseurs
Chapitre 6 : Stored procedures et functions, Bd actives (4 heures)
- Notions de SGBD Client/Serveur
- Avantages de la centralisation de fonctionnalités
- Exemples dans un environnement particulier de stored-procedures et stored-functions
- BD actives, triggers
Chapitre 7 : Sécurité des données (6 heures)
- Sécurité physique
- Sécurité d'accès
- Sécurité logique
- Problématique de la sécurité logique des données dans le développement d'applications
Chapitre 8 : Transformation de schémas (4 heures)
- Modèle conceptuel, logique et physique
- Passage du modèle conceptuel formalisé en UML au modèle logique
- Passage du modèle logique au modèle physique
Chapitre 9 : Conclusion
- Présentation des notions non abordées : BD non relationnelles (hiérarchiques, réseau, objet), BD relationnelles réparties, tuning d'une BD relationnelle,... et présentation du cours de 3ème année.
Exercices pratiques (25 heures)
- Manipulation du DML SQL (Oracle, Access, DB2/400)
- Un exemple de Middelware : Odbc
- Manipulation du DDL SQL (Oracle, Access, DB2/400)
- Programmation de procédures et fonctions au niveau du serveur (en PL/SQL sous Oracle)
- Ecriture de triggers sous Oracle
Bibliographie
- G. Gardarin, Bases de Données objet et relationnel, Eyrolles
- J.-L. Hainaut, Bases de données et modèles de calcul, Dunod
- Reference Guide des produits utilisés