Skip to main content

Tables & Fields

Tables are the core building blocks of your schema. Each table contains fields (columns) with types and constraints.

Creating tables

Via AI chat:

"Create a products table with id, name, description, price, and created_at fields"

Via UI: Click the + button in the schema panel to add a new table manually.

Field types

TalkingSchema supports standard SQL field types:

CategoryTypes
TextVARCHAR, TEXT, CHAR
NumbersINTEGER, BIGINT, DECIMAL, FLOAT, BOOLEAN
Date/TimeTIMESTAMP, DATE, TIME
BinaryBYTEA, BLOB
JSONJSON, JSONB
CustomEnum types you define

Field constraints

Each field can have one or more constraints:

ConstraintDescription
Primary KeyUniquely identifies each row
NOT NULLField must have a value
UNIQUENo two rows can have the same value
DefaultValue used when none is provided
Auto-incrementAutomatically increments (for integer PKs)

Setting constraints via chat

"Make the email field on users UNIQUE and NOT NULL" "Add a default value of now() to the created_at field" "Make the id field auto-increment"

Editing tables manually

Click any table node in the ERD to open the table editor:

  • Rename the table
  • Add/remove/reorder fields
  • Change field types and constraints
  • Drag fields to reorder them

Naming conventions

TalkingSchema follows SQL best practices:

  • snake_case for table and field names
  • Plural table names (users, not user)
  • id as the primary key name
  • {table}_id for foreign keys (e.g., user_id, organization_id)
  • created_at / updated_at for timestamps

Schema Changes Banner

Any time the AI modifies tables, a Schema Changes Banner appears at the top of the ERD panel. Click:

  • "Keep all" — accept all changes
  • "Undo all" — revert to the previous state