Retour : Page Principale > sommaire méthodologie

Convention de réalisation des modèles de bases de données


À RÉÉCRIRE (2017) - cette page mérite d'être conservée, à condition de la mettre à jour

Contenu de cette page

La façon de réaliser des modèles de base de données et de nommer les tables (entités) et colonnes (attributs) avec les logiciels Dia, DBDesigner, DBDesignerfork ou Mysql-Workbench.

Les modules

Nous appelons module les regroupements de tables d'un modèle ayant un rapport entre elles.
Dans le modèle eFlore, nous avons par exemple le module botaniste qui regroupe toutes les tables liées à un botaniste.

Dans Mysql-Workbench, un module correspond à une "région". Un "région" peut être éditée et recevoir un commentaire. Nous renseignerons ce champ qui sera utiliser lors de la génération de la documentation.

Les tables


Comment nommer une nouvelle table ?

Un nom de table est unique .
Un nom de table est en minuscules .
Le nom d'une table à ses mots séparés par des soulignement : _
Le nom de la table doit commencer par le nom ou l'abréviation de la base de données du projet .
Exemple de noms de base de données:
  • eflore : pour la base de données de consultation du projet eFlore.
  • cel : pour la base de données du Carnet en Ligne.
être suivi, éventuellement, du nom ou l'abréviation du module comprenant la table lorsqu'on a à faire à un modèle complexe.
Pour les modèles comprenant relativement peut de table et n'ayant pas de module, le nom ou l'abréviation du module peut être omis.
Exemple : pour la base de données eflore , nous avons le module Botaniste : eflore_botaniste et pour la base cel seulement des tables préfixées par cel_

Exemples complets :
  • cel_images : base de données du Carnet en Ligne abrégée en cel avec directement la table images pour une table "classique" (pas de verbe à l'infinitif dans son nom).
  • cel_obs_a_images : base de données du Carnet en Ligne abrégée en cel réalisant la liaison entre obs et images (présence du verbe avoir conjuguer en a, pour les autres verbes garder l'infinitif).

Comment abréger une table ?

Les abréviations des noms des tables peuvent être utile pour nommer les relations entre tables.
L'abréviation du nom d'une table se compose de la première lettre de chaque mot du nom de cette table.
Chaque abréviation doit être unique.
Si une abréviation existe déjà, rajouter la seconde lettre du nom du module ou si les modules ne sont pas utilisé la deuxième lettre du premier mot du nom de la table.
Par exemple : pour le module Projet de la base eflore ses tables avaient des abréviations qui existait déjà nous avons donc abrégés ses tables de la sorte : epr... et non ep...

Les colonnes


Comment nommer une nouvelle colonne ?

Un nom de colonne est unique .
Un nom des colonne est en minuscule .
Le nom d'une colonne à ses mots séparés par des soulignement : _
Être suivi de l'abréviation du type de la colonne pour les clés soit :
  • l'abréviation id pour une clé primaire
  • l'abréviation ce pour une clé étrangère
être suivi de mots décrivant le contenu de la colonne .

Exemple complet :
  • id_images pour le nom de la colonne clé primaire de la table cel_images .

Comment classer les colonnes dans une table ?

Les colonnes de type clé primaire sont placées en premier dans la table.
Les colonnes de type clé étrangère sont placées en second dans la table.
Les colonnes de type standard sont placées en troisième position dans la table et suivent les règles suivantes :
  • la colonne "notes" ou équivalente est toujours placée en dernier. Elle correspond à un champ de commentaires libre.
  • les colonnes sont regroupées en fonction de leurs rapports, ou de leur ordre d'affichage.

Les relations entre tables

Mysql-Workbench permet seulement de réaliser un modèle ER, c'est à dire Entité-Relation (équivalant au modèle physique de données dans MERISE). Dans ce type de modèle, les relations entre les tables permettent seulement de connaître les relations de dépendance des tables entres elles.

Comment nommer une relation ?

Deux méthodes possibles, choisissez en une et restez homogène :

Méthode 1
Une relation commence par un verbe à l'infinitif et est suivie d'un complément .
Ses mots en minuscules sont séparés par des soulignements : _
Par exemple : avoir_menu
Cette méthode est plutôt adaptée aux modèles relativement simples.

Méthode 2
Une relation commence par fk.
Ses mots en minuscules sont séparés par des soulignement : _
Nous avons ensuite l' abréviation de la table possédant la clé étrangère suivie de celle de la table possédant la clé primaire correspondante.
Par exemple : les tables eflore_botaniste_nom et eflore_botaniste_type_nom ont pour nom de relation fk_ebn_ebtn .
La table possédant la clé étrangère est eflore_botaniste_nom (abrégée en ebn ) et la table possédant la clé primaire est eflore_botaniste_type_nom (abrégé en ebtn ).
Cette méthode est plutôt adaptée aux modèles complexes.