Relations

phpMyAdmin permet les relations (similaires au clés étrangères) en utilisant les méthodes natives MySQL (InnoDB) quand elles sont disponibles et les fonctionnalités spéciales propres à phpMyAdmin quand c’est nécessaire. Il existe deux façons d’éditer ces relations, avec la vue relation et le concepteur, qui sont expliqués sur cette page.

Note

Vous devez avoir configuré Configuration de stockage de phpMyAdmin pour utiliser les relations propres à phpMyAdmin.

Informations techniques

Actuellement, le seul type de table MySQL gérant nativement les relations est InnoDB. Lors de l’utilisation d’une table InnoDB, phpMyAdmin créera de réelles relationsInnoDB qui seront mises en œuvre par MySQL, quelle que soit l’application accédant à la base de données. Dans le cas d’un autre type de table, phpMyAdmin met en œuvre les relations en interne et ces relations ne sont pas disponibles pour d’autres applications.

Vue relationnelle

Pour que cela fonctionne, vous devez avoir créé correctement la [[pmadb|pmadb]]. Une fois fait, sélectionnez la page « Structure » d’une table. Sous la définition de la table, un lien appelé « Vue relationnelle » est affiché. Si vous cliquez sur ce lien, une page sera affichée proposant de créer un lien vers une autre table pour la plupart des champs. Seules les CLÉS PRIMAIRES sont affichées ici, donc si le champ auquel vous voulez vous référer n’est pas affiché, vous faites probablement une erreur. La liste déroulante en bas est la champ qui sera utilisé comme nom pour l’enregistrement.

Exemple de vue relationnelle

_images/pma-relations-relation-view-link.png _images/pma-relations-relation-link.png

Supposons que vous ayez des catégories et des liens et qu’une catégorie peut contenir plusieurs liens. Votre structure de table ressemblera à ceci :

  • category.category_id (doit être unique)
  • category.name
  • link.link_id
  • link.category_id
  • link.uri.

Ouvrez la page de la vue relationnelle (sous la structure de la table) pour la table link et pour le champ category_id et sélectionnez category.category_id comme enregistrement maître.

Si vous parcourez maintenant la table link, le champ category_id sera un lien hypertexte cliquable vers l’enregistrement catégorie. Mais ce que vous verrez sera seulement category_id et non le nom de la catégorie.

_images/pma-relations-relation-name.png

Pour corriger cela, ouvrez la vue relationnelle de la table category et dans la liste déroulante en bas, sélectionnez « nom ». Maintenant, si vous parcourez la table link et que vous passez la souris au-dessus de l’hyperlien category_id, la valeur de la catégorie relative sera affichée sous forme d’info-bulle.

_images/pma-relations-links.png

Concepteur

La fonctionnalité Concepteur est un moyen graphique de créer, modifier et afficher les relations de phpMyAdmin. Ces relations sont compatibles avec celles créées dans la vue relationnelle de phpMyAdmin.

Pour utiliser cette fonctionnalité, vous devez avoir correctement configuré les Configuration de stockage de phpMyAdmin et avoir configuré $cfg['Servers'][$i]['table_coords'].

Pour utiliser le concepteur, sélectionnez une page de structure de base de données, puis cherchez l’onglet Concepteur.

Pour exporter la vue en PDF, vous devez d’abord créer les pages PDF. Le concepteur crée l’agencement, la façon dont les tables seront affichées. Pour pouvoir enfin exporter la vue, vous devez le faire avec une page PDF en sélectionnant votre agencement créé dans le concepteur.