数据库设计和文档编制现在变得更加顺畅。如果你曾经花费数小时手动拖拽、放置和对齐方框来创建实体关系图(ERD),那么Visual Paradigm有令人振奋的好消息要告诉你。我们已正式升级我们的统一文本转图表平台,VPasCode,通过引入对原生SQL代码的强大支持。
通过这一最新改进,VPasCode现在可作为一款高度直观的免费SQL转ERD工具。你只需将原始的SQL DDL脚本粘贴到我们的环境中,即可亲眼见证完整的实体关系图瞬间生成。

无论你是设计企业生态系统的数据架构师,还是正在原型化新功能的全栈开发人员,亦或是学习关系数据库管理系统的学生,这款强大的在线SQL ERD工具都旨在为你节省时间并消除手动绘图的瓶颈。
什么是VPasCode?终极的代码即图表平台
如果你是该平台的新用户,这里有一个快速回顾:VPasCode是Visual Paradigm的统一文本转图表中心。与传统的点击拖拽绘图工具不同,VPasCode采用“代码即图表”(DaC)理念。它允许你使用简单且人类可读的文本语法来构建、维护和版本控制复杂系统架构、流程图和序列图。
该平台左侧配备了一个快速且免费的代码编辑器,右侧则是一个实时图表渲染器。由于它是一个真正集成的环境,VPasCode理论上支持所有流行的文本转图表标准,包括完整的PlantUML和Mermaid语法。它将开源渲染引擎的最佳性能与Visual Paradigm的简洁网页生态系统相结合。
双引擎灵活性:终极SQL ERD编辑器
虽然标准的代码转图表工具会将你锁定在单一布局引擎中,但VPasCode赋予你完全的创意和架构控制权。与其他我们支持的语言不同,我们新推出的SQL ERD编辑器引入了独特的双渲染切换功能。
在左侧窗格的SQL代码编辑器上方,你会看到一个下拉菜单,其默认选项为“Mermaid”。如果你想使用PlantUML语法规则来查看或导出你的数据库设计,只需点击下拉菜单并将其切换为“PlantUML”。系统会自动处理你的SQL脚本,并立即使用你选择的引擎进行转换。
亲眼见证:4个真实世界的交互式示例
为了证明这一新功能在不同数据库方言和软件架构中的多功能性,我们准备了四个交互式示例。你可以点击每个示例下方的链接,直接在实时在线SQL ERD工具环境中打开它们。
1. 电子商务模式(标准SQL)
此标准关系模式展示了经典的电子商务关系:用户、地址、产品、订单、订单明细项和产品评论,包含标准的主键和外键引用。

CREATE TABLE users (
id BIGINT PRIMARY KEY,
email VARCHAR(255) NOT NULL UNIQUE,
full_name VARCHAR(120),
created_at TIMESTAMP NOT NULL
);
CREATE TABLE addresses (
id BIGINT PRIMARY KEY,
user_id BIGINT NOT NULL REFERENCES users(id),
line1 VARCHAR(255) NOT NULL,
city VARCHAR(80),
country CHAR(2) NOT NULL
);
CREATE TABLE products (
id BIGINT PRIMARY KEY,
sku VARCHAR(64) NOT NULL UNIQUE,
name VARCHAR(200) NOT NULL,
price_cents INT NOT NULL,
active BOOLEAN NOT NULL
);
CREATE TABLE orders (
id BIGINT PRIMARY KEY,
user_id BIGINT NOT NULL,
address_id BIGINT,
status VARCHAR(32) NOT NULL,
total_cents INT NOT NULL,
placed_at TIMESTAMP NOT NULL,
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (address_id) REFERENCES addresses(id)
);
CREATE TABLE order_items (
id BIGINT PRIMARY KEY,
order_id BIGINT NOT NULL,
product_id BIGINT NOT NULL,
quantity INT NOT NULL,
unit_cents INT NOT NULL,
CONSTRAINT fk_oi_order FOREIGN KEY (order_id) REFERENCES orders(id),
CONSTRAINT fk_oi_product FOREIGN KEY (product_id) REFERENCES products(id)
);
CREATE TABLE reviews (
id BIGINT PRIMARY KEY,
product_id BIGINT NOT NULL REFERENCES products(id),
user_id BIGINT NOT NULL REFERENCES users(id),
rating SMALLINT NOT NULL,
body TEXT,
created_at TIMESTAMP NOT NULL
);
2. 内容管理博客模式(PostgreSQL方言)
现代应用程序需要高级数据结构。此面向PostgreSQL的模式包含高级配置,包括复杂数组(TEXT[]),现代JSON对象(JSONB),以及用于主键的UUID数据类型。

