ADW Naming Conventions
urn:js:virtue:aspire:standard:19.1
TL;DR
The naming conventions to be followed by Data Architects when creating objects in ADW.
Definition
These conventions should be applied to the RDV, BDV and PL.
| Standard | Overview | Detail |
|---|---|---|
| NAM1 | Abbreviations should no longer be used in the naming of columns and tables. (Now that Erwin has been replaced by Wherescape there is no longer a 30 char limit on names.) There are two exceptions:
| |
| NAM2 | Column suffices should be used to indicate the type/purpose of the column. The aim is to standardise how we define each type if value |
Standard Abbreviations
To be used in a table/column name, an abbreviation should:
- already be in common use within non-Tech divisions of Sainsbury's or Argos, or in the wider world;
- be meaningful to a business user without reference to this list. This may require coordination with users in ADA or the relevant business area;
- save a significant number of characters over the un-abbreviated term. A reduction of one or two characters isn't worth the loss of readability.
An abbreviation should not:
- have multiple possible meanings within the context in which it appears.
Examples include:
| Abbreviation | Meaning |
|---|---|
| EAN | European Article Number |
| EDI | Electronic Data Interchange |
| TS | Timestamp - a combined date and time. Used as a suffix. |
| UOM | Unit of Measure |
| URL | Uniform Resource Locator |
| UTC | Universal Coordinated Time. Can appear on timestamps as _UTC_TS. |
| VAT | Value Added Tax |
Column Business Types
Note that there may be exceptions where the suffix is not required, e.g. FORENAME.
| Business Term | Abbreviated Suffix | Example |
|---|---|---|
| Date | _DT | |
| Time | _TM | |
| Time duration (Column name should detail the time unit or it should be accompanied by a separate unit of measure column.) | _TD | |
| Timestamp (date/time) - no time zone, i.e. local time | _TS | |
| Timestamp (date/time) - UTC | _UTC_TS | |
| Timestamp (date/time) - with time zone (Only relevant in the RDV if the data is received with a time zone. In the PL we should use both TS and UTC_TS to record the local and actual time) | _TZ_TS | |
| Business identifier/code for an object | _CD | |
| Surrogate key identifier/code for an object | _SK_CD | |
| Indicator | _IND | |
| Quantity (number of) | _QTY | 2 tins of beans: QTY = 2 300g of loose ham: QTY = 300 |
Unit quantity: If the quantity relates to:
| _UNIT_QTY | 2 tins of beans: UNIT_QTY = 2 300g of loose ham: UNIT_QTY = 1 |
| A monetary value where the values is always GBP | _AMT | |
| A monetary value where the values may contain multiple currencies. (Should be accompanied by a currency code column) | CUR_AMT | |
| Percent | _PCT | |
| Loyalty points | _PTS | |
| Number (which is not a quantity, monetary, count or points value) | _NUM | |
| Count (typically used in aggregations where the value represent the count of the number of records that meet a specific condition) | _CNT | |
| Name | _NAME | |
| Description | _DESC | |
| Text (e.g. free text for customer feedback) | _TEXT | |
| URL | _URL |