SQL ET POSTGRE 3.13 : Langage de définition de donnée
Place au challenge ! Cette leçon vous propose un exercice complet de Langage de Définition de Données (LDD) en PostgreSQL. L'objectif est de mettre en pratique tout ce que vous avez appris : créer une base de données, créer des tables avec des colonnes typées, poser une clé primaire et une clé étrangère, puis modifier la structure existante. Le contexte est volontairement simple : une base nommée conducteur_voiture avec deux tables liées entre elles.
Les quatre missions à accomplir
- Mission 1 — créer la base de données
conducteur_voiture. - Mission 2 — créer la table
conducteuravec 5 colonnes :id,nom,prenom,departementetdate_permis, en respectant les types de données indiqués. - Mission 3 — créer la table
voitureavec les colonnesmarque,modele,annee, et une clé étrangèreconducteur_idfaisant référence à la tableconducteur. - Mission 4 — ajouter une colonne
emailde typeVARCHAR(50)à la tableconducteur, puis modifier le type de la colonnenompour passer deVARCHAR(30)àVARCHAR(50).
Cet exercice rassemble les commandes CREATE DATABASE, CREATE TABLE, ALTER TABLE ADD COLUMN et ALTER TABLE ALTER COLUMN TYPE. Il vous oblige à bien choisir les types (SERIAL pour les identifiants, VARCHAR pour les chaînes, INT pour le département, DATE pour la date du permis) et à formaliser la relation entre les deux tables avec REFERENCES conducteur(id).
Prenez le temps de réfléchir à la structure avant de taper la moindre ligne. Identifiez quelle colonne sert de clé primaire dans chaque table, quel champ servira de clé étrangère, et quelles contraintes (par exemple NOT NULL ou UNIQUE) sont pertinentes pour l'email. À vous de jouer : essayez de tout coder seul, puis comparez votre solution avec celle proposée dans la vidéo suivante.
En résumé
Ce challenge pratique couvre les opérations fondamentales du Langage de Définition de Donnée (DDL) en PostgreSQL. Vous apprendrez à créer une base de données complémntaire avec ses tables, à définir les colonnes avec leurs types de données appropriés, et à établir des relations entre tables via les clés étrangères. C'est l'occasion de maîtriser les modifications structurelles essentielles : création, ajout et modification de colonnes.
Points clés
- Créer une base de données PostgreSQL avec la commande CREATE DATABASE
- Définir des tables avec des colonnes typées (entier, varchar, date) en utilisant CREATE TABLE
- Établir des relations entre tables via les clés étrangères (conducteur_id dans la table voiture)
- Ajouter une colonne à une table existante avec ALTER TABLE ADD COLUMN
- Modifier le type de données d'une colonne existante avec ALTER TABLE ALTER COLUMN
- Respecter les contraintes de taille pour les chaînes de caractères (varchar avec limite de caractères)
Questions fréquentes
Pourquoi utiliser une clé étrangère entre les tables conducteur et voiture ?
La clé étrangère établit une relation d'intégrité référentielle : elle garantit que chaque voiture est associée à un conducteur existant dans la base de données, évitant ainsi les données orphelines ou incohérentes.
Quelle est la différence entre CREATE TABLE et ALTER TABLE ?
CREATE TABLE définit la structure complète d'une nouvelle table, tandis qu'ALTER TABLE modifie la structure d'une table déjà existante (ajouter, supprimer ou modifier des colonnes).
Pourquoi spécifier une limite de caractères dans varchar(50) plutôt que varchar sans limite ?
Définir une limite (varchar 50) optimise l'espace disque, améliore les performances et force la cohérence des données en imposant une taille maximale pour les noms et adresses emails.