👤 3,239 total uses◯ Free: 5 uses/day • Resets in 18h 23m
开发 & 技术

数据库模式设计器

设计数据库模式,包括表定义、列类型、关系、索引和约束。支持关系型和NoSQL数据建模模式。

了解更多

Database Schema Designer 将你的应用需求转化为可用于生产环境的数据库架构。描述你的数据模型和关系,选择数据库引擎,即可获得完整的 DDL 脚本,包含表、列、数据类型、主键/外键、索引、约束和迁移文件。支持关系型(PostgreSQL、MySQL、SQLite)、文档型(MongoDB、DynamoDB)和键值型(Redis)数据库,并提供规范化、反规范化和星型架构设计。

0 / 5000

✓ 免费使用——无需注册,无需信用卡。

开发者

PostgreSQL 中的电商店铺数据库架构

后端开发者可获得一份规范化、可用于生产环境的 DDL 基线,从而直接着手构建 API,无需再为表结构争论不休。

查看输入和输出预览

输入

Requirements
E-commerce platform: users register and place multiple orders. Each order has line items linked to products. Products belong to one or more categories and support variants (size, color) with independent SKUs and stock. Users leave verified reviews with a 1-5 star rating and optional photos. Track inventory levels per variant and order status history.
Database Type
postgresql
Schema Style
normalized
Output Format
sql-ddl
Relationships
many-to-many

输出(节选)

CREATE TABLE users (id BIGSERIAL PRIMARY KEY, email CITEXT UNIQUE NOT NULL, created_at TIMESTAMPTZ DEFAULT now());
CREATE TABLE products (id BIGSERIAL PRIMARY KEY, name TEXT NOT NULL, base_price NUMERIC(10,2));
CREATE TABLE product_variants (id BIGSERIAL PRIMARY KEY, product_id BIGINT REFERENCES products(id), sku TEXT UNIQUE, size TEXT, color TEXT, stock INT DEFAULT 0);
CREATE TABLE product_categories (product_id BIGINT, category_id BIGINT, PRIMARY KEY (product_id, category_id)); -- junction table for many-to-many.
营销人员

新闻通讯分析数据仓库(星型架构)

营销分析师可获得一份便于查询的星型架构,支撑多维度切片的活动仪表盘,且无需缓慢的联表查询。

查看输入和输出预览

输入

Requirements
Marketing analytics warehouse for email campaigns. We need to report opens, clicks, unsubscribes, and conversions by campaign, subscriber segment, send date, and device. Fact table records each engagement event; dimensions cover campaign, subscriber, date, and channel for fast aggregation in BI dashboards.
Database Type
postgresql
Schema Style
star
Output Format
diagram
Relationships
simple

输出(节选)

fact_engagement (event_id, date_key FK, campaign_key FK, subscriber_key FK, channel_key FK, event_type, revenue)
  |-- dim_date (date_key, full_date, week, month, quarter, year)
  |-- dim_campaign (campaign_key, name, subject_line, send_type)
  |-- dim_subscriber (subscriber_key, segment, signup_source, country)
  |-- dim_channel (channel_key, device, client, os)
Grain: one row per subscriber engagement event. Optimized for GROUP BY rollups across any dimension.
自由职业者

SQLite 中的自由职业者开票应用

自行构建开票工具的单干自由职业者可获得一份零配置的 SQLite 迁移文件,可直接发布到桌面或 Electron 应用中。

查看输入和输出预览

输入

Requirements
Lightweight invoicing app for a solo freelancer. Track clients, projects per client, time entries logged against projects, and invoices that bundle billable time entries. Each invoice has a status (draft, sent, paid, overdue) and line items. Need simple one-to-many relationships and local storage on a laptop.
Database Type
sqlite
Schema Style
normalized
Output Format
migration
Relationships
simple

输出(节选)

-- 0001_init.sql
CREATE TABLE clients (id INTEGER PRIMARY KEY, name TEXT NOT NULL, email TEXT);
CREATE TABLE projects (id INTEGER PRIMARY KEY, client_id INTEGER REFERENCES clients(id), name TEXT, hourly_rate REAL);
CREATE TABLE time_entries (id INTEGER PRIMARY KEY, project_id INTEGER REFERENCES projects(id), minutes INTEGER, logged_on DATE, billed INTEGER DEFAULT 0);
CREATE TABLE invoices (id INTEGER PRIMARY KEY, client_id INTEGER REFERENCES clients(id), status TEXT DEFAULT 'draft', total REAL, issued_on DATE);

你的 数据库模式设计器 结果将显示在这里

你将得到带注释的整洁代码块,以及对改动内容的简短说明。

