Platform

Data Modeling

Design data models together in the cloud and share them with your team in different formats, based on your subscription plan, without any coding or conversion.

SqlDBM AI Copilot

Use natural language for data modeling tasks

Model Governance

Create and manage business metadata using a dedicated project role

Snowflake Schema Monitoring

Track and get notified of schema changes in live database environments

Strategic advisors

kent graziano

Kent Graziano

The Data Warrior, Strategic Advisor, Data Vault Master, Author, Speaker, and Tae Kwon Do Grandmaster

gordon wong

Gordon Wong

Leading organizations through analytics transformations, preference for social missions, healthcare, energy, education, and civic engagement

For cloud data platforms

SqlDBM offers secure native connectors to leading data platforms like Snowflake, Databricks, and BigQuery so you can reverse engineer and begin modeling in seconds.

Try modeling now

John Giles’ Data Model Patterns — Now Available in SqlDBM

At SqlDBM, we believe the best data modeling starts with understanding the business — not reinventing the wheel. That’s why we’re excited to announce that we’ve partnered with John Giles to bring his proven Data Model Patterns into SqlDBM, giving our users a powerful head start on their modeling projects.

Who Is John Giles?

John Giles is an Australian data modeling expert with decades of hands-on experience helping organizations get their data architecture right. He is the author of several acclaimed books, including The Nimble Elephant (on Agile data modeling), The Elephant in the Fridge (on Data Vault modeling), and The Data Elephant in the Board Room — a practical guide to building business-centered data models that deliver real value.

John’s core philosophy is simple: data modeling should be driven by the business, and modelers shouldn’t waste time solving problems that have already been solved. In The Data Elephant in the Board Room, John presents a collection of reusable data model patterns covering universal business concepts — from Parties and Products to Events and Agreements. These patterns serve as a proven foundation that can be adapted to virtually any organization or industry.

The idea behind these patterns is to help you quickly establish a “Data Town Plan”—a high-level map of the business concepts your organization manages and how they relate to one another. Instead of starting from a blank canvas every time, you begin with structures that have been refined across hundreds of real-world implementations. From there, you can make informed decisions about where to invest deeper modeling effort and how to derive your detailed logical and physical designs.

Patterns Matter – Stop Reinventing the Wheel

Every organization deals with people, products, agreements, events, and accounts in some form. Yet modeling teams routinely spend weeks building these foundational structures from scratch—often repeating design mistakes that others have already solved.

John’s patterns change that equation. They give you a battle-tested starting point that captures the essential relationships and attributes for each business domain. You can adopt them as-is for rapid prototyping, extend them to match your specific business rules, or use them as a reference to validate your existing designs. Either way, they accelerate your time-to-value and reduce the risk of structural missteps that become costly to fix later.

With these patterns now available directly in SqlDBM, your team can import a proven foundation and begin customizing it in minutes rather than days.

The Data Model Patterns

Below is the complete set of John Giles’ Data Model Patterns as they appear in SqlDBM. Each pattern addresses a fundamental business domain that you’ll encounter across virtually every industry.

Party

The Party pattern is arguably the most universally applicable model in any enterprise. It provides a unified structure for managing information about people and organizations — essentially, anyone your business interacts with. The pattern treats persons and organizations as entries in a sophisticated address book, supporting party types, identifiers, and the critical distinction between person and organization names.

What makes this pattern especially powerful is its extensibility. The foundation supports recording inter-relationships between parties—employment relationships between a person and an organization, ownership hierarchies between holding companies and subsidiaries, parent-child relationships between individuals, and any other party-to-party connection your business needs to track. If your organization interacts with customers, employees, vendors, regulators, or any combination of stakeholders, this pattern provides a robust starting point.

Address

The Address pattern addresses the complex challenge of managing contact information across multiple channels and formats. Rather than treating addresses as simple text fields bolted onto a person record, this pattern models addresses as first-class entities with their own lifecycle.

