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
productstable 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:
| Category | Types |
|---|---|
| Text | VARCHAR, TEXT, CHAR |
| Numbers | INTEGER, BIGINT, DECIMAL, FLOAT, BOOLEAN |
| Date/Time | TIMESTAMP, DATE, TIME |
| Binary | BYTEA, BLOB |
| JSON | JSON, JSONB |
| Custom | Enum types you define |
Field constraints
Each field can have one or more constraints:
| Constraint | Description |
|---|---|
| Primary Key | Uniquely identifies each row |
| NOT NULL | Field must have a value |
| UNIQUE | No two rows can have the same value |
| Default | Value used when none is provided |
| Auto-increment | Automatically 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}_idfor 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