如何使用 数据库模式设计器

  1. 用通俗的语言描述您的数据模型——实体、属性以及它们之间的关系。
  2. 选择您的目标数据库引擎,以获取特定引擎的数据类型、语法和优化。
  3. 选择模式风格:事务型应用使用规范化,读密集型工作负载使用非规范化,分析使用星型模式。
  4. 选择输出格式:用于直接执行的 SQL DDL、用于版本控制的迁移脚本,或用于 NoSQL 的 JSON Schema。

使用案例

1

为具备多租户支持的 SaaS 应用设计关系模式

2

创建包含嵌入式文档和索引的 MongoDB 集合模式

3

为数据仓库或分析管道构建星型模式

4

为增量数据库演进生成迁移脚本

5

设计具有 GSI 访问模式的 DynamoDB 单表结构

最佳结果的技巧

  • 在需求中描述您的读写模式——这有助于生成器在规范化和非规范化设计之间做出选择。
  • 针对 PostgreSQL,生成器将在适当情况下使用 JSONB 列、部分索引和生成列等高级特性。
  • 如果您使用 Flyway、Liquibase、Alembic 或 Knex 等工具,请请求“迁移脚本”输出格式——输出将包含带版本号的迁移文件。
  • 在需求中加入预期数据量(例如“1000万用户,5亿订单”),以获得适当的索引和分区建议。

常见问题

它能为 NoSQL 数据库设计模式吗?

是的。对于 MongoDB,它会生成包含嵌入文档、数组字段和索引定义的集合模式;对于 DynamoDB,它会根据您的访问模式设计单表模式,包含分区/排序键策略和全局二级索引(GSI)。

它能处理多对多关系吗?

是的。将关系复杂度选择为“Many-to-many”或“Complex”。生成器会创建带有复合主键、外键约束以及关系所需的额外元数据列的关联/枢纽表。

规范化和非规范化有什么区别?

规范化(3NF)消除数据冗余,适用于数据完整性至关重要的事务型应用。非规范化会复制部分数据以避免 JOIN,适用于查询速度比存储效率更重要的读密集型应用。

我可以直接使用 SQL DDL 输出吗?

是的。生成的 SQL 为所选数据库引擎的有效可执行 DDL。请将其复制粘贴到数据库客户端、迁移工具或 CI/CD 流水线中。务必在预发布环境中审查后再在生产环境运行。

它包含索引吗?

是的。生成器根据可能的查询模式创建索引:外键列、常用过滤字段、唯一约束以及常见多列查询的复合索引。同时标注哪些索引是必需的,哪些是可选的。

它如何处理软删除?

在适当情况下,生成器会为 PostgreSQL 添加一个 deleted_at TIMESTAMPTZ 列,并创建一个部分索引(WHERE deleted_at IS NULL),确保软删除的行不会影响活动记录的查询性能。

属于这些工作流

本工具用于帮助你更高效完成任务的分步指南中

🔒
您的隐私受到保护

我们不存储您的文本。处理在实时进行,您的输入在生成结果后立即被丢弃。

解锁无限访问

免费用户:每天 5 次使用 | Pro 用户:无限制

⚖️ 对比此工具

并排查看此工具的表现:

数据库模式设计器 vs. 技术规格生成器 查看对比 →

✍️ 提示词库

即用型提示词 — 点击“使用”即可自动填入工具

编写一个 Python 函数,[describe what it does]。包含类型注解和文档字符串(docstring)。

解释这段代码并提出改进建议:[paste code]

为以下函数生成单元测试:[paste function]

编写一条 SQL 查询,从包含 [list columns] 列的表中 [describe what you need]。

为一个 [project type] 项目创建一份 README.md,包含安装、使用和贡献指南章节。

🔒

⚡ Pro 提示词

为一个 [platform type] 设计一套微服务系统架构,包含鉴权、数据和通知服务。请提供 API 契约和数据库结构。...
为一个部署到 [cloud provider] 的 [stack] 应用编写完整的 CI/CD 流水线配置。...
为一个 Node.js API 设计一个限流中间件,借助 Redis 支持每位用户每分钟 [X] 个请求。...
升级到 Pro →

相关工具

试用此智能体

SEO文章工厂代理关键词聚类 → 大纲 → 2000字文章 → 元数据包 → Schema JSON-LD → 内链 → 主图 — 单一输入,生成完整可发布的SEO文章。试用此智能体 →

相关工作流

创意简报 → 博客文章验证内容创意,生成大纲,然后扩展为一篇完整的 SEO 优化文章。运行工作流 →

阅读更多