Skip to main content

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.

TermShort Definition
Primary KeyA column or column combination that uniquely identifies each row in a table
Foreign KeyA column that references the primary key of another table, enforcing referential integrity
Surrogate KeyA system-generated key (UUID or integer) used in place of a natural key
Natural KeyA key derived from real-world data (e.g., email address, product SKU)
NormalizationThe process of organizing a schema to reduce redundancy and improve integrity
DenormalizationIntentionally introducing redundancy for query performance at the cost of update anomalies
Database indexA database structure that speeds up row retrieval on specified columns
Entity Relationship Diagram (ERD)A visual representation of database tables and their relationships
DBMLDatabase Markup Language — a human-readable schema definition format
CardinalityThe nature of the relationship between two tables: one-to-one, one-to-many, or many-to-many
Referential IntegrityA 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.

TermShort Definition
Star SchemaA warehouse schema with a central fact table surrounded by dimension tables
Snowflake SchemaA star schema variant where dimension tables are normalized into sub-dimensions
Fact TableA table that stores measurable business events (e.g., orders, page views, transactions)
Dimension TableA table that stores descriptive attributes about the entities in a fact table
GrainWhat 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 DimensionA dimension shared and reused consistently across multiple fact tables and business processes
Degenerate DimensionA dimension value stored directly in the fact table (e.g., order number, invoice number)
Junk DimensionA single dimension that consolidates miscellaneous low-cardinality flags and indicators
Role-Playing DimensionA single dimension table used multiple times in a fact table with different semantic roles
Accumulating Snapshot Fact TableA fact table that tracks a business process as it progresses through multiple stages
Periodic Snapshot Fact TableA fact table that captures a consistent measurement at regular time intervals
Dimensional ModelingThe Kimball methodology for designing analytical schemas using facts and dimensions
Data Vault 2.0A 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

TermShort Definition
DBMLDatabase Markup Language — a human-readable text format for defining database schemas
Prisma SchemaA declarative schema format for the Prisma ORM (Node.js/TypeScript)
Drizzle ORMA 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 DDLData Definition Language — SQL statements for creating and modifying database structures
OpenAPIA specification format for describing REST APIs; TalkingSchema can generate it from a schema
GraphQL SDLSchema 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.