Conventions de nommage en base de données : Tables, colonnes et clés
6 min de lecture
Une nomenclature cohérente dans les bases de données évite la confusion, simplifie les requêtes et rend les migrations de schéma plus sûres.
Le standard : snake_case
La convention écrasante dans les bases de données SQL est snake_case pour tout : noms de tables, noms de colonnes, index et contraintes.
CREATE TABLE user_accounts (
user_id SERIAL PRIMARY KEY,
first_name VARCHAR(100),
last_name VARCHAR(100),
created_at TIMESTAMP DEFAULT NOW()
);
Noms de tables : singulier ou pluriel ?
| Style | Exemple | Utilisé par |
|---|---|---|
| Singulier | user, order | Laravel, Django |
| Pluriel | users, orders | Rails, beaucoup d'équipes |
Choisissez-en un et soyez cohérent. Les deux sont valides.
Règles de nommage des colonnes
- Clé primaire :
idoutable_name_id - Clé étrangère :
referenced_table_id(p. ex.user_id) - Horodatages :
created_at,updated_at,deleted_at - Booléens :
is_active,has_verified - Évitez les mots réservés : ne nommez pas des colonnes
order,user,group
Noms d'index et de contraintes
idx_users_email -- index
uq_users_email -- contrainte unique
fk_orders_user_id -- clé étrangère
chk_orders_total -- contrainte de vérification
Convertir en snake_case
Utilisez le convertisseur snake_case ou le hub de conversion de casse.