0Pricing
Vibe Coding · Lesson

Modeling Tables with AI

Design a schema in plain language.

Modeling Tables with AI is a free Vibe Coding lesson on CoddyKit — lesson 3 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Vibe Coding learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.

Tables Are Just Lists

A table is a named list of similar things. A "users" table holds users; a "posts" table holds posts.

Each table has columns that define what facts you store, and each row is one item. Modeling means deciding which tables and columns your app needs.

Columns Have Types

Every column has a type: text, number, boolean, date, and so on. Types keep your data clean. An age column should be a number, not free text.

When you describe a table to your AI, it will suggest sensible types, but you can review and correct them.

I need a table for blog posts with a title, body text, a published flag, and a created date.
Suggest the columns and the right data type for each.

The Primary Key

Every row needs a unique label so you can find it again. That's the primary key, usually an auto-incrementing id or a generated UUID.

Without it, two identical rows are impossible to tell apart. Your AI will normally add an id column automatically.

Describing a Table in Words

You don't have to write schema syntax yourself. Describe the table plainly and let the AI translate it.

Be specific about each field's meaning, and the generated schema will match your intent closely.

Create a "customers" table with: a unique id, full name, email that must be unique, a phone number that's optional, and a signup timestamp.

Connecting Tables

Real apps have related data: a user has many orders. We connect them with a foreign key, a column in one table that points to a row's id in another.

Describing the relationship in plain words lets the AI add the correct keys for you.

I have a "users" table and an "orders" table.
Each order belongs to one user. Add the foreign key so orders link back to the right user.

One-to-Many vs. Many-to-Many

A user having many orders is one-to-many. But a student taking many courses, where each course has many students, is many-to-many and needs a joining table.

Naming the relationship type, or just describing it, helps the AI build the right structure.

Students can enroll in many courses, and each course has many students.
Design the tables to model this many-to-many relationship correctly.

Required vs. Optional

Some fields must always be filled, like an email for an account. Others can be blank, like a middle name. We mark these as not null or nullable.

Spelling out which fields are required prevents broken records later, so include that detail in your prompt.

Avoid Repeating Yourself

If you find the same value copied across many rows, like a category name typed out every time, that's a sign to split it into its own table.

This is called normalization. Ask the AI to review your design and flag repeated data.

Review this schema and point out any repeated data that should be moved into its own table.
Suggest a cleaner, normalized design.

Letting AI Draw the Map

Once you have a few tables, it helps to see how they connect. Ask the AI to describe the relationships as a simple diagram in text.

This catches missing links or wrong directions before you write any save-and-read code.

Summarize my schema as a text diagram showing each table and how they relate.
Call out any table that has no connection to the others.

Migrations: Changing Tables Safely

Your schema will change as the app grows. A migration is a recorded change to the database structure, like adding a column.

Ask the AI to generate migrations rather than editing tables by hand, so every change is tracked and reversible.

I need to add an "is_archived" boolean column to the posts table, defaulting to false.
Generate a migration for this change.

Review Before You Build

The schema is the foundation; fixing it later is harder than fixing it now. Always read the AI's proposed tables before approving.

Check the names, types, keys, and relationships. A few minutes of review saves hours of cleanup.

Quick Check

Test your understanding of modeling tables with AI.

Recap

Tables are lists with typed columns, each row identified by a primary key. Foreign keys connect tables, and you choose between one-to-many and many-to-many relationships.

Describe tables in plain words, mark required fields, normalize repeated data, and use migrations for changes. Always review the AI's schema before building. Next, you'll save and read records.

Frequently asked questions

Is the “Modeling Tables with AI” lesson free?

Yes — the full text of “Modeling Tables with AI” is free to read here on the web, and the Vibe Coding course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Vibe Coding course, upgrade to CoddyKit PRO.

What will I learn in “Modeling Tables with AI”?

Design a schema in plain language. You practise Vibe Coding with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.

Do I need any experience to start Vibe Coding?

No prior experience is required. Vibe Coding on CoddyKit is structured for beginners through advanced learners; this is — lesson 3 of 4, so you can start here or from the beginning and move at your own pace.

How long does the “Modeling Tables with AI” lesson take?

Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.

Can I write and run code in this Vibe Coding lesson?

Yes. Every Vibe Coding lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.

All lessons in this course

  1. Why Apps Need Data
  2. Choosing a Database by Prompt
  3. Modeling Tables with AI
  4. Saving and Reading Records
← Back to Vibe Coding