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