vust

Create a Database Schema with AI

To create a database schema with AI, paste a plain-English description of your data — entities, relationships, what must be unique — into @vustbot in Telegram and ask for CREATE TABLE statements with keys, constraints and indexes. The bot designs from your description only; it never connects to your database, so you review and apply the DDL yourself.

Schema design is a conversation, not a lookup: every "users have many orders" hides three decisions about deletes, nullability and history. A chat is the right shape for that — you get DDL, push back on a choice, and get revised DDL in the same thread.

Open @vustbot in TelegramPay per action · no signup beyond Telegram

What the AI does in this scenario

  • Plain-English domain description → normalized tables with PKs, FKs and constraints
  • Dialect-aware: ask for PostgreSQL, MySQL or SQLite and the types follow
  • Explains its trade-offs — why a junction table, why that column is NOT NULL
  • Iterate in-thread: "make emails unique per tenant, not globally" → revised DDL
  • Per-action pricing shown before each request

Worked example: create a database schema with ai

01Input — what you paste

App: course platform. Students enroll in courses; a course has many lessons; track per-lesson completion per student; a student can't enroll in the same course twice. PostgreSQL.

02Output — what comes back

CREATE TABLE students (id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY, email TEXT NOT NULL UNIQUE); CREATE TABLE courses (…); CREATE TABLE enrollments (student_id BIGINT REFERENCES students(id), course_id BIGINT REFERENCES courses(id), enrolled_at TIMESTAMPTZ NOT NULL DEFAULT now(), PRIMARY KEY (student_id, course_id)); CREATE TABLE lesson_completions (…, UNIQUE (student_id, lesson_id)); — plus a note explaining the composite PK enforces the no-double-enroll rule.

How to create a database schema with ai — step by step

  1. 1
    Describe the domain, not the tables

    Tell @vustbot what the app does and which rules must hold ("a student can't enroll twice") — let the model propose the tables. Naming rules as rules gets you constraints; naming tables gets you your own first draft back.

  2. 2
    Name the database and the scale

    "PostgreSQL, ~100k rows" produces different choices than "SQLite for a local tool" — identity strategy, index appetite, timestamp types. The dialect line costs five words and saves a rewrite.

  3. 3
    Challenge one decision, then apply it yourself

    Pick the choice you doubt — soft deletes? that junction table? — and ask why. When the answer convinces you, run the DDL against a scratch database first; the bot has no connection to yours and cannot verify it live.

AI vs doing it manually

A senior engineer who has built this exact domain before will out-design the model — they know which "requirement" evaporates in month two. AI wins the blank-page phase: it produces a defensible normalized draft in a minute, names the constraints you'd have forgotten until the first duplicate row, and answers "why" questions without ego. The practical split: generate the draft with AI, then spend your review on the two or three places where your domain is genuinely unusual — that's where generated schemas quietly default to textbook shapes.

The prompt to copy

Design a [POSTGRESQL/MYSQL/SQLITE] schema for [APP DESCRIPTION]. Entities: [LIST]. Rules that must hold: [E.G. NO DUPLICATE ENROLLMENTS, EMAILS UNIQUE PER TENANT]. Expected scale: [ROUGH ROW COUNTS]. Output CREATE TABLE statements with primary keys, foreign keys, NOT NULL and UNIQUE constraints, and suggested indexes — then briefly explain each non-obvious design choice.
FAQ

Frequently asked questions

Can the AI design a schema without seeing my existing database?

It has to — @vustbot never connects to your database, so everything comes from your description. For a new schema that's fine. For extending an existing one, paste the relevant current CREATE TABLE statements into the chat first, and the additions will reference the real columns instead of guessed ones.

Should uniqueness rules go in the prompt or can I add constraints later?

In the prompt. Rules stated up front ("one enrollment per student per course") become composite keys and UNIQUE constraints woven into the design; rules added later become patch migrations onto data that may already violate them. Business rules are the highest-value lines you can write in a schema brief.

What's the difference between this and an SQL query generator?

Scope: this page is about designing the tables themselves — entities, relationships, constraints. Writing individual queries against an existing schema is the narrower task, and there's a dedicated flat page for it at /sql-generator. Schema first, queries after.

Related in Developers

Try it on your real task

The welcome bonus covers a first run — send the prompt above with your own facts and judge the output yourself.

Open @vustbot