Ce document explique comment gérer visuellement les schémas Spanner Graph dans Spanner Studio. La modélisation visuelle simplifie la conception de graphes en vous permettant de mapper des nœuds et des arêtes via une interface intuitive au lieu de créer manuellement des instructions LDD. Cette fonctionnalité facilite la conception, la compréhension et la collaboration avec d'autres utilisateurs. De plus, cette approche applique automatiquement les bonnes pratiques de schéma Spanner Graph, ce qui garantit une optimisation dès le départ.
Les schémas Spanner Graph peuvent également être créés et modifiés avec le LDD. Pour en savoir plus sur les schémas de graphes de propriétés, consultez la présentation des schémas Spanner Graph overview. Si vous rencontrez des erreurs lors de la création d'un schéma de graphe de propriétés, consultez Résoudre les problèmes liés à Spanner Graph.

Créer un graphe
Pour commencer, accédez à Spanner Studio et cliquez sur Create graph (Créer un graphe) sur la page d'accueil. L'outil de modélisation de graphes vous offre la possibilité de créer votre graphe de plusieurs manières :
En partant de zéro : concevez des nœuds et des arêtes entièrement via l'interface visuelle. Spanner génère automatiquement les LDD nécessaires et les objets de schéma qui optimisent les performances.
À partir de tables existantes : mappez vos tables relationnelles actuelles directement dans un modèle de graphe, à condition qu'elles soient connectées les unes aux autres.
Une approche hybride : modélisez certains éléments en partant de zéro tout en mappant d'autres éléments à partir de vos tables existantes.
Modéliser des nœuds
Pour ajouter un nœud au graphe, procédez comme suit :
En partant de zéro
Lorsque vous créez un nœud, Spanner génère automatiquement une table de base de données pour celui-ci. Lorsque vous définissez les propriétés et les clés du nœud, Spanner configure les colonnes et les clés primaires de la table.
- Ouvrez le canevas de modélisation de graphes dans Spanner Studio.
- Ajoutez un nœud au graphe et sélectionnez New (Nouveau) comme source de données.
- Attribuez un nom au nœud. La table créée pour ce nœud est nommée en fonction de cette valeur.
- Attribuez un libellé au nœud. Par défaut, ce libellé correspond au nom du nœud, mais il peut être modifié.
- Définissez les propriétés associées au libellé, y compris ses noms et ses types de données. Sélectionnez Is element key (Est une clé d'élément) pour au moins une propriété afin de la désigner comme clé. Sélectionnez Is not null (N'est pas nul) pour interdire les valeurs nulles.
À partir d'une table existante
Lorsque vous mappez un nœud à une table existante, Spanner utilise le schéma de la table comme base. Son libellé, ses propriétés et ses clés sont automatiquement hérités de la table, mais peuvent être remplacés.
- Ouvrez le canevas de modélisation de graphes dans Spanner Studio.
- Ajoutez un nœud au graphe et sélectionnez Existing data source (Source de données existante) comme source de données.
- Attribuez un libellé au nœud. Par défaut, ce libellé correspond au nom du nœud, mais il peut être modifié.
- Définissez les propriétés associées au libellé. Spanner mappe les colonnes de la table aux propriétés et ses clés primaires aux clés d'élément. Vous pouvez personnaliser cette configuration en procédant de l'une des manières suivantes :
- Créer des propriétés : ajoutez de nouvelles propriétés, ce qui entraîne la création automatique des colonnes sous-jacentes dans votre table par Spanner.
- Supprimer des propriétés : supprimez toutes les colonnes mappées dont vous n'avez pas besoin pour ce nœud.
Modéliser des arêtes
Pour ajouter une arête au graphe, procédez comme suit :
En partant de zéro
Lorsque vous créez une arête en partant de zéro, la table sous-jacente est créée automatiquement. Lorsque vous définissez les nœuds source et de destination, Spanner configure en arrière-plan les clés primaires et les colonnes de référence nécessaires.
Ouvrez le canevas de modélisation de graphes dans Spanner Studio.
Ajoutez une arête au graphe et sélectionnez New (Nouveau) comme source de données. Saisissez le nom de l'arête.
Sélectionnez les nœuds source et de destination. Spanner génère les propriétés nécessaires pour identifier les clés d'élément source et de destination, en les utilisant comme clés d'élément par défaut de l'arête.
Par défaut, une seule arête peut exister entre deux nœuds spécifiques, car Spanner utilise les clés d'élément des nœuds source et de destination pour identifier de manière unique chaque arête. Si vous avez besoin de plusieurs arêtes entre les deux mêmes nœuds (cas d'utilisation courant dans le monde réel), définissez une propriété supplémentaire et sélectionnez Is element key (Est une clé d'élément) pour que chaque arête reste unique.
Attribuez un libellé à l'arête. Par défaut, il correspond au nom de l'arête.
Définissez toutes les propriétés supplémentaires de l'arête.
Lorsque vous finalisez l'arête, Spanner génère automatiquement les instructions LDD nécessaires pour optimiser vos traversées d'arêtes. Pour en savoir plus, consultez Examiner et générer le LDD.
À partir d'une table existante
Lorsque vous mappez une arête à une table existante, Spanner utilise le schéma de la table comme base. Son libellé, ses propriétés et ses clés sont automatiquement hérités de la table, mais vous pouvez les remplacer ou ajouter de nouvelles propriétés.
Ouvrez le canevas de modélisation de graphes dans Spanner Studio.
Ajoutez une arête au graphe et sélectionnez Existing table (Table existante) comme source de données.
Sélectionnez les nœuds source et de destination. Définissez les colonnes de référence source et de destination références colonnes.
Attribuez un libellé à l'arête. Par défaut, il correspond au nom de la table d'entrée de l'arête.
Définissez les propriétés associées au libellé. Spanner mappe automatiquement les colonnes de la table aux propriétés et ses clés primaires aux clés d'élément d'arête. Vous pouvez modifier cette configuration de la manière suivante :
- Créer des propriétés : ajoutez de nouvelles propriétés, et Spanner créera les colonnes sous-jacentes dans votre table.
- Supprimer des propriétés : supprimez toutes les colonnes mappées dont vous n'avez pas besoin pour cette arête.
Pour les arêtes créées à partir de tables existantes, Spanner ne génère pas d'instructions LDD pour optimiser les traversées d'arêtes. Reportez-vous aux bonnes pratiques concernant les schémas pour appliquer manuellement les optimisations.
Modifier un graphe
Vous pouvez charger un graphe de propriétés existant dans Spanner Studio pour mettre à jour sa structure.
- Dans l'explorateur d'objets, recherchez le graphe que vous souhaitez modifier, puis sélectionnez View/modify visually (Afficher/modifier visuellement) dans le More options (Plus d'options) menu.
- Ajoutez de nouveaux nœuds ou arêtes en partant de zéro ou mappés à partir de tables existantes.
- Mettez à jour les propriétés des nœuds et des arêtes existants. Vous pouvez utiliser les colonnes disponibles dans les tables sous-jacentes ou ajouter de nouvelles propriétés. Les colonnes correspondantes sont alors automatiquement ajoutées à la table sous-jacente.
- Supprimez des nœuds ou des arêtes de la définition du graphe.
Examiner et générer le LDD
Une fois la modélisation terminée, Spanner génère les instructions LDD suivantes en fonction de votre modèle.
CREATE OR REPLACE PROPERTY GRAPH: crée ou met à jour la définition du graphe.CREATE TABLE: crée les tables sous-jacentes pour tous les nœuds ou arêtes créés en partant de zéro.ALTER TABLE ADD COLUMN: ajoute de nouvelles colonnes de propriétés aux nœuds ou arêtes mappés à partir de tables existantes.ALTER TABLE ADD CONSTRAINT: crée des contraintes de clé étrangère pour optimiser la traversée d'arêtes en avant.CREATE INDEX: crée des index d'arêtes inversées pour optimiser la traversée d'arêtes inversées.
Validez les modifications du graphe en procédant comme suit :
- Appuyez sur le bouton Generate DDL (Générer le LDD) pour générer le schéma. Les instructions LDD nécessaires décrites précédemment sont créées.
- Examinez les instructions LDD générées dans l'éditeur Spanner Studio. Les instructions sont présentées dans l'ordre d'exécution correct et incluent des commentaires expliquant chaque objet de schéma. Vous pouvez modifier n'importe quelle instruction avant de continuer.
- Exécutez les instructions pour valider les modifications dans votre base de données.
Limites
- Modifications uniquement additives : pour des raisons de sécurité, l'outil ne génère pas d'instructions
DROP TABLEniDROP COLUMN. La suppression d'un nœud, d'une arête ou d'une propriété ne met à jour que la définitionPROPERTY GRAPH. Elle ne supprime pas les tables et les colonnes sous-jacentes. - Certains objets de schéma non compatibles : cet outil ne génère pas automatiquement tous les objets de schéma, les types de données de colonne ni leurs qualificateurs possibles. Toutefois, vous pouvez modifier manuellement les instructions LDD générées dans l'éditeur avant de les valider.
- Aucune prise en charge de l'enregistrement des brouillons : lorsque vous modélisez un graphe, la progression n'est pas enregistrée si vous fermez la page.
- Aucune prise en charge des données sans schéma : cet outil ne génère que des graphes avec une structure formelle. Si votre cas d'utilisation nécessite des données sans schéma, vous pouvez utiliser cet exemple de schéma comme base pour créer votre graphe de données sans schéma.
- Aucune prise en charge des vues et des tables de schéma nommées : vous ne pouvez pas sélectionner de vues de base de données ni de tables de schéma nommées comme source de données lorsque vous mappez des nœuds et des arêtes à des sources de données existantes.
- Aucune contrainte ni aucun index d'arête mappée : l'outil ne génère pas de contraintes de clé étrangère ni d'index d'arête inversée pour les arêtes mappées à partir de tables existantes. Consultez les bonnes pratiques pour la création manuelle.
Étape suivante
- Gérez les données Spanner Graph.
- Découvrez les requêtes Spanner Graph.
- Découvrez les bonnes pratiques pour ajuster les requêtes Spanner Graph.