💙 Supporting healthcare non-profits: Metadataloop is free for 6–12 months. Contact Us to get started.
Schema Intelligence

Schema Insights

Upload a SQL DDL file, or use your active database, to instantly extract metadata insights — tables, keys, relationships, and more.

📂
SQL DDL File
Insights Output No file analyzed yet
Upload a SQL file and click Analyze to see schema insights here.

Get structural insights, not just a diagram

Schema Insights goes beyond visualization — it statically analyzes your CREATE TABLE DDL (or your live active database) and surfaces the structural issues that are easy to miss by eye: missing primary keys, orphaned tables, circular foreign keys, and naming inconsistencies.

What gets analyzed

  • Core stats: total tables, columns, primary keys, and foreign keys.
  • Naming issues: tables that don't follow snake_case convention.
  • Missing primary keys: tables with no PRIMARY KEY defined.
  • Orphaned tables: tables with zero foreign key relationships in either direction.
  • Circular foreign keys: FK cycles (A → B → C → A) that can break delete/insert ordering.
  • Redundant columns: the same column name repeated across 3 or more tables, a common normalization smell.
  • Normalization tips: an estimated normalization level with concrete suggestions to improve it.

Common use cases

Pre-migration schema audit

Catch missing PKs and circular FKs before they break a migration script.

Code review for new DDL

Paste a teammate's new CREATE TABLE statements and sanity-check naming and keys.

Legacy database cleanup

Find orphaned and redundant tables accumulated over years of ad-hoc changes.

Normalization review

Get a normalization-level estimate and actionable tips for an existing schema.

FAQ

What does "orphaned table" mean? A table with no foreign key relationship to or from any other table. Often an intentional lookup or staging table, but worth verifying it isn't a missed relationship.

What is a circular foreign key? A cycle where Table A references Table B, B references Table C, and C references back to A. These can complicate migrations, deletes, and insert ordering.

Does it check naming conventions? Yes — it flags tables that don't follow snake_case naming so you can standardize before shipping.

Can I run this against my live database? Yes — switch to "Use Active Database" if you're logged in and have a saved database connection active.

⚠ Confirm Delete