The pattern distinguishes among physical addresses, postal addresses, email addresses, and phone numbers—each with its own attributes—while unifying them under a common Address entity. It introduces the concept of an Address Service, which links a Party to an Address with a specific usage type (billing, shipping, home, work) and effective dates. This means you can track when a customer changed their mailing address, maintain multiple active addresses for different purposes, and support the full range of address service types your business requires.

Agreement

The Agreement pattern captures the formal and informal contracts that govern business relationships. Every organization operates through agreements—employment contracts, service-level agreements, purchase orders, leases, and partnerships —and the challenge is modeling them in a way that’s both flexible and consistent.

This pattern provides a type-driven structure in which the Agreement entity connects to an Agreement Type hierarchy, allowing you to classify agreements at the level of granularity your business requires. It supports agreement items (the individual line items or terms within an agreement), participation records that track which parties are involved and in what capacity, and agreement-to-agreement relationships that capture dependencies between contracts. The subtype examples shown (such as Employment Contract) are illustrative only —each organization will define its own agreement taxonomy based on its specific needs.

Account

The Account pattern addresses the management of financial accounts and their transactions. This domain appears not only in banking and finance but in any organization that tracks financial activity, from customer billing systems to internal cost centers.

The pattern separates the Account (with its type hierarchy and balance tracking) from the Accounting Transaction (with its line items and entries). It includes Account Participation, linking accounts to the parties that own or manage them, and the Accounting Entry structure that supports proper double-entry allocation across accounts. The pattern also accommodates account hierarchies through self-referencing relationships, enabling you to model parent-child account structures, chart of accounts rollups, and consolidated reporting views.

Product

Products are easy to describe in conversation, but often surprisingly difficult to model well. The Product pattern provides an elegant solution that separates the “category” of product (Product Type) from the “instance” of product (Product Item), which represents either a physical item or a specific instance of a service.

This distinction is critical because it allows you to define a product catalog with pricing, descriptions, and effective dates at the type level, while tracking individual serial numbers, inventory items, or service deliveries at the item level. The pattern further decomposes products into goods components and services components, supports product bundles through a subproduct composition structure, and cleanly handles the goods-vs-services distinction that trips up many modeling efforts. Whether you’re modeling a retail catalog, an insurance product suite, or a SaaS subscription portfolio, this pattern gives you the structural foundation to get it right.

Event

The Event pattern models noteworthy occurrences—events that someone deemed important enough to record. In John’s words, an event is fundamentally an occurrence that someone decided was worth tracking.

The pattern supports hierarchical classification of event types, event-to-event relationships (capturing causal chains, escalations, or sequences of related events), and subtypes for domain-specific event categories, such as Observation Events, Safety Incidents, and Communication Events. The effective period tracking uses timestamps rather than dates, accommodating events that need to be recorded with precision. This pattern is invaluable for audit trails, incident management, compliance tracking, customer interaction histories, and any domain where understanding what happened and when is central to the business.

Task

The Task pattern represents actual or planned work and is the backbone of project and workflow management systems. What makes John’s approach particularly insightful is the clear differentiation between Template Tasks and Specific Tasks.

Template Tasks represent standard workflow specifications — the reusable process definitions that describe how work should be done. Specific Tasks are the actual work to be completed, cloned from templates and assigned to specific parties and resources. The pattern includes comprehensive scheduling support (planned early/late start and finish, actual start and finish), task dependencies with predecessor/successor relationships and lag times, calendar integration for work scheduling, recurrence specifications, and the ability to link tasks to triggering events. The object-to-task assignment structure supports assigning both individual parties and party role types, making it suitable for both named resource allocation and role-based staffing models.

Document

The Document pattern manages the lifecycle and relationships of both hard-copy and electronic documents, affecting every organization, regardless of industry.

The pattern models documents with type and format classifications, supports document-to-document relationships (versions, translations, supplements, amendments), and cleanly separates physical documents from electronic documents through a subtype hierarchy. Electronic documents are further classified as structured or unstructured. The inclusion of an Agreement Document association demonstrates how documents relate to other business entities—linking contracts to their supporting documentation, for example. This pattern provides the foundation for document management systems, regulatory filing archives, knowledge bases, and any scenario where tracking what was documented, in what format, and how documents relate to one another matters to the business.

