PlaybookPrompts

Generate a plain-English data dictionary from a table schema

Data & Analysis documentationsqldata-governanceonboarding

Undocumented tables slow down every analyst who touches them. This prompt turns a raw schema dump into a readable data dictionary that teams can paste into a wiki or Notion page immediately.

Prompt
I want to create a data dictionary for a database table so that analysts unfamiliar with it can use it independently. Here is the context:

- Table name: {{TABLE_NAME}}
- Schema / column list (paste DDL, column names + types, or a header row): {{SCHEMA_INPUT}}
- Business domain this table lives in: {{BUSINESS_DOMAIN}}
- Any column names or codes whose meaning I already know: {{KNOWN_DEFINITIONS}}

Please do the following:

1. Produce a table with these columns: Column Name | Data Type | Plain-English Description | Example Values | Common Pitfalls.
2. For any column whose name is ambiguous or abbreviated, write two plausible interpretations and mark them clearly so I can confirm the correct one.
3. Identify columns that are likely foreign keys or join candidates based on naming conventions (e.g., suffixes like _id, _key) and note what table they probably link to.
4. Flag any columns where nullability or data type suggests a data-quality risk (e.g., a revenue column stored as VARCHAR).
5. Write a 2-sentence table-level summary I can paste at the top of the dictionary that describes what this table represents and its typical grain (one row per what?).

Note: if the schema is very large (50+ columns), focus the pitfalls column on the 10 highest-risk columns and note which ones you skipped.
Variables to fill in
  • {{TABLE_NAME}}
  • {{SCHEMA_INPUT}}
  • {{BUSINESS_DOMAIN}}
  • {{KNOWN_DEFINITIONS}}

How to use this prompt

  1. Copy the prompt above (Copy button on the top-right).
  2. Replace each {{VAR}} with your own value. Variables: {{TABLE_NAME}}{{SCHEMA_INPUT}}{{BUSINESS_DOMAIN}}{{KNOWN_DEFINITIONS}}.
  3. Paste it into one of the recommended tools below.
  4. Iterate: tighten constraints in the prompt if the output is generic.

Why this prompt is structured this way

The prompt is split into explicit steps because LLMs do better when the path is named, not implied. Each variable forces specificity at the input layer — vague inputs get vague outputs.

Heads up: some of the links on this page are affiliate links — meaning we may earn a commission if you sign up after clicking, at no extra cost to you. We only recommend tools we'd put on our own stack. You can see our full affiliate disclosure here.

Pair this prompt with a tool

The PlaybookPrompts weekly

One short email per week. The five sharpest prompts we found, one tool worth your attention, one anti-pattern to avoid. Unsubscribe in one click.

Newsletter signup is not configured. Set PUBLIC_NEWSLETTER_USERNAME in the build env.