Formation PUB200 : MySQL, 2018 Règles de nomenclature

4.1 Comment nommer les tables et les champs ?


Lorsqu'on modélise une base de données, il est important d'utiliser dès le départ les bonnes règles de nomenclature. Ceci permettra de faciliter le travail du programmeur.

Il existe sur le marché différentes conventions. Toutes sont valables. L'important, c'est de choisir une convention et de l'appliquer à toutes nos tables et à tous nos champs. Autrement dit, choisissez une convention et « stick on it » !

Caractères à éviter

Pour éviter les problèmes lorsque vous aurez à effectuer des requêtes SQL, vous devez absolument respecter les règles suivantes dans les noms de vos tables et de vos champs :

  • Ne pas utiliser d'espaces
  • Ne pas utiliser d'accents ni de caractères spéciaux (/, , &, *, etc.)
  • Ne pas utiliser de points
  • Ne pas utiliser de mots réservés, comme SELECT, UPDATE, DELETE, INSERT, DESC, NULL, etc. (voir la liste des mots réservés présentées dans un lien plus bas)
  • Certains mots sont permis mais devraient tout de même être évités, comme DATE, BIT, NO, TEXT, etc. (voir la liste complète dans le même document que ci-haut)

Mots utilisés pour les noms de tables

Le nom d'une table doit être un nom, pas un verbe. Ex : table achat. À éviter : table acheter

Mots utilisés pour les noms de champs

Le nom d'un champ doit lui aussi être un nom, pas un verbe. Ex : champ commentaire. À éviter : champ commenter

Dans le cas d'un champ booléen, il est permis d'utiliser un adjectif. Ex : champ actif

Pour nommer un champ, vous devez utiliser simplement le ou les mots décrivant le champ. Ex : champs nom, prenom, dateembauche

À éviter : faire précéder chaque champs par une série de caractères représentant la table. Ex : dans la table employe, champs emp_nom, emp_prenom, emp_dateembauche.

Mots utilisés pour la clé primaire d'une table

Chaque table doit avoir une clé primaire composée d'un seul champ. Ce champ peut porter un des noms suivants :

  • id (c'est ce qu'on retrouve le plus souvent)

    ou

  • ID

Mots utilisés pour les clés étrangères

Les clés étrangères doivent indiquer clairement de quelle table leurs valeurs proviennent. Voici quelques suggestions :

  • xxxx_id (où xxxx est une série de caractères représentant l'autre table utilisée dans l'association). Ex : dept_id

    ou

  • xxxx_ID. Ex : dept_ID

    ou

  • nomcomplet_id (où nomcomplet est le nom complet de l'autre table utilisée dans l'association). Ex : departement_id (c'est ce qu'on retrouve le plus souvent)

    ou

  • nomcomplet_ID. Ex : departement_ID 

    ou

  • Refxxxx

    ou

  • Ref_xxxx

    ou

  • refnomcomplet

    ou

  • ref_nomcomplet

Casse du nom de la base de données

Certains SGBD n'acceptent que les lettres minuscules pour les noms de bases de données. D'autres ne sont pas sensibles à la casse.

C'est pourquoi il est conseillé de toujours écrire les noms de bases de données en lettres minuscules.

Casse des noms de tables

Certains SGBD n'acceptent que les lettres minuscules pour les noms de tables. D'autres ne sont pas sensibles à la casse.

Les noms de champs n'ont pas cette restriction.

Voici quelques options possibles :

  • Noms de tables et de champs tous écrits en minuscules. Ex : table employes, champs id, nom, prenom, dateembauche, etc. (c'est ce qu'on retrouve le plus souvent)

    ou

  • Noms de tables et de champs tous écrits en minuscules, sauf pour le champ ID qui, lui, sera en majuscules dans toutes les tables. Ex : table employes, champs ID, nom, prenom, dateembauche, etc.

    ou

  • Noms de tables en minuscules et noms de champs avec casse Pascal (débute par une majuscule et le début de chaque mot commence également par une majuscule). Ex : table employes, champs ID, Nom, Prenom, DateEmbauche

Espaces

Les espaces sont STRICTEMENT interdits dans les noms de tables et de champs. Pour les remplacer, vous pouvez :

  • Simplement omettre l'espace. Ex : champ dateembauche

    ou

  • Remplacer l'espace par un souligné. Ex : champ date_embauche

Utilisation du singulier vs pluriel pour les noms de tables

Deux options possibles :

  • Tous les noms de tables sont au pluriel. Ex : tables employes, departements, horaires (c'est ce qui est le plus utilisé)

    ou

  • Tous les noms de tables sont au singulier. Ex : tables employe, departement, horaire

Utilisation du singulier vs pluriel pour les noms de champs

Les noms des champs seront toujours écrits au singulier. Ex : champs nom et prenom. À éviter : champs noms et prenoms

Pour plus d'information

« 9.3 Reserved Words ». MySQL. http://dev.mysql.com/doc/refman/5.7/en/reserved-words.html

« Database Naming Convention ». Interakt. http://www.interaktonline.com/support/articles/details/Design+Your+Database-Database+Naming+Convention.html?id_art=24&id_asc=221

« Naming standards? Singular or Plural ». Ronald Bardford. http://ronaldbradford.com/blog/naming-standards-singular-or-plural-2008-09-02/

« Avant-propos : conseils et conventions ». OpenClassrooms. http://fr.openclassrooms.com/informatique/cours/administrez-vos-bases-de-donnees-avec-mysql/avant-propos-conseils-et-conventions

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre