Le langage SQL
La description des données
La description des données
- Le langage utilisé pour créer la structure d'une base de données est un LDD (SQL, en plus d'autres langages, est un LDD).
- La structure de la base de données comporte l'ensemble de ses tables qu'il est nécessaire de créer une à une.
- C'est lors de cette étape que, en plus de ses colonnes, on définit les contraintes d'intégrité de domaine, de relation et de référence.
- Quelques éléments importants pour l’écriture des instructions :
- chaque instruction de la syntaxe employée se termine obligatoirement par un « ; » ;
- l'orthographe des termes écrits en lettre capitales uniquement doit être respectée : ce sont des mots-clés ;
- les termes soulignés sont obligatoires ;
- les autres termes sont les noms qui sont affectés librement aux attributs et aux tables.
- Le type de donnée constitue en lui-même une contrainte de domaine. Il précise la nature d'un attribut qui peut-être :
- numérique ;
- caractère ;
- binaire ;
- date.
- Le terme « PRIMARY KEY » désigne le ou les attributs qui constituent la clé primaire de la relation.
- Le terme « FOREIGN KEY » désigne le ou les attributs qui constituent une clé étrangère dans la relation.
- Le terme « REFERENCE » sert à désigner la table et la ou les colonnes de cette table dont la clé étrangère est issue.
- Enfin, le terme « ON DELETE » permet de préciser l'option choisie en cas de suppression de la clé étrangère dans la table d'où celle-ci provient.
- La syntaxe pour supprimer une table, et par conséquent son contenu, est la suivante : .
- Notez qu’il sera nécessaire de supprimer au préalable les tables ou les lignes dont les clés étrangères se réfèrent à une ligne de la table que l'on veut supprimer (sans quoi l’opération sera impossible).
- La commande permet de modifier la structure d'une table, que ce soit en ajoutant, supprimant ou modifiant ses colonnes.
- Pour ajouter une colonne à une table :
- Pour supprimer une colonne d'une table :
- Pour modifier une colonne :
La manipulation des données
La manipulation des données
- Pour insérer une ligne dans une table, les mécanismes suivants vont être sollicités :
- contrôle des contraintes d'intégrité lors de l'insertion (domaine, relation et référentielle) ;
- renseignement des champs avec la valeur « NULL » si aucune valeur n'est précisée et si « NULL » est autorisé pour ces champs.
- La syntaxe est la suivante :
- Les valeurs des colonnes doivent être renseignées dans le même ordre que celui de la liste des colonnes donnée juste avant.
- Si la liste des colonnes n'est pas donnée, alors le SGBD se base sur la liste des colonnes de la table, dans l'ordre où celles-ci ont été définies lors de sa création.
- Si certaines colonnes sont omises, elles prendront la valeur NULL.
- Exemple pour insérer un ingrédient dans la base de données du club de cuisine :
- Pour supprimer une ou plusieurs lignes d’une table, les lignes concernées par l'opération doivent être désignées et donc identifiées avec une condition.
- Ainsi, la syntaxe de la commande SQL pour supprimer une ou plusieurs lignes d'une table est la suivante :
- La condition consiste en un ou plusieurs critères portant sur le contenu d'une ou plusieurs colonnes. Elle s'exprime à l'aide d'opérateurs de comparaison (cf. =, >, <, etc.)
- Connecteurs logiques :
<condition1> AND <condition2> | Les $2$ conditions sont vraies simultanément |
<condition1> OR <condition2> | Au moins une des $2$ conditions est vraie |
NOT <condition> | Inverse la condition |
- Pour modifier une ou plusieurs lignes d'une table il faut préciser :
- les colonnes concernées ;
- les nouvelles valeurs prises par ces colonnes ;
- les lignes concernées, via la clause.
- La syntaxe d'une modification est la suivante :
Interrogation des données
Interrogation des données
- Tout ce qui a été vu jusqu’à présent sert un objectif : consulter ces données, selon des critères variés en interrogeant la base.
- Pour interroger les données d'une base, on a recours à un LID (Langage d'interrogation des données).
- Lorsque l'on effectue une recherche dans une base de données, le résultat de celle-ci se présente lui-même sous forme d'une table, que l'on nommera par la suite « table résultat ».
- Détaillons maintenant la syntaxe d'une requête (= instruction de recherche).
- La syntaxe d'une recherche est la suivante :
- Si l'on souhaite que toutes les colonnes apparaissent dans la table résultat, il suffit alors d'employer la syntaxe suivante :
- Si l'on souhaite connaître toutes les valeurs prises par une colonne dans une table, sans que celles-ci soient répétées autant de fois qu'elles s'y retrouvent, on le précise avec la clause .
- On peut affiner notre commande, par exemple :
- La sélection (ou restriction) est le recours à un ou plusieurs critères pour retenir certaines lignes dans la table résultat de la requête.
- C'est avec la clauseque l'on précise ces critères.
- Ainsi, si l'on souhaite effectuer une projection sur une sélection, la commande SQL prendra la forme :