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.