Classification

The Classification pattern tackles one of the most pervasive challenges in enterprise data modeling: how to manage the codes, categories, and reference data that classify everything else. Rather than creating dozens of separate lookup tables, this pattern provides a unified structure for all classification schemes.

The pattern introduces Classification Schemes (systems of categorization, such as industry codes, risk ratings, and status codes), Classification Codes (the individual values within each scheme), and a Classification Code Hierarchy that organizes codes into parent-child trees within and across schemes. It supports both discrete value classifications and range-based classifications, making it equally suitable for categorical data (e.g., product categories, customer segments) and numeric ranges (e.g., tax brackets, age bands, credit score tiers). The scheme’s allowable hierarchy structure even governs which classification schemes can relate to one another, providing a metadata layer for managing your reference data governance.

Position

The Position pattern models organizational structure by defining roles within an organization, independent of the individuals who fill them. This is a critical distinction that many organizations get wrong by conflating a person with their job.

The pattern separates the Position (a defined role within an organization, such as “CFO” or “Senior Developer”) from the Position Assignment (the assignment of a specific person to that position, including the incumbency type and percent allocation). The Position Hierarchy captures reporting relationships between positions — not between people — allowing you to maintain a stable org chart even as individuals come and go. Effective period tracking across both positions and assignments enables you to model organizational changes over time, support future-dated restructuring plans, and maintain a complete history of how your organizational structure has evolved.

Resource

The Resource pattern models the assets and resources that an organization owns, manages, or utilizes. Examples include buildings, vehicles, computers, equipment, consumables, and any other tangible or intangible asset that needs to be tracked.

The pattern provides a clean type-driven structure with a Resource entity linked to a hierarchical Resource Type classification. Each resource carries an identifier, a name, and effective period dates for lifecycle management. While compact, this pattern serves as the anchor point for more complex structures — resources can be assigned to tasks (as shown in the Task pattern), allocated to positions, associated with locations, and linked to maintenance agreements. Its simplicity is intentional: it provides a stable core that you can extend to meet your specific asset management requirements.

Copyright and Attribution

Important: These data model patterns are used in SqlDBM with the express permission of John Giles. John retains all ownership and original copyright of these patterns and their associated intellectual property.

We encourage you to explore the full depth of John’s thinking by purchasing his book:

📘 The Data Elephant in the Board Room— available at technicspub.com/data-elephant

Use code “SqlDBM” at checkout for 25% off.

The book provides extensive explanation, context, and “how-to” guidelines to help readers build their own Data Town Plan. Steps include forming a tight team, delivering initial value (potentially within weeks), and enabling ongoing alignment of the business vision with the progressive delivery of IT solutions.

How to Get These Patterns in SqlDBM

These model patterns are available by request to SqlDBM users. Whether you’re an existing customer looking to accelerate a new project or evaluating SqlDBM for the first time, we’d love to get these patterns into your hands.

Our team can walk you through the patterns, help you identify which ones are most relevant to your project, and load them into your SqlDBM workspace so you can start building on a proven foundation right away. Whether it’s patterns, templates, or complete industry models, SqlDBM can accelerate your modeling journey.

Get in touch with us to learn more

 

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Strategic advisors

kent graziano

Kent Graziano

The Data Warrior, Strategic Advisor, Data Vault Master, Author, Speaker, and Tae Kwon Do Grandmaster

gordon wong

Gordon Wong

Leading organizations through analytics transformations, preference for social missions, healthcare, energy, education, and civic engagement

For cloud data platforms

SqlDBM offers secure native connectors to leading data platforms like Snowflake, Databricks, and BigQuery so you can reverse engineer and begin modeling in seconds.

Try modeling now

Platform

Data Modeling

Develop data models collaboratively in the cloud and share them with your organization in various modeling styles and formats with no coding or conversion required

Model Governance

Create and manage business metadata using a dedicated project role

Snowflake Schema Monitoring

Track and get notified of schema changes in live database environments