Objectifs de l’enseignement : Ce cours devrait permettre à l’étudiant d’identifier l’intérêt de structurer et manipuler les données sous forme tabulaire. A travers le modèle relationnel et l’algèbre relationnelle sous-jacente orientés plus vers l’aspect pratique, l’étudiant devrait comprendre l’importance de structurer les données, le concept d’indépendance des données et des traitements, ainsi que l’intégrité et la cohérence des données. Connaissances préalables recommandées : L’étudiant est sensé comprendre ce que c’est des fichiers (textes, binaires ou typés) et les avoir créés avec les langages préalablement étudiés. Contenu de la matière : Chapitre 1 : Présentation des bases de données 1. Notions de fichiers (intérêts et limites) 2. Définition de base de données 3. Définition de système de gestion de base de données 4. Types de modèles de données (sémantique, entité-association, hiérarchique, réseau, relationnel) Chapitre 2 : Modèle relationnel 1. Définition du modèle relationnel 2. Concepts de base (Attribut, Tuple, Domaine, Relation) 3. Schéma de relation 4. Normalisation a. Clé de relation et dépendance fonctionnelle (Clé primaire et clé étrangère) b. Contraintes d’intégrité c. Formes normales (1FN, 2FN, 3FN, FN de Boyce-Codd)Schéma de base de données 5. Modèle relationnel logique (SQL) a. Table, colonne, et ligne b. Description de SQL (Structured Query Language) c. Définitions de données i. Création de table (CREATE) ii. Modification de schéma (ALTER, DROP) d. Manipulation des données (INSERT, UPDATE, DELETE) Chapitre 3 : Algèbre relationnelle 1. Définition 2. Opérations et opérateurs unaires a. Sélection b. Projection c. Traduction en SQL i. Requêtes simples (SELECT-FROM) ii. Sélection de colonne (clause WHERE) iii. Tri de résultats (ORDER BY) 3. Opérations et opérateurs ensemblistes a. Union b. Intersection c. Différence d. Produit cartésien e. Jointure (Thêta, naturelle, équijointure, externe) f. Division g. Traduction en SQL i. Opérateurs d’union, d’intersection, et de différence ii. Produit cartésien (sans jointure) iii. Jointure de tables (condition de jointure) iv. Fonctions d’agrégat v. Clause GROUP BY … HAVING Mode d’évaluation : Examen (60%) , contrôle continu (40%)