SQL ET POSTGRE 3.7 : Création de la table Acteurs

Dans cette leçon, nous créons une deuxième table dans notre base de données de films : la table acteurs. Elle servira plus tard à relier les acteurs aux films. C'est l'occasion de revoir l'instruction CREATE TABLE de SQL.

L'instruction CREATE TABLE

Une table se crée en déclarant son nom, puis la liste de ses colonnes, chacune avec un nom et un type de données. Voici la table acteurs :

CREATE TABLE acteurs (
    acteur_id    SERIAL PRIMARY KEY,
    nom          VARCHAR(100) NOT NULL,
    prenom       VARCHAR(100) NOT NULL,
    date_naissance DATE,
    nationalite  VARCHAR(50)
);

Détail des colonnes

  • acteur_id SERIAL PRIMARY KEY : la clé primaire. Le type SERIAL est propre à PostgreSQL : il génère automatiquement un nombre entier qui s'incrémente à chaque nouvelle ligne. PRIMARY KEY garantit que cette valeur est unique et non nulle.
  • nom et prenom : des chaînes de caractères de longueur maximale 100, déclarées NOT NULL car un acteur doit obligatoirement avoir un nom et un prénom.
  • date_naissance : une colonne de type DATE, facultative ici.
  • nationalite : une chaîne courte, elle aussi facultative.

Vérifier la création

Une fois la requête exécutée dans pgAdmin ou via psql, la table apparaît dans le schéma de la base. On peut consulter sa structure avec la commande \d acteurs sous psql. La table est maintenant prête à recevoir des données grâce à l'instruction INSERT INTO, que nous verrons dans une leçon suivante.

En résumé

Cette leçon explique comment créer la table « acteurs » dans PostgreSQL en définissant cinq colonnes avec leurs types de données respectifs : acteurs_id (sérielle, clé primaire), prénom et nom (varchar 30), civilité (char 1 pour m/f), et date_de_naissance (date). Le tutoriel démontre l'exécution de la requête CREATE TABLE, puis la validation de sa création avec une requête SELECT.

Points clés

  • Utiliser CREATE TABLE pour créer une table avec les colonnes définies entre parenthèses
  • Attribuer des types de données appropriés : sérielle pour les clés primaires auto-incrémentées, varchar pour les textes de longueur variable, char pour les textes de longueur fixe, date pour les dates
  • Terminer chaque requête SQL par un point-virgule pour indiquer à PostgreSQL la fin de la commande
  • Vérifier la création réussie avec SELECT * FROM acteurs
  • Utiliser DROP TABLE pour supprimer une table en cas d'erreur et pouvoir la recréer correctement
  • Respecter les noms de colonnes et types de données exacts pour assurer la compatibilité avec les requêtes suivantes

Questions fréquentes

Qu'est-ce qu'une colonne de type « sérielle » ?

C'est un type entier auto-incrémenté qui génère automatiquement une valeur unique et croissante pour chaque nouvelle ligne. Il est couramment utilisé pour les clés primaires afin d'identifier de manière unique chaque enregistrement.

Quelle est la différence entre varchar et char ?

varchar (character varying) stocke du texte de longueur variable jusqu'à un maximum spécifié (ex. 30 caractères), tandis que char stocke du texte sur une longueur fixe. Pour les prénoms et noms, varchar est préférable car leur longueur varie.

Comment supprimer la table si je fais une erreur lors de sa création ?

Utilisez la requête DROP TABLE acteurs pour supprimer la table. Veillez à bien spécifier le nom exact de la table pour éviter de supprimer accidentellement une autre table de votre base de données.