A data model or schema
A data model is a structured description of what data a system holds, what each piece means, and how the pieces relate. It is the shared agreement that lets storage, code, and people talk about the same entities without contradicting each other, and it sits one level above the physical tables that actually persist the data.
The relational data model came first and reshaped everything after it. E.F. Codd's A Relational Model of Data for Large Shared Data Banks (Communications of the ACM, 1970) proposed describing data as relations, sets of tuples, governed by a formal algebra, and separated cleanly from how the bytes were stored. The decoupling of logical structure from physical layout was the breakthrough, and it won Codd the 1981 Turing Award.
Peter Chen built the bridge to design six years later. His The Entity-Relationship Model: Toward a Unified View of Data (ACM Transactions on Database Systems, 1976) introduced entities, attributes, and relationships as a diagrammable layer that humans could reason about before committing to tables. The ER model became the lingua franca of database design, and the distinction it drew, conceptual versus logical versus physical, still organises the field.
The model widened as storage diversified. Document, key-value, graph, and columnar stores each carry their own modelling assumptionsAssumptionStrategyA belief taken as true that underpins a strategyView reference →, and domain-driven design reframed the question again: a data model should express the meaning of a business domain, not just its storage shape. The persistent tension is between a model that mirrors the domain and one that performs well on the chosen engine.
A logistics startup models its domain before writing a migration. Shipments, parcels, addresses, and carriers become entities; a shipment has many parcels, a parcel has one current location, a carrier serves many routes. The model names cardinality and ownership: a parcel cannot exist without a shipment, an address can be shared.
This conceptual model then projects onto a Postgres schema, with foreign keys, indexes, and a denormalised read table for the tracking page. When the team later adds international customs data, they extend the model first and the schema second. The model is the contract; the schema is one realisation of it. Because the meaning lived in the model, the migration is a deliberate change rather than an archaeological dig through column names.
In the Unified Product Graph, Data ModelData & AnalyticsA data model or schema is a leaf in the Engineering and Platform region, anchored by the data_modelServiceEngineeringA deployable service or microserviceView reference →, and its home domain is servicedata_analytics. The hierarchy edges Bounded Contextpersisted inData Modelhierarchy and bounded_context_persisted_in_data_modelData Domainmodelled inData Modelhierarchy place it under the conceptual boundaries that own it, while data_domain_modelled_in_data_modelData Modelpersisted inDatabase Schemacross-domain carries it down to the concrete store. That ordering encodes the field's central distinction: the model holds meaning, the schema holds bytes, and the edge between them records exactly how one becomes the other.data_model_persisted_in_database_schema
Type-specific fields on BaseNode
schema_namestringName of the schema this model belongs to
database_namestringName of the database containing this model
table_countnumberNumber of tables in the model
column_countnumberTotal number of columns across all tables
test_countnumberNumber of data tests defined for this model
model_typestringDatabase paradigm used
materializationstringHow the model is materialised in the warehouse
metaobjectArbitrary metadata key-value pairs
tagsstring[]Free-form categorisation tags
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
4 phases — initial: draft · template: PUBLISHING
3 edge types connected to this entity.
bounded_context_persisted_in_data_modeldata_domain_modelled_in_data_modeldata_model_persisted_in_database_schema