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 :
(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 :
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 ») :
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 » :
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) :
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 » :
A noter qu'en cliquant sur le symbole « »
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 « ») :
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é :
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 :
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 » :
Onglet « Indexes » : une clé alternative garantie par un index de type « UNIQUE »:
Les clés alternatives singletons (c'est-à-dire composées d'une seule colonne) sont aussi
cochées « UQ » (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...