Table des classes
Gérer des groupes d'utilisateurs ("classes").
Notions théoriques
Structure de la table classes
Voici les colonnes nécessaires pour représenter une classe :
| Colonne | Type | Description |
|---|---|---|
| id | uuid | Identifiant unique de la classe |
| name | text | Nom de la classe (obligatoire) |
| description | text | Description libre (optionnelle) |
| created_at | timestamp with time zone | Date de création automatique |
| updated_at | timestamp with time zone | Date de dernière modification automatique |
Génération d’UUID
avec
uuid_generate_v4()
Pour éviter les identifiants prédictibles comme 1, 2, 3, on utilise des UUID (identifiants universels uniques). PostgreSQL permet de générer un UUID avec la fonction :
uuid_generate_v4()
Cette fonction génère un identifiant aléatoire, très difficile à deviner. Elle est utilisée comme valeur par défaut dans la colonne id.
Timestamps automatiques
Les colonnes created_at et updated_at permettent de :
- savoir quand une classe a été créée,
- savoir quand elle a été modifiée pour la dernière fois.
Ces colonnes sont utiles pour l’audit, le tri, ou la synchronisation des données.
Syntaxe pour les remplir automatiquement :
created_at timestamp with time zone default timezone('utc'::text, now())
Même chose pour updated_at.
Utiliser le fuseau UTC permet de conserver une cohérence temporelle, quel que soit le pays de l’utilisateur.
Contraintes à appliquer
Il est recommandé d’ajouter les contraintes suivantes :
PRIMARY KEY (id): chaque classe a un identifiant unique.NOT NULLsurname: une classe doit avoir un nom.- Valeurs par défaut sur
id,created_at,updated_at.