Easy-Micro

ESPACEMEMBRE phpMyAdmin
Concepteur

Définition des relations entre les tables

Formation phpMyAdmin par Easy-Micro Définition des relations entre les tables

Le concepteur PhpMyAdmin est accessible en sélectionnant la base de données (onglet "Concepteur") ou une table (onglet Structure) mais uniquement si toute vos tables utilisent un moteur innoDB et que chaque colonne utilisée soit de même type. Sinon, l'onglet "Vue relationnelle" n'apparait pas.

Les relations permettent la mise à jour des données liées entre deux tables.

Différents types "d'interaction" sont possibles entre deux tables liées. Il faut préciser ce qu'il faut faire si on met à jour le(s) champ(s) liant les deux tables (on update), et ce qu'il faut faire si on efface un enregistrement dans une table liée (on delete).

Trois types d'interaction sont possibles :
  • CASCADE : les actions sur la table principale se répercutent sur la table liée
    Permet de préserver l'intégrité référentielle des données en s'assurant que chacune des valeurs de la clé externe de la table liée correspond à un enregistrement de la table principale.
  • SET NULL : si on supprime un enregistrement de la table principale, les enregistrements correspondant dans la table liée ne sont pas effacés, mais la valeur de la clé externe est changée pour NULL
    Par exemple, dans une table Inscription, on peut se demander si c'est une bonne idée lorsque l'on efface un professeur de voir tous ses cours être effacés en cascade... Peut-être serait-il préférable de plutôt mettre la valeur NULL dans le champ num_de_prof de la table Cours. Une condition nécessaire pour cette action est bien entendu que le champ accepte les valeurs NULL (donc soit facultatif).
  • RESTRICT : on ne peut pas modifier la clé primaire ou effacer un enregistrement de la table principale s'il existe un enregistrement correspondant dans la table liée

La définition des relations peut se faire soit en mode plus graphique en utilisant le Concepteur (impossible chez OVH), ou en mode plutôt textuel à partir de l'onglet Structure d'une table en cliquant sur Vue relationnelle.

Formation phpMyAdmin par Easy-Micro Vue relationnelle

Un des avantages d'utiliser la vue relationnelle de la table où se trouve la clé externe est qu'il est possible d'y définir des contraintes de clé externe portant sur plusieurs champs simultanément (ce qui est le cas lorsque la clé primaire de la table liée est une clé multichamp).

Vue relationnelle phpMyAdmin
Vue relationnelle phpMyAdmin
Photo écran issue de Bonbache.fr

Formation phpMyAdmin par Easy-Micro Concepteur phpMyAdmin

Après avoir sélectionné votre base de données, en haut de l'interface de PhpMyAdmin, cliquer sur l'onglet Plus et choisir Concepteur

Concepteur phpMyAdmin
Photo écran du concepteur phpMyAdmin d'Easy-Micro.org

Formation phpMyAdmin par Easy-Micro Insertion de clé étrangère dans phpMyAdmin

Un des avantages non négligeable des relations est que phpMyAdmin propose automatiquement des menus déroulant lors de la saisie d'une clé étrangère.

Concepteur phpMyAdmin
Photo écran du concepteur phpMyAdmin d'Easy-Micro.org

< Page précédente PHPMYADMIN