En SQL, les données sont organisées en ensembles. Il est bon d’avoir cette notion présente à l’esprit pour construire des requêtes compliquées ou concevoir des architectures. Ces ensembles sont stockés dans des tables.
De même que dans un ensemble, la notion d’ordre n’a pas de sens en SQL : les données sont bien sûr stockées dans un certain ordre dans une table, mais cet ordre n’est pas accessible
a priori
. Il peut être différent de celui dans lequel les données ont été enregistrées.
Enfin, lorsqu’une transformation est appliquée à un ensemble, c’est à dire à ses éléments, elle l’est à tous ses éléments en même temps. Cette notion de simultanéité est très importante. Cela ne veut pas dire que le calcul est instantané, ou ne prend pas de temps (en général il en prend !). Cela veut simplement dire deux choses :
-
Il n’est pas possible de placer une requête, une modification ou un ordre d’arrêt entre deux actions réputées « simultanées »
-
Aucun test d’intégrité n’est fait pendant l’exécution d’actions simultanées. Par exemple, il est possible que lors d’états intermédiaires, une colonne ne respecte plus la contrainte unique.
Ce chapitre se concentre sur les commandes DDL (Data Definition Language) de SQL :
-
create table
-
alter table
-
drop table