Alter table

Souvent on est amené à modifier le schéma de notre base de données :

  • suite Ă  une Ă©volution dans notre business

  • suite Ă  des constats aprĂšs l'utilisation de la base

  • etc.

On n'a pas le choix de supprimer la base et recommencer, il faut la modifier.

Il y a plusieurs interventions possibles.

Dans ce chapitre, on démontre un certain nombre d'opérations possibles. Attention, la syntaxe précis peut changer d'un SGBDR à l'autre.

Supprimer une table

On peut supprimer une table avec drop table:

drop table film_actor;

Si la table contient des références par clé étrangÚre (d'autres tables qui pointent vers cette table), le drop table ne sera pas autorisé.

Ajouter une colonne

alter table films add (
  release_year int NOT NULL
);

Supprimer une colonne

Si la colonne est une clé étrangÚre (d'autres tables qui pointent vers cette table), le drop ne sera pas autorisé.

Ajouter une contrainte sur une colonne

Modifier une clé primaire

Migrations

Souvent il faut implémenter une modification à une base qui implique aussi une correction des données (pour satisfaire la nouvelle contrainte), ou bien l'enlÚvement temporaire d'une contrainte, et puis sa remise aprÚs l'opération.

Un ensemble d’instructions SQL qui permettent de changer la structure d’une table ou base s'appelle une migration.

Par exemple :

  • Un ensemble de requĂȘtes des types UPDATE afin de rendre les donnĂ©es conforme Ă  la nouvelle contrainte qui arrivera

  • Ensuite la requĂȘte de type ALTER TABLE pour imposer la contrainte

Mis Ă  jour