Niveau d'étude
BAC +3
ECTS
3 crédits
Composante
Sciences économiques, gestion, mathématiques et informatique
Volume horaire
33h
Période de l'année
Enseignement cinquième semestre
Description
Le but de ce cours est d’étudier en premier lieu deux langages formels d’interrogation des bases de données relationnelles : l’algèbre relationnelle en tant que langage procédural, le calcul relationnel en tant que langage déclaratif. Il s’agit de comprendre à quoi servent-ils et comment exprimer des requêtes moyennant ces deux langages mais aussi les dérouler sur une instance d’une base de données. Le calcul relationnel ayant fortement influencé la conception du SQL, le langage le plus utilisé et commercialisé, il s’agit donc d’étudier le rapprochement de ces deux langages à travers l’expression des requêtes.
Dans une deuxième phase de ce cours, l’aspect sécurité des accès aux bases de données est traité à travers l’introduction des vues, les contrôle d’accès par attribution de rôles et octroi de privilèges aux différents usagers selon leurs usages et métiers.
Objectifs
Programme :
- L’algèbre relationnelle
- Le calcul relationnel.
- Passage au SQL et requêtes avancées
- Définition des vues, les vues modifiables, les Templates.
- Contrôle d’accès aux bases de données relationnelles : rôles et privilèges
Évaluation
Évaluation en session 1 pour les étudiants inscrits en formule standard de contrôle de connaissances : des épreuves de contrôle continu pendant le semestre (50% de la note) et un examen terminal écrit de 2h (50% de la note).
Évaluation en session 1 pour les étudiants inscrits en formule dérogatoire de contrôle de connaissances : un examen terminal écrit de 2h (100% de la note).
Évaluation en session 2 : un examen terminal écrit de 2h (100% de la note).
Compétences visées
- Acquérir un niveau d’abstraction et se familiariser avec deux langages formels : l’algèbre relationnel et le calcul relationnel. Le premier servira à la compréhension de l’optimisation des requêtes et la génération des plans d’exécution. Le calcul relationnel simplifiera le raisonnement pour produire des requêtes complexes en SQL. Il s’agit sommairement de maîtriser l’expression des requêtes simples au plus complexes (sélection, projection, renommage, union, intersection, produit cartésien, jointure, division) moyennant les trois langages : algèbre relationnel, calcul relationnel et SQL.
- Savoir définir des primitives de sécurisation des accès des usagers par type profil. La définition des vues comme étant une fenêtre dynamique sur une partie des données et non toute la base, la mise en place de rôles et de privilèges à octroyer aux utilisateurs avec des droits de mises à jour ou de consultation à plusieurs niveaux : tables, vues, colonnes.