Bien nommer ses tables
Le nommage d’une table est sujet à de nombreux débat au sein de la communauté des experts en bases de données. Chacun ayant des arguments qui penchent pour un type d’écriture plutôt qu’un autre (ex. : nameOfTheTable
ou name_of_the_table
) ou encore savoir si le nom d’une table est au singulier ou au pluriel.
Il faut retenir un point important : quoique vous décidiez, il convient de garder une cohérence dans votre nommage des tables et de ne pas en changer au fur et à mesure de l’avancement de votre projet.
En outre, il convient également d’être le plus pragmatique possible avec un objectif en tête : faire en sorte que la lisibilité dans la lecture de ce que contient la table soit la plus compréhensible possible afin de gagner en maintenabilité.
Dans la méthodologie PredicTable, nous avons opté pour une écriture qui est la suivante :
MÉTHODOLOGIE | DESCRIPTION | BONNE PRATIQUE | MAUVAISE PRATIQUE |
---|---|---|---|
Utiliser le singulier | Pour simplifier, nous considérons que la table désigne une entité en tant que telle. Vous ne savez pas à l’avance si elle va comprendre 1 ou plusieurs tuple. En outre, le pluriel d’un mot est parfois complexe à écrire et peut mener à des erreurs grammaticales et orthographiques qui compliquent la gestion. | client_information company_member | client_informations |
Utiliser l’anglais | Toutes les tables dans la méthodologies 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é. | team_member_role | rôle_equipe |
Utiliser les minuscules | Pour faciliter l’écriture, les noms des tables ne contiendront pas de majuscule. | client_information | Client_Information CLIENT_INFORMATION |
Utiliser un underscore _ plutôt d’un espace ou un tiret | Cette é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. | company_information | CompanyInformation companyInformation |
Utiliser un terme descriptif et court | En 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 | all_countries |
❌ Ne pas utiliser d’abréviation | Cela ne facilite pas la lecture et la compréhension de la table d’abréger des termes et peut prêter à interprétations. | client_information | client_info cli t_m_r |
❌ 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. | team_member_role | team_member_role! ⭐️ team_member_role "team_member_role” |