Data Modeling Glossary
This glossary defines the core terms used in database design, data warehouse architecture, and dimensional modeling. It is intended as a practical reference — every term is explained in the context of how it appears in real schema design work, with emphasis on the concepts that matter most when designing with TalkingSchema.
The glossary is organized into three sections: foundational database design terms, data warehouse and dimensional modeling terms, and tools and formats. Each term links to a dedicated page with a full definition, examples, and guidance on applying the concept in TalkingSchema.
Core Database Design Terms
These terms apply to all relational database design, whether you are building an OLTP application schema or an analytical data warehouse.
| Term | Short Definition |
|---|---|
| Primary Key | A column or column combination that uniquely identifies each row in a table |
| Foreign Key | A column that references the primary key of another table, enforcing referential integrity |
| Surrogate Key | A system-generated key (UUID or integer) used in place of a natural key |
| Natural Key | A key derived from real-world data (e.g., email address, product SKU) |
| Normalization | The process of organizing a schema to reduce redundancy and improve integrity |
| Denormalization | Intentionally introducing redundancy for query performance at the cost of update anomalies |
| Database index | A database structure that speeds up row retrieval on specified columns |
| Entity Relationship Diagram (ERD) | A visual representation of database tables and their relationships |
| DBML | Database Markup Language — a human-readable schema definition format |
| Cardinality | The nature of the relationship between two tables: one-to-one, one-to-many, or many-to-many |
| Referential Integrity | A constraint ensuring that a foreign key value always references a valid primary key |
Data Warehouse Terms
These terms are specific to analytical database design — OLAP schemas, dimensional modeling, and data warehousing.
| Term | Short Definition |
|---|---|
| Star Schema | A warehouse schema with a central fact table surrounded by dimension tables |
| Snowflake Schema | A star schema variant where dimension tables are normalized into sub-dimensions |
| Fact Table | A table that stores measurable business events (e.g., orders, page views, transactions) |
| Dimension Table | A table that stores descriptive attributes about the entities in a fact table |
| Grain | What one row in a fact table represents — the most critical decision in dimensional modeling |
| Slowly Changing Dimension (SCD) | A dimension whose attributes change over time; different SCD types handle this differently |
| Conformed Dimension | A dimension shared and reused consistently across multiple fact tables and business processes |
| Degenerate Dimension | A dimension value stored directly in the fact table (e.g., order number, invoice number) |
| Junk Dimension | A single dimension that consolidates miscellaneous low-cardinality flags and indicators |
| Role-Playing Dimension | A single dimension table used multiple times in a fact table with different semantic roles |
| Accumulating Snapshot Fact Table | A fact table that tracks a business process as it progresses through multiple stages |
| Periodic Snapshot Fact Table | A fact table that captures a consistent measurement at regular time intervals |
| Dimensional Modeling | The Kimball methodology for designing analytical schemas using facts and dimensions |
| Data Vault 2.0 | A scalable, auditable warehouse modeling methodology using hubs, satellites, and links |
| One Big Table (OBT) | A denormalized analytical table that flattens all attributes into a single wide table |
Tools and Formats
| Term | Short Definition |
|---|---|
| DBML | Database Markup Language — a human-readable text format for defining database schemas |
| Prisma Schema | A declarative schema format for the Prisma ORM (Node.js/TypeScript) |
| Drizzle ORM | A TypeScript-first ORM with a SQL-like schema definition API |
| dbt (data build tool) | A transformation framework for analytics engineering using SQL SELECT models |
| SQL DDL | Data Definition Language — SQL statements for creating and modifying database structures |
| OpenAPI | A specification format for describing REST APIs; TalkingSchema can generate it from a schema |
| GraphQL SDL | Schema Definition Language for describing GraphQL types from a database schema |
About This Glossary
Terms marked with a dedicated page link to a full explanation including examples, common mistakes, and how to apply the concept in TalkingSchema. Terms that link to existing documentation pages in the TalkingSchema docs are covered in full detail in those pages.
If you are looking for a term that is not listed here, use the search bar at the top of the page. You can also ask TalkingSchema's AI copilot to explain any data modeling concept directly in the chat interface.
Suggest a term: If there is a term you think should be in this glossary, contact us at support@talkingschema.com.