本文档提供了有关在 Spanner Studio 中以可视化方式管理 Spanner Graph 架构的指南。借助可视化建模,您可以通过直观的界面映射节点和边缘,而无需创建手动 DDL 语句,从而简化图表设计。此功能让您能够更轻松地设计、理解和与他人协作。此外,此方法会自动应用 Spanner Graph 架构最佳 实践,确保从一开始就进行 优化。
您还可以使用 DDL 创建和修改 Spanner Graph 架构。如需详细了解 属性图表架构,请参阅 Spanner Graph 架构 概览。如果您在创建属性图表架构时遇到错误,请参阅排查 Spanner Graph问题。

创建图表
如需开始使用,请前往 Spanner Studio,然后点击首页上的创建图表 。图表建模工具可让您灵活地以多种方式构建图表:
从零开始 :完全通过可视化界面设计节点和边缘。Spanner 会自动生成必要的 DDL 和性能优化架构对象。
从现有表 :将当前关系型表直接映射到图模型中,前提是这些表已建立彼此之间的连接。
混合方法 :从零开始对某些元素进行建模,同时从现有表中映射其他元素。
对节点进行建模
如需向图表添加节点,请按以下步骤操作:
从零开始
当您创建新节点时,Spanner 会自动为其生成数据库表。在您定义节点的属性和键时,Spanner 会为该表配置列和主键。
- 在 Spanner Studio 中打开图表建模画布。
- 向图表添加节点,然后选择新建 作为其数据源。
- 为节点分配名称。为此节点创建的表将根据此值命名。
- 为节点分配标签。默认情况下,此标签与节点的名称一致,但可以更改。
- 定义与标签关联的属性,包括其名称和数据类型。为至少一个属性选择是元素键 ,以将其指定为键。选择不为 null 以禁止 null 值。
从现有表
当您将节点映射到现有表时,Spanner 会使用该表的架构作为基础。其标签、属性和键会自动从该表继承,但可以替换。
- 在 Spanner Studio 中打开图表建模画布。
- 向图表添加节点,然后选择现有数据源 作为其数据源。
- 为节点分配标签。默认情况下,此标签与节点的名称一致,但可以更改。
- 定义与标签关联的属性。Spanner 会将表的列映射到属性,并将其主键映射到元素键。您可以通过执行以下任一操作来自定义此设置:
- 创建新属性 :添加新属性,这会导致 Spanner 在表中自动创建底层列。
- 删除属性 :移除此节点不需要的任何映射列。
对边缘进行建模
如需向图表添加边缘,请按以下步骤操作:
从零开始
当您从零开始创建新边缘时,系统会自动创建底层表。在您定义来源和目标节点时,Spanner 会在后台配置必要的主键和引用列。
在 Spanner Studio 中打开图表建模画布。
向图表添加边缘,然后选择新建 作为其数据源。输入边缘名称。
选择来源和目标节点。Spanner 会生成识别来源和目标元素键所需的属性,并将其用作边缘的默认元素键。
默认情况下,两个特定节点之间只能存在一个边缘,因为 Spanner 使用来源和目标节点元素键来唯一标识每个边缘。如果您需要在同一两个节点之间创建多个边缘(常见的实际用例),请定义一个额外的属性并选择是元素键 ,以确保每个边缘都是唯一的。
为边缘分配标签。默认情况下,此标签与边缘的名称一致。
为边缘定义任何其他属性。
当您完成边缘的创建后,Spanner 会自动生成优化边缘遍历所需的 DDL 语句。如需了解详情,请参阅 查看和生成 DDL。
从现有表
当您将边缘映射到现有表时,Spanner 会使用该表的架构作为基础。其标签、属性和键会自动从该表继承,但您可以替换它们或添加新属性。
在 Spanner Studio 中打开图表建模画布。
向图表添加边缘,然后选择现有表 作为其数据源。
选择来源和目标节点。定义来源和目标 引用 列。
为边缘分配标签。默认情况下,此标签与边缘的输入表名称一致。
定义与标签关联的属性。Spanner 会自动将表的列映射到属性,并将其主键映射到边缘元素键。您可以通过以下方式修改此设置:
- 创建新属性 :添加新属性,Spanner 会在表中创建底层列。
- 删除属性 :移除此边缘不需要的任何映射列。
对于从现有表创建的边缘,Spanner 不会生成 DDL 语句来优化边缘遍历。请参阅 架构 最佳实践,以手动应用 优化。
修改图表
您可以将现有属性图表加载到 Spanner Studio 中,以更新其结构。
- 在对象浏览器中,找到要修改的图表,然后从 更多选项 菜单中选择 以可视化方式查看/修改 。
- 从零开始添加新节点或边缘,或从现有表中映射新节点或边缘。
- 更新现有节点和边缘的属性。您可以使用底层表中的可用列,也可以添加新属性,系统会自动将相应的列添加到底层表中。
- 从图表定义中移除节点或边缘。
查看和生成 DDL
建模完成后,Spanner 会根据您的模型生成以下 DDL 语句。
CREATE OR REPLACE PROPERTY GRAPH:创建或更新图表定义。CREATE TABLE:为从零开始构建的任何节点或边缘创建底层表。ALTER TABLE ADD COLUMN:向从现有表中映射的节点或边缘添加新属性列。ALTER TABLE ADD CONSTRAINT:创建外键限制条件以优化 正向边缘 遍历。CREATE INDEX:创建反向边缘索引以优化反向边缘 遍历。
如需提交图表更改,请按以下步骤操作:
- 按生成 DDL 按钮以生成架构。系统会创建前面介绍的必要 DDL 语句。
- 在 Spanner Studio 编辑器中查看生成的 DDL 语句。这些语句按正确的执行顺序呈现,并包含说明每个架构对象的注释。您可以先修改任何语句,然后再继续。
- 执行这些语句以将更改提交到数据库。
限制
- 仅限添加更改 :为确保安全,该工具不会生成
DROP TABLE或DROP COLUMN语句。移除节点、边缘或属性只会更新PROPERTY GRAPH定义。它不会删除底层表和列。 - 某些不受支持的架构对象 :此工具不会自动生成所有可能的架构对象、列数据类型或其限定符。不过,您可以在提交之前在编辑器中手动修改生成的 DDL 语句。
- 不支持保存草稿 :在对图表进行建模时,如果您关闭页面,系统不会保存进度。
- 不支持无架构数据 :此工具仅生成具有正式结构的图表。如果您的用例需要无架构数据,您可以将 此架构示例 作为基础来创建无架构数据图表。
- 不支持视图和命名架构表 :在将节点和边缘映射到现有数据源时,您无法选择数据库视图或命名架构表作为数据源。
- 没有映射的边缘限制条件或索引 :该工具不会为从现有表中映射的边缘生成外键限制条件或反向边缘索引。请参阅手动创建的 最佳实践。