理解数据库结构可以先从建表语句开始。本例展示客户与订单的显式外键关系,不需要导入业务记录,也不会连接或修改数据库。图表达的是输入中声明的结构。
准备两张表的建表语句
打开 SQL 关系图工具,把下面完整 SQL 粘贴到输入区。字段名 customer_id 本身不会产生关系,必须有明确的 REFERENCES 声明。
CREATE TABLE customers (
id BIGINT PRIMARY KEY,
name VARCHAR(80) NOT NULL
);
CREATE TABLE orders (
id BIGINT PRIMARY KEY,
customer_id BIGINT NOT NULL,
total DECIMAL(10,2),
FOREIGN KEY (customer_id) REFERENCES customers(id)
);分析并核对结构
点击“开始分析”。预期得到 customers、orders 两张表;id 显示 PK,orders.customer_id 指向 customers.id。结果中应有 1 条关系,且本例没有未处理语句提示。
查看关系字段与可空性
核对关系详情中的源字段和目标字段。customer_id 显式 NOT NULL,total 允许为空。画出的连线不是完整的基数证明,不能只凭图推断客户必须拥有订单。
导出后再次核对
点击“下载 SVG 图”,打开导出文件检查表名和字段;同时保存 SQL 源文件及生成日期。分享前检查表名是否暴露内部业务信息,图与 SQL 都可能含有结构信息。
为什么不需要上传数据库备份
图只需要结构。包含 INSERT 的整库转储会增加无关内容,并可能带入真实业务数据;先提取相关 CREATE TABLE。工具会列出未处理语句,不会执行它们。
布局拥挤怎样处理
表多时按业务模块分批分析。跨模块外键需要把目标表一并放进该批次,否则只能看到“引用表未提供”提示。导出图之后不能据此宣称已完成数据库性能或约束检查。
解析范围与数据库验证
工具只在浏览器解析 CREATE TABLE,不连接数据库也不执行 SQL。支持的外键会用于画图;ALTER TABLE、索引和其他未覆盖语句会提示复核,不能据此认为这些约束在数据库中不存在。每次最多 60 张表、1500 个字段,输入不超过 1 MiB。
- 显式外键才是画线依据。
- 先核对关系详情,再分享图片。
- 结构图不能替代数据库实际验证。