Tables

I have a vague memory from undergrad about a rule that said table names should be pluralized in transactional systems. In a data warehouse, that does not really make sense. Dimensions usually hold records describing singular objects like a person place or thing.

There is a weaker argument to extend this convention to fact tables, however, I do it anyway to satisfy my OCD.

Table Type

Naming Convention

Naming Model

Example

Common Model Tables

Common model tables should be nearly identical to the warehouse tables they mimic but stripped of all indexes, keys, and most constraints with the exception of the index on the column used to match records.

Dim[BaseDimensionTableName]

DimCustomer

Conventional Staging Tables

Table names should describe what the data is and end in the word "Data". Additionally, tables should be assigned to a schema that identifies the source system of the data.

[DescriptiveName]Data

CustomerData

Dimension Tables

All dimension tables should start with the word "Dim".

Dim[YourDimensionName]

DimCustomer

Fact Tables

All fact tables should start with the word "Fact".

Fact[YourFactTableName]

FactCustomerDetail

Junk Dimension Tables

All junk dimension names should end in the word "Information" in addition to inheriting the convention for naming standard dimensions.

Dim[YourDimensionName]Information

DimCustomerInformation

MDM Tables

MDM tables should be named after the data they are storing and end in MasterData.

[Dimension]MasterData

CustomerMasterData

Reporting Tables

Reporting tables should be obviously named with spaces between words.

no model

Customer Activity Report

Staging Tables Designed For Historical Loads

Tables that are specially modified to load large amounts of historical data should share the name of the stage table that manages the normal batch process with the addition of the word "Historical" at the end.

[DescriptiveName]DataHistorical

CustomerDataHistorical

Last updated