Data Modelling

Technology — James William Steven Parker

Data Modelling is the process of representing the structure, relationships, constraints, meanings and rules associated with data so that a system can store, manage and use that data consistently. A data model can describe entities, attributes, relationships, identifiers, cardinality, optionality, constraints and other semantics relevant to a particular domain. Modelling can occur at different levels of abstraction, most commonly described as conceptual, logical and physical. A conceptual model captures major business concepts and relationships without committing to detailed implementation choices.

A logical model refines those concepts into structures such as entities, attributes, keys and relationships while remaining relatively independent of a specific database engine. A physical model translates the logical design into concrete database objects, data types, indexes, partitions, constraints and storage decisions appropriate to a chosen platform. Data Modelling therefore connects business understanding with technical implementation.

Conceptual Data Modelling is concerned primarily with identifying what information a business or system needs to represent. An entity represents a distinguishable concept or object of interest, such as a customer, product or order, while attributes describe properties associated with those entities. Relationships express associations between entities, and cardinality describes how many instances can participate in a relationship.

A one-to-one relationship associates at most one instance on each side, a one-to-many relationship allows one instance to relate to multiple instances, and a many-to-many relationship allows multiple instances on both sides and usually requires an associative structure in a relational implementation. Entity-relationship diagrams are commonly used to communicate these concepts visually. The objective at this stage is to establish a shared understanding of the domain rather than prematurely selecting indexes, storage engines or implementation-specific optimisations.

Logical Data Modelling translates conceptual structures into a more formal representation of data. In a relational model, this commonly involves defining relations, attributes, candidate keys, primary keys, foreign keys and integrity constraints. Many-to-many relationships can be represented through associative relations, and optional relationships can be represented through nullable foreign keys or separate structures depending on the semantics. Logical modelling also provides an opportunity to identify functional dependencies and apply Database Normalisation where appropriate.

A strong logical model distinguishes entities that have independent identities from attributes that merely describe another entity. It also makes business rules explicit, such as whether an order must belong to exactly one customer, whether a product code must be unique, or whether a relationship is optional. These decisions affect both data integrity and the complexity of later application queries.

Physical Data Modelling addresses implementation details that depend on a particular database platform and workload. It can include concrete table names, column data types, index definitions, partitioning schemes, storage settings, generated columns, materialised structures and engine-specific constraints. Physical modelling must account for expected data volumes, transaction rates, query patterns, retention requirements and operational capabilities.

A logical model may state that an entity has a timestamp, whereas the physical model must choose an appropriate database data type, precision, timezone semantics and indexing strategy. Similarly, a logical relationship may become a foreign-key constraint in one platform but require a different enforcement mechanism in another. Physical design can also introduce deliberate denormalisation when measured workload requirements justify duplicated or precomputed information.

Data Modelling is not merely diagram creation. The important work involves deciding what each piece of data means, which facts are authoritative, what constitutes identity, which values are permitted, how relationships behave and which rules must be enforced. Ambiguous definitions can cause major downstream problems even when the resulting database schema appears technically valid.

For example, a field called status is insufficiently specified if different teams interpret its values differently or if the model does not define whether a status describes an order, payment, shipment or account. A data model should therefore capture semantics through precise names, definitions, constraints and relationship rules. Data dictionaries, business glossaries and metadata repositories can complement diagrams by documenting terminology, ownership and interpretation.

Data Modelling has important relationships with software architecture and analytics. Application domain models may influence database design, but an object-oriented class model is not automatically a relational data model because inheritance, identity, navigation and lifecycle semantics differ between paradigms. Analytical modelling often uses dimensional structures such as fact and dimension tables, optimised for reporting and aggregation rather than transactional update patterns. Star schemas, snowflake schemas and other analytical designs therefore have different priorities from highly normalised operational relational schemas. Data models can also underpin APIs, data warehouses, data lakes and integration systems. A well-defined model helps different systems agree on identifiers, field meanings, units, allowable values and relationships, reducing ambiguity when information crosses organisational or technical boundaries.

Good Data Modelling must account for change. Business requirements evolve, new entities appear, relationships change and data volumes increase. A model that works for a small application can become difficult to operate when historical requirements, internationalisation, multi-tenancy or regulatory retention are introduced. Designers should consider whether identifiers are stable, whether attributes can legitimately become optional, whether historical versions of facts need to be retained and whether changing reference data must be recorded as it was at a particular point in time.

Temporal modelling may distinguish current state from historical state, while event-oriented models may preserve changes as events rather than storing only the latest value. These choices affect querying, storage, migration and reporting, so they should be made deliberately rather than emerging accidentally from application code.

Data Modelling provides the conceptual foundation for Database Normalisation, Database Indexing, Database Partitioning and other database engineering techniques, but it is broader than any of them. Normalisation helps refine relational structures according to dependencies, indexing optimises access paths, partitioning organises large datasets and sharding distributes data across nodes. None of these mechanisms can compensate fully for a model that misunderstands the underlying domain.

Conversely, an excellent conceptual model still requires careful physical implementation to achieve required performance, availability and operational characteristics. Effective modelling therefore proceeds iteratively between domain semantics and technical constraints, validating the model against representative use cases, queries and business rules. Its central value is creating a precise, shared representation of what data exists, how it relates, what it means and which conditions must remain true as the system operates.