A 200-table schema does not fit usefully in a prompt, even when it fits in the context window. The design that works is a two-stage one — a cheap call that picks the tables, a second call that sees only those tables in full — and a read-only guarantee that lives in the database rather than in the prompt.

The arithmetic that forces the design

Start by counting rather than guessing. Take a schema of 200 tables averaging 15 columns, which is 3,000 columns in total.

Compact form: orders(id:bigint, customer_id:bigint, placed_at:timestamptz, ...)

per column name ~2 tokens + ":" + type ~2 tokens + ", " ~= 5 tokens