CDM Table Taxonomy Note

A practical classification standard for reusable data views

Purpose

This taxonomy provides a consistent way to classify tables/views within the Common Data Model (CDM). It separates:

  • what kind of row the table contains (table_type)
  • what business subject it relates to (table_class)
  • how values behave (optional generator metadata)

The goal is clarity, scalability, and predictable design across domains such as Order, Project, Employee, Invoice, Customer, and Person.


1. Core Principle

Core identifies, Meta describes, Item records, Event captures, Bridge connects.


2. Standard Table Types

TypeDefinitionUse WhenExamplesTypical Fields
core
Is it one row per object?
The master object identity row.
One row per key business entity.
You need the primary reference record.order.core
project.core
employee.core
OBJECT_SEQ
OBJECT_CODE
OBJECT_NAME
master identifiers
creation / active status
meta
Is it an attribute about the object?
Attributes that describe a core object but do not create new business rows.You are storing classifications, dates, flags, descriptors.order.meta_codes
project.meta_dates
OBJECT_SEQ
META_TYPE
ATTRIBUTE
CODE_VALUE
VALUE_METADATA
item
Is it a recognised child transaction/line row?
A recognised child business row belonging to the object.
These are operational rows users would recognise.
The source system naturally contains subordinate rows.order.item_lines
project.item_expenses
invoice.item_lines
OBJECT_SEQ
ITEM_KEY
ITEM_TYPE
row values / amounts / quantities
event
Is it something that happened?
A row representing something that happened at a point in time.
Often process, workflow, audit, or lifecycle related.
The row grain is an occurrence, transition, or action.
(Order status changed to Partially Delivered on a given date by a named user.)
order.event_stage_lifecycle
project.event_status
employee.event_assignment
OBJECT_SEQ
ITEM_KEY (event id / history seq)
event date/time
user
notes
state
origin
bridge
Is it a relationship between things?
A row representing a relationship between objects where multiplicity must be preserved.
The relationship itself is the grain.
One-to-many / many-to-many links exist.
(One project linked to multiple role holders.)
project.bridge_role
person.bridge_identity
employee.bridge_manager
left object key
right object key
relationship type
effective dates (optional)
source confidence / precedence (optional)

3. Naming Pattern

Recommended Pattern

[domain].[table_type]_[table_class]_[aspect]

Examples:

  • order.event_stage_lifecycle
  • project.bridge_role_active
  • employee.event_dates_employment
  • invoice.item_values_lines

If no extra aspect is needed:

  • order.core
  • project.meta_codes

4. Example Classification

TableType
Order Headercore
Order Region / Statusmeta
Order Linesitem
Order Lifecycle Changesevent
Order ↔ Contactsbridge

Leave a Comment