Bases de données
Descriptif
Ce cours traite de la manipulation des bases de données relationnelles avec le langage SQL. Il aborde les notions suivantes :
- Rappels sur le modèle relationnel : relations, attributs, domaines, clés, clés primaires, clés étrangères, contraintes, schéma d’une relation, valeur NULL, hypothèse du monde clos.
- Création d’une base de données : modélisation d’une BD, puis création de la BD grâce à une IHM (PHMyAdmin) Sélection et projection : requête SQL de base (SELECT, FROM, WHERE, ORDER BY), divers opérateurs de sélection (comparateurs, opérateurs logiques, BETWEEN, LIKE, IN, IS), projection avec ou sans doublon.
- Jointures : les différents types de jointure avec syntaxe explicite (norme SQL92) : INNER JOIN, OUTER JOIN, CROSS JOIN, NATURAL JOIN, JOIN USING, ainsi que les cas d’auto-jointure.
- Calculs et regroupements : calculs horizontaux (attributs calculés) et verticaux (fonctions d’agrégats), agrégats (GROUP BY, ROLLUP, CUBE) et sélection des agrégats (HAVING)
- Sous-requêtes : sous-requêtes non corrélées dans les diverses clauses, sous-requêtes corrélées, opérateurs spécifiques aux sous-requêtes (eg. <= ALL, EXISTS…), division de relations, opérateurs ensemblistes (UNION, INTERSECT, EXCEPT)
- Modification des données : requêtes INSERT, UPDATE, DELETE, impact sur les contraintes d’intégrité référentielles et directives ON UPDATE, ON DELETE
- Vues : création et interrogation des vues, modification des données via une vue.
Les Travaux Dirigés sur ordinateur utilisent le SGBDR MariaDB (= MySQL).
- Langage SQL