Data Vault naming standards - OptimalBI/optimal-data-engine-mssql GitHub Wiki

The sections below describe our naming standards for Data Vault objects in the Optimal Data Engine. Whatever is on this web page is our current version.

Hub Tables

Table Convention Example
hub.h_<Entity_Name> Hub.h_Customer
Attribute Attribute Convention Example
Surrogate Key (PK) h_<Entity_Name>_Key h_Customer_key
Business Key Derived from source CustomerID
Row Load Time dv_load_date_time dv_load_date_time
Record Source dv_recourd_source dv_record_source

Link Tables

Table Covention Example
Lnk.I_<Entity_Names> Lnk.I_Customer_Sale
Attribute Attribute Convention Example
Surrogate Key (PK) I_<Entity_Names>_key I_Customer_Sale_key
Hub Keys (FK) Deriver from Hub h_Customer_key
Row Load Time dv_load_date_time dv_load_date_time
Record Source dv_record_source dv_record_source

Further Comments

Entity names are used in alphabetical order A Link table can join two or more Hubs, all of which should feature in the name Each linked Hub has a foreign key in the Link Table.

Satellite Tables

Table Convention Example
Sat.s_<Entity_Name> Sat.s_CustomerName
Attribute Attribute Convention Example
Hub Key (PK) h_<Entity_Name>_key h_Customer_key
Row Load Time (PK) dv_source_date_time dv_source_date_time
Record Source dv_record_source dv_record_source
Currency flag dv_row_is_current dv_row_is_current
Tombstone flag dv_is_tombstone dv_is_tombstone
Row effective from date dv_rowstartdate dv_rowstartdate
Row retired date dv_rowenddate dv_rowenddate
Source Attributes Derived from source First_Name

Further Comments

In the special case a source does not have a meaningful name for an attribute, a logical alternative is chosen The Hub Key and Row Load Time make up the primary key.

Indexes and Constraints

Indexes and constraints are automatically created by ODE. All the keys, schema name, table prefixes and metadata fields are created by ODE with our naming standards applied. This could be changed in configuration, although it is not recommended.