Système de Gestion de Bases de Données
Langage SQL
Un système de gestion de bases de données (SGBD) est un logiciel destiné à stocker et à partager des informations dans une base de données, en garantissant la qualité, la pérennité et la confidentialité des informations, tout en cachant la complexité des opérations. Un SGBD permet d'inscrire, de retrouver, de modifier, de trier, de transformer ou d'imprimer les informations de la base de données.
Chaque SGBD consiste en un composant de stockage et un composant de gestion de données: le composant de stockage a pour but de réunir sous forme de tables toutes les données ainsi que leurs liens d'interdépendance. Outre les tables contenant les données destinées aux applications des utilisateurs, un SGBD définit les tables du système indispensables au fonctionnement d'une base de données. Les tables du système contiennent les descriptions des données que les utilisateurs peuvent consulter à tout moment sans être autorisés à les modifier.
Les deux composants d'un système de gestion de base de données relationnelle
Le composant de gestion comporte essentiellement un langage relationnel de définition et de manipulation de données. Ce composant englobe aussi les fonctions utilitaires pour la restauration de la base de données en cas de panne, la protection et la sécurité des données.
Table des matières
Cette section a pour but de décrire l'utilisation du SGBD MySQL à l'aide de l'interface graphique phpMyAdmin. Un accent particulier sera mis sur l'apprentissage du langage relationnel SQL. Les liens suivants permettent d'atteindre directement les principales parties de la section:
- L'interface graphique phpMyAdmin
- Le langage relationnel SQL
Objectifs
Au terme de cette section, chaque élève devra être capable de :
- Créer une nouvelle base de données, une nouvelle table ;
- Définir les champs d'une nouvelle table et choisir pour chacun le type de données le plus approprié;
- Définir une clé primaire artificielle avec auto-incrémentation;
- Définir les contraintes d'intégrité relationnelle entre les différentes tables d'une base de données;
- Insérer et modifier des données dans une table;
- Importer et exporter des données à partir d'un fichier externe;
- Faire une recherche élémentaire sur les tables d'une base de données avec l'outil de recherche;
- Donner une définition du langage SQL en expliquant notamment son rôle dans la gestion d'une base de données;
- Préciser deux sous-catégories essentielles du langage SQL, indiquer leur nom et les fonctions de chacun de ses sous-langages;
- Expliquer en quoi une table d'une base de données peut être considérée comme un ensemble;
- Enumérer, expliquer et illustrer les principales opérations ensemblistes sur lesquels repose le langage SQL;
- Enumérer les fonctions du DML et du DDL;
- Rédiger une requête SQL permettant de créer une table ainsi que de définir les différents champs de cette table;
- A travers une requête SQL de création de table, définir un champ dont la valeur ne doit pas être nulle, un champ comme clé primaire avec ou sans auto-incrémentation, un champ comme clé étrangère d'une table externe;
- A travers une requête SQL de création de table, définir un champ comme clé primaire composée de clés étrangères;
- Rédiger une requête SQL permettant d'insérer correctement des données dans une table spécifiée;
- Rédiger une requête SQL permettant de supprimer une ou plusieurs lignes d'une table, répondant à une condition de sélection donnée;
- Rédiger une requête SQL permettant de modifier le contenu d'un champ d'une ou plusieurs lignes d'une table répondant à une condition de sélection donnée;
- Ecrire la structure élémentaire d'une requête SQL et donner des exemples de requêtes simples;
- Expliquer la fonction des clauses élémentaires d'une requête SQL en les mettant en lien avec les opérations ensemblistes;
- Définir, exécuter et enregistrer une requête SQL dans MySQL;
- Utiliser des alias de nom de colonnes dans les requêtes SQL de recherche;
- Expliquer et illustrer les processus de regroupement et d'agrégation de lignes d'une table de résultats d'une recherche;
- Rédiger et tester des requêtes de recherche SQL permettant de retrouver des informations répondant à des critères donnés;
- Utiliser à bon escient différents éléments constitutifs d'une requête de recherche SQL tels que des expressions, des fonctions (MIN, MAX, AVG, COUNT), des opérateurs (arithmétiques, logiques, de comparaison, de filtrage de chaînes), des plages de valeurs, des valeurs distinctes, des opérateurs ensemblistes;
- Préciser l'ordre d'exécution des opérateurs arithmétiques et logiques ainsi que la manière de modifier cet ordre à l'aide de parenthèses;
- Rédiger et tester des requêtes de recherche SQL faisant des regroupements et des agrégations des lignes de la table des résultat (GROUP BY);
- Rédiger et tester des requêtes de recherche SQL faisant une sélection conditionnelle des lignes de résultats regroupées (HAVING);
- A partir de deux tables données, donner la table de résultats issue d'une jointure (non) conditionnelle des deux tables;
- Dans les requêtes SQL avec jointure(s), prévenir les ambiguïté de nom de colonnes identiques en précisant le nom de la table de laquelle est issue la colonne;
- Donner un exemple de requête SQL faisant appel à la technique des sous-requêtes.
Présentation
Cette section est complétée d'une présentation faite en classe et accessible dans l'encadré ci-dessous:
Présentation de la section