Modéliser les données avec MySQL Workbench

Image non disponible


précédentsommairesuivant

3. Définir la structure des tables

3.1. Icône « New Table »


On en vient à ce qui nous intéresse au premier chef, définir la structure d'une table. Pour cela, on commence par cliquer sur l'icône ad-hoc :

Image non disponible
Figure 3.1 - Barre d'icônes, définir la structure d'une table



(La grille est ici cachée, pour la faire réapparaître, cf. paragraphe 10.1 : « Afficher/cacher la grille ».)


Une fois qu'on a cliqué sur l'icône, l'image d'un objet de type table apparaît :

Image non disponible
Figure 3.2 - Nouvelle table




Si la couleur bleu-pisseux fait loucher, il est possible d'en changer et passer au vert-pisseux ou autre (cf. paragraphe 10.2, « Changer la couleur d'un objet ») :

Image non disponible
Figure 3.3 - Nouvelle table, coloriage




Pour renommer la table et passer à la construction de la structure de son en-tête (ensemble des colonnes de la table) : en cliquant sur l'objet « table1 » on provoque l'ouverture de la fenêtre affectée à la gestion des propriétés des tables, et on a accès à l'onglet « Columns » :

Image non disponible
Figure 3.4 - Propriétés globales d'une table

3.2. En-tête de table (et clé primaire)


Renommons donc la table et définissons-en l'en-tête, c'est-à-dire l'ensemble de ses colonnes (pour cela double-cliquer sur l'image de la table) :

Image non disponible
Figure 3.5 - Onglet « Columns », ensemble des colonnes de la table




Il va sans dire que chaque table doit être dotée d'une clé primaire pour ne pas mériter le label d'infamie de « sac ». Dans cet exemple, la clé primaire a pour (seul) élément la colonne ClientId. Rappelons à cette occasion que la clé primaire est un cas particulier de la clé candidate.

Rappelons aussi à cette occasion que le bonhomme Null est hors-la-loi dans les bases de données authentiquement relationnelles.

Le type des données (INT, VARCHAR(45), etc.) est celui qui est proposé par défaut. Si l'on estime qu'un type par défaut (par exemple VARCHAR(45)) d'une façon générale ne convient pas, on a le loisir de le changer (cf. paragraphe 10.4.4).

N.B. Il est possible de réduire la taille des objets à l'affichage, ce qui est intéressant quand l'espace est encombré de tables (cf. paragraphe 10.3).

3.3. Notation « Workbench simplifiée »


Pour alléger l'affichage des tables, on peut éviter d'afficher le cartouche « Indexes » (qui du reste n'a rien à faire au niveau conceptuel ou logique) : à cet effet on utilise la notation « Workbench simplifiée » :

Image non disponible
Figure 3.6 - Notation « Workbench simplifiée »



A noter qu'en cliquant sur le symbole « Image non disponible » figurant à la droite du nom de la table, on peut aussi se contenter d'un affichage le plus succinct qui soit (et revenir à l'affichage précédent en cliquant sur le symbole « Image non disponible ») :

Image non disponible
Figure 3.7 - Réduction au seul nom de la table

3.4. Clés alternatives


En revenant à la notation « Workbench par défaut », on peut afficher la liste des index¹, bien qu'il n'y ait en l'occurrence pas de valeur ajoutée, puisque seul le nom de ceux-ci est affiché :

Image non disponible
Figure 3.8 - Affichage de la liste des index d'une table



Par le truchement d'une infobulle, on peut toutefois savoir si on a défini des clés alternatives et quelle en est la composition :

Image non disponible
Figure 3.9 - Affichage de la liste des index d'une table, composition des clés



Pour avoir une connaissance objective de la situation des clés, on peut de préférence passer par l'onglet « Indexes ». Ainsi voit-on que la clé primaire fait l'objet de l'« index primaire » :

Image non disponible
Figure 3.10 - Affichage de la liste des index d'une table, onglet « Indexes »



Onglet « Indexes » : une clé alternative garantie par un index de type « UNIQUE »:

Image non disponible
Figure 3.11 - Index « UNIQUE » au service d'une clé alternative



Les clés alternatives singletons (c'est-à-dire composées d'une seule colonne) sont aussi cochées « UQ » (onglet « Columns ») :

Image non disponible
Figure 3.12 - Clé alternative singleton (onglet « Columns »)



________________________________________________________________

¹ Il est fâcheux que MySQL Workbench fasse un amalgame, ne propose pas la mise en oeuvre des clés alternatives pour ce qu'elles sont (d'autant que ce sont des ensembles au sens de la théorie des ensembles), et que pour garantir le rôle de ces clés il faille en passer par le niveau physique au moyen d'index « UNIQUE ». Les index jouent évidemment un rôle crucial pour la rapidité de l'accès aux données, mais tout cela doit quand même rester sous le capot...


précédentsommairesuivant

  

Copyright © 2014 - François de Sainte Marie. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.