Skip to content

Bien nommer ses champs

Considérations générales

MÉTHODOLOGIEDESCRIPTIONBONNE PRATIQUEMAUVAISE PRATIQUE
Utiliser le singulierNous considérons que les champs sont à noter au singulier (même pour un champ de type “Multiple choices”)country_name
email
company_phone
content
current_month
countries_name
email_adresses
Utiliser l’anglaisToutes les tables sont nommées en anglais pour faciliter la compréhension par les équipes internationales, pour éviter les problématiques des accents et pour faciliter la maintenabilité.country_name
email
nom_pays
courrier_electronique
Utiliser les minusculesPour faciliter l’écriture, les noms des tables ne contiendront pas de majuscule.country_name
email
COUNTRY_NAME
Country_Name
Utiliser un underscore _ plutôt d’un espace ou un tiretCette écriture se rapproche de ce qui se fait le plus dans l’écosystème des bases de données. Nous avons choisi de conserver cette pratique.country_name
current_month
country-name_european-union
e-mail
Utiliser un terme descriptif et courtEn 1 ou quelques mots, la table doit pouvoir indiquer son contenu et son objectif. Plus le nom est court, mieux c’est. Eviter également les “stop word” (of, a…)country_name
current_month
Faites de votre mieux pour améliorer la lisibilité et la maintenabilité.
❌  Ne pas utiliser d’abréviationCela ne facilite pas la lecture et la compréhension de la table d’abréger des termes.direct_message
current_collab
current_collab
dm
❌ Ne pas utiliser d’accent, d’emoji, de ponctuation ou de guillemetÉviter absolument ces caractères car ils pourraient poser des problèmes techniques lors des requêtes à la base de données.important_message!
🚨 important_message
message_envoyé'
Faire en sorte que le champ soit le plus unique possible sur toute la base de données pour éviter les confusions

NOTE

chaque table doit absolument posséder a minima un champ id (identifiant unique) ainsi qu’un champ date de création. Le champ date de création sera nommé created_on et correspond comme son nom l'indique, à la date de création du record.

Considérations particulières

Champ id

Le champ id (identifiant unique) est le champ qui identifie chaque record de votre table.

WARNING

Attention : Sur un grand nombre d’outils no code l’id que vous choisissez n’est pas nécessairement la véritable primary_key.
Exemple : sur Airtable, la véritable clé primaire est celle du RECORD_ID(). Vous pouvez l’utiliser comme identifiant et dans ce cas utiliser le terme de primary_key (ou pk si vous le souhaitez), mais si vous préférez avoir un identifiant plus personnalisé pour une meilleure lecture (exemple : email), il est préférable de nommer le champ id.

MÉTHODOLOGIEDESCRIPTIONBONNE PRATIQUEMAUVAISE PRATIQUE
Utiliser les minusculesLe champ id est toujours noté en minuscule.idID
Possibilité d’ajouter le nom de la table avant l’identifiant pour avoir un champ plus clair.Parfois le terme id est un peu juste. Il est souvent préférable d’ajouter un terme supplémentaire. Ce terme est séparé par un underscore.Dans le cas où la table se nomme member, vous pouvez nommer le champ member_idid_member
full name
Justeìd. C’est tout.Le terme id est suffisamment reconnu pour ne pas avoir besoin d’écrire “identifiant”.id
member_id
identifiant
member_identifiant
Vous pouvez utiliser le terme pkDans le cas où id = clé primaire, alors vous pouvez utiliser l’abréviation pkpk
member_pk
pk_member
primary_key_member
member_primary_key

NOTE

👉 A noter : l’identifiant doit véritablement être unique. Par exemple, un nom n’est pas un élément unique (”Antoine Dupont” est certes un joueur de rugby unique, mais son nom est très commun en France et ne peut donc constituer un identifiant).

Champs dates

Pour les dates il convient d’être descriptif sur le nommage du champ.

MÉTHODOLOGIEDESCRIPTIONBONNE PRATIQUEMAUVAISE PRATIQUE
Le champ doit être descriptifDécrire le champ date permet de mieux se repérer dans les champs de la table. La séparation de la description se fait avec des underscores uniquement.start_date
end_date
current_month
date
start-date
Utiliser l’anglaisPour nommer le champ date vous devez utiliser l’anglais. Mais cela ne veut pas dire que la valeur du champ date est nécessairement une date formatée selon les standards américains ou anglais.start_date
end_date
current_month
debut-date
fin-du-mois

Champs booléens

Les champs booléens sont des champs qui ne peuvent prendre que 2 valeurs : true ou false.

MÉTHODOLOGIEDESCRIPTIONBONNE PRATIQUEMAUVAISE PRATIQUE
Utiliser un verbeis_active
is_send
active
Utiliser un underscore _ plutôt d’un espace ou un tiretSéparer les termes par un underscore.is_activeis-active
Utiliser l’anglaisLes termes à utiliser sont en anglais.is_readyest-prêt
❌ Ne pas utiliser d’accent, d’emoji, de ponctuation ou de guillemetOn ne met pas de ponctuation dans le nommage d’un champis_activeis_active?
envoyé

Clé étrangère

Une clé étrangère permet de référencer une table depuis une autre table. Pour l’exemple, on va référencer la table content dans la table team_member.

Dans beaucoup d’outils no code, on peut utiliser des champs de type :

  • Link to another record
  • Lookup
  • Rollup

WARNING

Ce type de liaison n’est possible dans le cas d’une relation 1:1 ou 1:n c’est-à-dire qu’une entité est peut être liée avec un ou plusieurs entités de la deuxième table.

MÉTHODOLOGIEDESCRIPTIONBONNE PRATIQUEMAUVAISE PRATIQUE
Utiliser le nom de la table de référence ainsi que l’identifiant de cette table.Utilisez le nommage de cette manière : tablelinked_fieldnameDans la table content, on aura donc team_member_id. Et dans la table team_member, on aura donc content_id

Pour un lookup ou un rollup, vous pouvez utiliser également le même principe : content_name
content_price
team_member_count
team_member
content
Utiliser un underscore _ plutôt d’un espace ou un tiretSéparer les termes par un underscore.team_member_id
content_id
team-member-id
content-id
Utiliser l’anglaisLes termes à utiliser sont en anglais.team_member_id
content_id
equipe_id

TIP

Et dans le cas d’une liaison de plusieurs à plusieurs (n:n) il est préférable de créer une table de jointure. Une table de jointure contient :

  • les clés étrangères des tables qu'elle relie. Ces clés étrangères correspondent aux clés primaires des tables liées
  • Optionnellement, des colonnes supplémentaires qui fournissent des détails spécifiques sur la relation, telles que la date à laquelle la relation a été établie ou d'autres métadonnées pertinentes.

Exemple

Considérons que vous disposez des tables suivantes :

  • author (author_id, name)
  • book (book_id, title) Pour gérer une relation de plusieurs-à-plusieurs (many to many) entre ces tables (un auteur peut écrire plusieurs livres et un livre peut avoir plusieurs auteurs), vous créez une table de jointure appelée author_book :
  • author_book (author_id, book_id, publication_date) Dans cet exemple, author_id et book_id sont des clés étrangères qui font référence respectivement aux tables author et book, tandis que publication_date est une information supplémentaire sur la date de publication du livre par l'auteur.