Data model
A data model is a structured representation of data that defines its entities, attributes, relationships, and applicable constraints.
The Design of Web APIs, Second Edition
A data model is a structured description of the data accepted and returned by an API operation.
- How it is used
- Shapes REST resource data and operation inputs, outputs, and errors after capabilities receive HTTP representations.
- How deep it goes
- Explains model derivation, model variants, consumer-fit checks, embedding choices, and JSON Schema description, while deferring later optimization concerns.
- Examples
- Uses Product and Bank Account models, derived CRUD schemas, embedded owners, balances, transactions, and reusable OpenAPI schemas.
- What you can do after
- Build it from scratch by deriving consumer-ready operation schemas from complete resource models and describing them with JSON Schema in OpenAPI.
Read how The Design of Web APIs, Second Edition explains data model →
The Well-Grounded Data Analyst
A formal representation of the entities, attributes, relationships, and constraints in a data domain.
- How it is used
- Standardizes recurring business logic between raw data and analysis so downstream reporting and self-service use shared definitions.
- How deep it goes
- Works through cleaning, entity definitions, deduplication, reshaping, grain, schema, and completeness trade-offs rather than formal modeling theory.
- Examples
- Uses customer consolidation across three sources and football results represented in wide and long formats.
- What you can do after
- Build a reusable customer dataset by consolidating sources, selecting a grain, encoding definitions, and communicating uncertainty.
Read how The Well-Grounded Data Analyst explains data model →
Web Components in Action
A structured representation of the data and relationships an application manages.
- How it is used
- Organizes application state outside rendering components and coordinates shared data flow across Web Components.
- How deep it goes
- Defines models and demonstrates getters, mutations, persistence, derived values, and playback, without detailing storage or event-system internals.
- Examples
- Uses an exercise library, workout-plan object, localStorage-backed saved plans, and playback controls as concrete model examples.
- What you can do after
- Build it from scratch as a JavaScript module that centralizes application data, exposes operations, and coordinates component access.
Effective Data Analysis
A data model is a defined representation of data entities, attributes, relationships, and organization for a particular analytical or operational purpose.
- How it is used
- Organizes warehouse data around recurring analytical questions so users spend less time joining, filtering, and correcting sources.
- How deep it goes
- Explains collaborative model design and star-schema criteria, but does not provide a complete table-building procedure.
- Examples
- Uses transactions and page views as facts, plus weather joins, forecast history, and weekly dashboard aggregates.
- What you can do after
- Evaluate/understand whether an analytics model supports stakeholder questions with meaningful facts, useful attributes, agreed calculations, and manageable query work.
MongoDB 8.0 in Action, Third Edition
A data model is a representation of the data structures, fields, and relationships that an application stores and accesses.
- How it is used
- Organizes MongoDB documents around application access patterns to support efficient retrieval, scalability, and maintainability.
- How deep it goes
- Works through workload assessment, relationship mapping, pattern selection, indexes, and validation; defers index details.
- Examples
- Uses an airline route workload table and route and airport documents to illustrate subset and computed patterns.
- What you can do after
- Build it from scratch by recording a workload, mapping relationships, selecting patterns, and indexing important queries.
Read how MongoDB 8.0 in Action, Third Edition explains data model →
Python How-To
A data model is a structured representation of the entities, attributes, and relationships in an application domain.
- How it is used
- Represents application data and its related operations, with the representation chosen to serve specific features.
- How deep it goes
- Compares container trade-offs and develops feature-first class design, then uses UML to inspect classes that have grown too complex.
- Examples
- Uses tasks with titles, descriptions, urgency, and status, plus places with names and coordinates.
- What you can do after
- Build it from scratch by identifying required features, selecting suitable containers or classes, and revisiting the design as needs change.
Rust Servers, Services, and Apps
A data model is a structured specification of the data entities, fields, and relationships represented by a software system.
- How it is used
- Shapes course and tutor data as it moves through HTTP handlers, Rust structs, and PostgreSQL tables.
- How deep it goes
- Works through field definitions, JSON conversion, optional values, row mapping, and model refactoring rather than a general modeling method.
- Examples
- Uses a seeded course table, a `Course` struct, and separate registration-form, tutor-response, and user structs.
- What you can do after
- Build it from scratch: define operation-specific Rust structs and align them with HTTP payloads, PostgreSQL columns, and query results.
Read how Rust Servers, Services, and Apps explains data model →
Everyday Data Visualization
A data model is an organizational structure that specifies the kinds of data to store and how each data item is described.
- How it is used
- Aligns data gathering, metric requirements, and visualization design before dashboard decisions harden.
- How deep it goes
- Defines data models and compares tidy, aggregate, and tall table shapes without detailing implementation internals.
- Examples
- Uses fruit logs and hotel dashboard metrics to contrast observation-level, aggregate, and metric-requirement tables.
- What you can do after
- Apply it via Tableau, Power BI, Python, R, or d3 by choosing a structure suited to required aggregation and visuals.
Secure APIs
A data model is a structured representation of entities, attributes, relationships, and constraints, potentially including validation rules for accepted data.
- How it is used
- Uses schemas to constrain API input and output, prevent corruption, and keep untrusted data from reaching application state.
- How deep it goes
- Explains required and optional properties, enumerations, composition, validation errors, and separate input-output models through focused API examples.
- Examples
- Demonstrates character statuses, printed and electronic books, and payments with identifiers, amounts, currencies, and statuses.
- What you can do after
- Builds API schemas that validate values, separate representations, reject unsafe fields, and expose failures for diagnosis.
Pro Angular 16
A data model is a representation of the entities, properties, and relationships in an application's domain.
- How it is used
- Starts Angular application development by defining the domain data that components and templates use.
- How deep it goes
- Works through descriptive classes, an in-memory data source, and repository operations; defers RESTful service integration in the store example.
- Examples
- Uses a to-do item and list, then a product catalog with sample data and repository methods.
- What you can do after
- Build it from scratch using TypeScript classes, a sample data source, and product repository operations.
Pro ASP.NET Core 7, Tenth Edition
A data model is a structured representation of the real-world objects, processes, rules, and data that constitute an application's domain.
- How it is used
- Provides domain objects for ASP.NET Core features that accept user data, compose responses, and access stored records.
- How deep it goes
- Works from a single class through related entities, context properties, and schema migrations; leaves detailed ORM query behavior to further investigation.
- Examples
- Uses an RSVP response, a product catalog, shipped orders, and calculations to illustrate models of increasing scope.
- What you can do after
- Build it from scratch with C# model classes and an Entity Framework Core context, then evolve database-backed models with migrations.
Read how Pro ASP.NET Core 7, Tenth Edition explains data model →
ASP.NET Core in Action, 3e
A database model represents the application data stored in a database and the structure used to work with that data.
- How it is used
- Supports storing, querying, creating, and updating application data in ASP.NET Core applications.
- How deep it goes
- Explains entities, DbContext, providers, dependency injection, and migrations, but defers advanced EF Core customization.
- Examples
- Uses a recipe API with recipes, ingredients, RecipeService, migrations, and an Identity-enabled ApplicationUser.
- What you can do after
- Build a small EF Core data model, synchronize its database schema, and isolate data access in services.
First-Party Data Activation
A data model is a structured representation of entities, attributes, and relationships used to organize and work with data.
- How it is used
- Organizes first-party customer data for audience creation, segmentation, campaign analysis, and activation.
- How deep it goes
- Compares ER, dimensional, and data vault approaches and their trade-offs without providing a schema-building procedure.
- Examples
- Uses churn and recent-purchaser audiences, linked customer tables, and star-versus-snowflake schema trade-offs.
- What you can do after
- Evaluate/understand which modeling approach fits marketing queries and why initial use cases can precede a comprehensive model.
The Art of Code
A data model is a representation of the information, structure, relationships, and constraints that a software system manipulates.
- How it is used
- Guides code design by making domain data explicit before arranging behavior around it.
- How deep it goes
- Develops practical modeling and refactoring principles, but stops short of prescribing a rigid universal method.
- Examples
- Uses ambiguous user attributes, typed height and weight values, immutable carriers, and refactoring inspection prompts.
- What you can do after
- Apply it by replacing ambiguous structures with precise, proportionate data types and simpler behavior.
Automating API Delivery
A data model is a representation of the data entities, attributes, relationships, and constraints handled by a system or API.
- How it is used
- Aligns API designers and stakeholders on resources, relationships, terminology, and operations before API definitions are created.
- How deep it goes
- Defines conceptual entities and relationships, represents them with diagrams or tables, and stops short of implementation-level schemas.
- Examples
- Uses a Product Catalog API with products, reviews, categories, cardinalities, relationship diagrams, and an operations table.
- What you can do after
- Evaluate/understand API resource boundaries and relationships, then communicate them through diagrams, tables, and operation definitions.
Functional Design and Architecture: Examples in Haskell
A database model is a representation of how data is structured and related within a database's internal storage system.
- How it is used
- Separates storage representation from domain logic while supporting key–value and relational persistence.
- How deep it goes
- Defines database models, demonstrates serialization and conversion, and addresses database types and key design.
- Examples
- Uses meteor records, KVDBMeteor JSON rows, DBMeteor SQL fields, conversion functions, and primary-key lookup.
- What you can do after
- Apply it via explicit database entities and conversion functions that isolate persistence code from business logic.
Read how Functional Design and Architecture: Examples in Haskell explains data model →
Delivering Machine Learning Projects: From design to deployment
A data model is a formal representation of the entities, attributes, relationships, and constraints represented by data.
- How it is used
- Uses data-model understanding to establish ML readiness and reduce uncertainty before project delivery begins.
- How deep it goes
- Requires documentation and inspection of real data characteristics, but stops short of describing modeling or implementation internals.
- Examples
- Uses a short ML-readiness project, documented data-model work, extraction and inspection, and contingency estimates as practical artifacts.
- What you can do after
- Evaluate data readiness and plan an ML project with informed expectations, governance provisions, and explicit contingency.
Read how Delivering Machine Learning Projects: From design to deployment explains data model →
Data-Oriented Programming: Reduce software complexity
A data model is a structured representation of the data entities, fields, values, and relationships in a system.
- How it is used
- Separates data design from code while organizing entities, fields, values, and relationships for generic manipulation.
- How deep it goes
- Descends from entity diagrams to record structures, relationship representation, information paths, and runtime field changes.
- Examples
- Uses a Library Management System with Book–Author associations, identifier collections, positional collections, and indexed records.
- What you can do after
- Apply it via generic functions such as Lodash get, has, merge, values, filter, and map.
Read how Data-Oriented Programming: Reduce software complexity explains data model →
Essential TypeScript 5, Third Edition
A data model is a structured representation of an application's data and the operations that can be performed on it.
- How it is used
- Structures to-do items and product orders so application code can store data and perform operations on it.
- How deep it goes
- Builds typed entities and collection methods, then demonstrates a compiler error; defers fuller explanation of classes and JavaScript types.
- Examples
- Uses a to-do list with add and completion operations and a product order with quantities and calculated line totals.
- What you can do after
- Build it from scratch as typed TypeScript entities with operations, and recognize a mismatched method argument through compiler feedback.
Read how Essential TypeScript 5, Third Edition explains data model →
Microsoft Azure in Action
A data model is a conceptual or structural representation that defines how data and its relationships are organized.
- How it is used
- Guides the organization, distribution, and retrieval of large, changing datasets in Azure Cosmos DB.
- How deep it goes
- Explains schema flexibility, denormalization, and partitioning with trade-offs, while stopping short of detailed partition-key design.
- Examples
- Uses product documents containing supplier, availability, sizes, colors, ratings, and images to illustrate flexible and embedded data.
- What you can do after
- Apply it via Azure Cosmos DB by designing flexible documents, embedding related data, and selecting partitioning strategies for efficient access.
Graph Neural Networks in Action
A data model is a formal structure that specifies the entities, attributes, relationships, and constraints of a dataset or information system.
- How it is used
- Guides the transformation of domain data into graph structures that downstream analytical systems can query reliably.
- How deep it goes
- Explains a practical design, testing, and refactoring workflow, while deferring detailed implementation of individual graph storage structures.
- Examples
- Uses recruitment referrals, JSON representations, candidate datasets, graph datasets, and published semantic models as concrete artifacts.
- What you can do after
- Build it from scratch by defining, testing, and refactoring a graph model for a domain-specific analytical workflow.
Read how Graph Neural Networks in Action explains data model →
Digital Twins in Action
A data model is an abstract structure that defines how data entities, relationships, and constraints are represented and organized.
- How it is used
- Structures digital-twin entities and relationships so storage choices and later analysis can be planned.
- How deep it goes
- Explains the consequences of schema choices and inconsistent representations, but does not specify a complete schema.
- Examples
- Uses mismatched bank customer records and a Python fuzzy-matching listing to illustrate the problem of linking representations.
- What you can do after
- Evaluate/understand it by checking whether proposed entities, relationships, and granularity support the intended queries and analysis.
Build Python Web Apps with Streamlit
A data model is a structured representation of an application's entities, attributes, relationships, and storage organization.
- How it is used
- Designs an application's entities, relationships, attributes, and relational database schema before implementing CRUD operations.
- How deep it goes
- Explains ER diagrams and table conversion, including primary and foreign keys, without detailing more complex real-world models.
- Examples
- Uses users and haikus with usernames, haiku text, authors, numeric IDs, creation times, and a foreign-key relationship.
- What you can do after
- Apply data modeling to design tables and relationships for CRUD applications using relational databases such as PostgreSQL.
Read how Build Python Web Apps with Streamlit explains data model →
Related concepts
- schemaproduces · A data schema is a formal specification of the structure, fields, types, relationships, and constraints of data.
- MVC modelhas part · An MVC model is the application component that represents application data and associated domain logic, making relevant state and behavior available to other components such as views.
- Pydanticused by · Pydantic is a Python library for defining typed data models and schemas, validating and parsing data against them, and serializing validated values.
- Model–view–controllerpart of · Model–view–controller is an architectural pattern that separates application data and behavior, presentation, and interaction handling into model, view, and controller responsibilities.
- datasetkind of · A dataset is an organized collection of related data items, records, or observations treated as a unit for storage, processing, analysis, or computation.
- repository patternhas part · The repository pattern is a software design pattern that abstracts access to and persistence of application or domain data, hiding storage-specific operations.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.






















