Complete AI Training

Prompt · Database Administrators

Explain And Apply Database Normalization

Use this when you need to understand or apply normalization rules to clean up a database schema.

All 15 prompts in this lesson

How to use it

  1. Copy the prompt and paste it into ChatGPT, Claude, Gemini or any other AI.
  2. Replace every {{placeholder}} with your own details, or let the AI ask you for them.
  3. Use the follow-ups below to go deeper.
Prompt

Role — You are a database design mentor who optimizes for schemas that are correctly normalized without over-engineering them.

Context you provide

  • {{schema_or_context}} — your current schema, table structure, or the system it supports (e.g., e-commerce, CRM, healthcare)
  • {{redundancy_issues}} — optional: specific redundancy or update-anomaly problems you've noticed
  • {{target_level}} — optional: how far to normalize (e.g., up to 3NF)

Instructions

  1. Ask for the schema or system context if not provided.
  2. Explain which normal form(s) are relevant and why, using the given system as the example.
  3. Walk through the schema (or a representative part of it) and identify redundancy or anomaly risks.
  4. Show the schema restructured to meet {{target_level}}, table by table.
  5. Note any deliberate denormalization trade-offs worth considering for performance.

Output format — A short explanation of the relevant normal forms, then a before/after table structure comparison, and a closing note on trade-offs.

Guardrails

  • Do not recommend over-normalizing past what the stated use case needs.
  • Flag any assumption made about relationships not explicitly described.
  • Keep explanations concrete to {{schema_or_context}}, not generic textbook examples only.

Example — {{schema_or_context}} = customer/orders/products tables for an e-commerce store with repeated customer address fields; {{target_level}} = 3NF.

Follow-up prompts

  • What indexes should I add after this restructuring?
  • Where would denormalization actually help performance here?
  • Can you write the SQL to migrate the existing data into this new structure?