Data dictionary
Data dictionary is like a database about a database. Data dictionaries are used by system designers to plan information. They describe:
- Contents
- Format
- Structure of a database
- Relationship between its entities or objects
Typically, a data dictionary will:
- Include the names and descriptions and the fields contained in each table
- Record information about the data type, length of each field
- Validation to be used
The purpose of a data dictionary is to provide the implementation team with enough information to allow them to develop the system.
There is no set standard about layout or level of detail. It is generally accepted that data dictionaries should provide enough information to allow a third party to program or implement the system without prior knowledge of it.
An example can be seen below:
| Entity name: | CUSTOMER |
| Related to: | ORDER |
| Primary key: | Customer ID |
| Foreign key: | N/A |
| Entity name: |
|---|
| CUSTOMER |
| Related to: |
|---|
| ORDER |
| Primary key: |
|---|
| Customer ID |
| Foreign key: |
|---|
| N/A |
| Attribute name | Data type | Validation | Example data |
| Customer forename | String/Text | <=75 characters and force capital letter | Jane |
| Customer surname | String/Text | <=75 characters and force capital letter | Doe |
| Address1 | String/Text | <= 150 characters and force capital letter | 10A Upper Lisburn Road |
| Town | String/Text | Look up table: Antrim, Armagh, Belfast | Belfast |
| Postcode | String/Text | input mask BTLLNNLN | BT45 9JH |
| Age | Integer/Number | >= 16 AND <=120 | 17 |
| Gender | Boolean | M OR F | F |
| Attribute name | Customer forename |
|---|---|
| Data type | String/Text |
| Validation | <=75 characters and force capital letter |
| Example data | Jane |
| Attribute name | Customer surname |
|---|---|
| Data type | String/Text |
| Validation | <=75 characters and force capital letter |
| Example data | Doe |
| Attribute name | Address1 |
|---|---|
| Data type | String/Text |
| Validation | <= 150 characters and force capital letter |
| Example data | 10A Upper Lisburn Road |
| Attribute name | Town |
|---|---|
| Data type | String/Text |
| Validation | Look up table: Antrim, Armagh, Belfast |
| Example data | Belfast |
| Attribute name | Postcode |
|---|---|
| Data type | String/Text |
| Validation | input mask BTLLNNLN |
| Example data | BT45 9JH |
| Attribute name | Age |
|---|---|
| Data type | Integer/Number |
| Validation | >= 16 AND <=120 |
| Example data | 17 |
| Attribute name | Gender |
|---|---|
| Data type | Boolean |
| Validation | M OR F |
| Example data | F |