Ceci est une ancienne révision du document !
Début 2020, j'ai questionné la liste de diffusion RBDD à propos des bonnes pratiques pour la création/modification et utilisation des bases de données. Après différents échanges (merci aussi à Éric Q), Marie-Claude Q a créé l'article:
Bonnes pratiques en matière de base de données
Afin de l'illustrer, voici ce que j'en retiens:
Il doit être parlant sans être verbeux. L’utilisation d’abréviation est déconseillée.
Le commentaire doit citer l’unité de mesure, pour les données numériques
langue internationale
langue non maitrisée par tous (les nuances mises dans les commentaires peuvent être mal interprétées)
porte sur une seule colonne et étant de type numérique (donc vrai aussi pour le type integer), c'est plus rapide pour l’indexation
non significative (ne porte pas d'information métier) et l’unicité métier (une seule fois cette personne avec nom-prénom par exemple) de l’enregistrement est à la charge du développeur
utilisation de jointure de type join using (table_id) mais cela peut rend plus difficile la compréhension du contenu
utilisation de jointure de type join using (table_id) est impossible
lecture des requêtes facilité (absence d’ambiguïté), évite l'utilisation d'alias (cf. §Requêtes)
nom à rallonge
lecture des requêtes facilité (absence d’ambiguïté) et nom court
pas toujours facile de trouver une abréviation parlante
L’utilisation de script SQL doit être privilégiée. Il doit être commentés et contenir les entêtes minimum suivantes (auteur / date de création / date de dernière mise à jour / utilité). Il doit être archivé, dans un gestionnaire de version de code si possible, ou dans un système de sauvegarde au moins journalier
facilite la lecture de la requête
indispensable si la même table est utilisée plusieurs fois dans la même requête (relations multiples)
les alias des tables sont utilisables dans les WHERE, HAVING et autre
compromis à trouver entre longueur de l'alias et signification
les alias des champs ne sont pas utilisables dans les mêmes WHERE, HAVING et autres