CREATE TABLE authors (
id UUID PRIMARY KEY,
name VARCHAR(200) NOT NULL,
email VARCHAR(255) NOT NULL UNIQUE,
bio TEXT,
avatar_url VARCHAR(500),
meta JSONB DEFAULT '{}',
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE categories (
id UUID PRIMARY KEY,
name VARCHAR(100) NOT NULL UNIQUE,
slug VARCHAR(120) NOT NULL UNIQUE,
description TEXT,
parent_id UUID REFERENCES categories(id),
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE posts (
id UUID PRIMARY KEY,
author_id UUID NOT NULL REFERENCES authors(id),
category_id UUID REFERENCES categories(id),
title VARCHAR(300) NOT NULL,
slug VARCHAR(350) NOT NULL UNIQUE,
body TEXT NOT NULL,
excerpt TEXT,
tags TEXT[],
published BOOLEAN NOT NULL DEFAULT FALSE,
views INTEGER NOT NULL DEFAULT 0,
published_at TIMESTAMPTZ,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE comments (
id UUID PRIMARY KEY,
post_id UUID NOT NULL REFERENCES posts(id),
author_name VARCHAR(120) NOT NULL,
author_email VARCHAR(255) NOT NULL,
body TEXT NOT NULL,
approved BOOLEAN NOT NULL DEFAULT FALSE,
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE post_tags (
post_id UUID NOT NULL REFERENCES posts(id),
tag VARCHAR(60) NOT NULL,
PRIMARY KEY (post_id, tag),
CONSTRAINT fk_tags_post FOREIGN KEY (post_id) REFERENCES posts(id)
);
3. 多租户SaaS引擎(MySQL方言)
此MySQL DDL示例概述了一个多租户业务系统,通过原生AUTO_INCREMENT, ENUM字段和显式小数,追踪组织、团队层级、用户权限、项目分配和账单发票。

CREATE TABLE organizations (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(200) NOT NULL,
slug VARCHAR(120) NOT NULL UNIQUE,
plan TINYINT NOT NULL DEFAULT 0,
active BOOLEAN NOT NULL DEFAULT TRUE,
max_users INT NOT NULL DEFAULT 10,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE teams (
id INT AUTO_INCREMENT PRIMARY KEY,
org_id INT NOT NULL,
name VARCHAR(120) NOT NULL,
description TEXT,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (org_id) REFERENCES organizations(id)
);
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
org_id INT NOT NULL,
email VARCHAR(255) NOT NULL UNIQUE,
password_hash VARCHAR(255) NOT NULL,
display_name VARCHAR(120) NOT NULL,
role ENUM('admin', 'member', 'viewer') NOT NULL DEFAULT 'member',
active BOOLEAN NOT NULL DEFAULT TRUE,
last_login DATETIME,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (org_id) REFERENCES organizations(id)
);
CREATE TABLE projects (
id INT AUTO_INCREMENT PRIMARY KEY,
org_id INT NOT NULL,
name VARCHAR(200) NOT NULL,
description TEXT,
budget DECIMAL(12, 2) NOT NULL DEFAULT 0.00,
status ENUM('planning', 'active', 'completed', 'archived') NOT NULL DEFAULT 'planning',
start_date DATE,
end_date DATE,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (org_id) REFERENCES organizations(id)
);
CREATE TABLE invoices (
id INT AUTO_INCREMENT PRIMARY KEY,
org_id INT NOT NULL,
user_id INT NOT NULL,
project_id INT,
invoice_no VARCHAR(32) NOT NULL UNIQUE,
amount DECIMAL(12, 2) NOT NULL,
tax DECIMAL(12, 2) NOT NULL DEFAULT 0.00,
total DECIMAL(12, 2) NOT NULL,
currency CHAR(3) NOT NULL DEFAULT 'USD',
status ENUM('draft', 'sent', 'paid', 'cancelled') NOT NULL DEFAULT 'draft',
due_date DATE NOT NULL,
paid_at DATETIME,
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (org_id) REFERENCES organizations(id),
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (project_id) REFERENCES projects(id)
);
4. 图书馆管理目录(SQLite方言)
非常适合本地化应用结构,此SQLite数据集包含出版商目录、带有结构交叉引用约束的目录库存、成员数据库、实体借阅以及等待名单保留的全面配置。

CREATE TABLE publishers (
id INTEGER PRIMARY KEY,
name VARCHAR(200) NOT NULL,
address TEXT,
website VARCHAR(300),
established_year INT
);
CREATE TABLE books (
id INTEGER PRIMARY KEY,
publisher_id INT,
isbn VARCHAR(20) NOT NULL UNIQUE,
title VARCHAR(300) NOT NULL,
subtitle VARCHAR(300),
language VARCHAR(30) NOT NULL DEFAULT 'English',
page_count INT,
publication_year INT,
edition INT DEFAULT 1,
cover_image BLOB,
description TEXT,
rating REAL DEFAULT 0.0,
price DECIMAL(8, 2),
in_stock BOOLEAN NOT NULL DEFAULT TRUE,
acquired_at DATE,
created_at TIMESTAMP NOT NULL,
FOREIGN KEY (publisher_id) REFERENCES publishers(id)
);
CREATE TABLE authors (
id INTEGER PRIMARY KEY,
first_name VARCHAR(80) NOT NULL,
last_name VARCHAR(80) NOT NULL,
birth_date DATE,
nationality VARCHAR(60),
biography TEXT,
website VARCHAR(300)
);
CREATE TABLE book_authors (
book_id INT NOT NULL,
author_id INT NOT NULL,
role VARCHAR(60) DEFAULT 'Author',
sort_order INT NOT NULL DEFAULT 0,
PRIMARY KEY (book_id, author_id),
CONSTRAINT fk_ba_book FOREIGN KEY (book_id) REFERENCES books(id),
CONSTRAINT fk_ba_author FOREIGN KEY (author_id) REFERENCES authors(id)
);
CREATE TABLE members (
id INTEGER PRIMARY KEY,
card_no VARCHAR(20) NOT NULL UNIQUE,
first_name VARCHAR(80) NOT NULL,
last_name VARCHAR(80) NOT NULL,
email VARCHAR(255) NOT NULL UNIQUE,
phone VARCHAR(30),
address TEXT,
membership_type VARCHAR(30) NOT NULL DEFAULT 'Standard',
joined_at DATE NOT NULL,
expires_at DATE NOT NULL,
active BOOLEAN NOT NULL DEFAULT TRUE
);
CREATE TABLE loans (
id INTEGER PRIMARY KEY,
book_id INT NOT NULL,
member_id INT NOT NULL,
borrowed_at TIMESTAMP NOT NULL,
due_at DATE NOT NULL,
returned_at TIMESTAMP,
renewal_count INT NOT NULL DEFAULT 0,
notes TEXT,
FOREIGN KEY (book_id) REFERENCES books(id),
FOREIGN KEY (member_id) REFERENCES members(id)
);
CREATE TABLE holds (
id INTEGER PRIMARY KEY,
book_id INT NOT NULL,
member_id INT NOT NULL,
placed_at TIMESTAMP NOT NULL,
expires_at DATE,
fulfilled_at TIMESTAMP,
cancelled BOOLEAN NOT NULL DEFAULT FALSE,
FOREIGN KEY (book_id) REFERENCES books(id),
FOREIGN KEY (member_id) REFERENCES members(id)
);
为什么要使用在线 SQL ERD 工具?
随着模式在代码审查和迭代开发中不断变化,保持准确的文档记录可能是一项繁琐的任务。VPasCode 将数据建模转变为以代码为先的范式:
- 无需安装: 它可直接在您的浏览器中原生运行,无需任何配置设置的障碍。
- 即时可视化: 将您的文本模式直接拖入界面,即可立即查看结构化的关联可视化路径。
- 灵活的输出标准: 在一个响应式仪表板上,轻松动态地使用 PlantUML 和 Mermaid 两种标准。

准备改变您的工作流程了吗?
停止手动绘制线条。今天就体验我们零摩擦的文本转图表工作区的强大功能!










