Data Dictionary

A data dictionary is a CASE tool, along with an ERD, used to help plan a database. It is also part of the system documentation for future developers to adapt and maintain the database.

After an ERD has been designed the data dictionary is created to identify the datatypes and constraints of the entities/tables.

Commonly the detail recorded in the data dictionary follows this layout (but the headings do change!).

NameDatatypeSizeDescriptionConstraint
Name of the attributeType of data, such as Integer, Float, Text, Boolean, Date How many characters/numbers are the maximum allowedA description of the type of data to be recorded in the field.  This can also be where an example of format of the record should go, such as Date mm/dd/yyyy or dd/mm/yyyyIf the record is a primary key then it should be noted here.  If the field is required it should be noted here also.

Here is some example data, and beneath it what the data dictionary should look like.

PatientIDFirstnameSurnameDOBAddressCityPostcodeTelephoneAppontmentID
000001DaveBillings03/04/197930 Gnangarra DriveWaikiki616908 0454 0000000034
000021JoshSmith24/01/199913 Williams StreetSafety Bay61690414 234 568000099

Patient Entity

NameDatatypeSizeDescriptionConstraint
PatientIDInteger6Unique identifier of the patientPrimary key required. Automatically generated.
FirstnameText40First name of the patient, e.g. DaveRequired
SurnameText40Last name of the patient, e.g. SmithRequired
DOBDate10Date of birth of the patient.Required. Format should be dd/mm/yyyy
AddressText50House number and street name of the patient.Not required
CityText30City of patientNot required
PostcodeText4Postcode of patientNot required
TelephoneText12Phone number of patient, either home or mobile number.Required for appointment confirmation
AppointmentIDInteger6Appointment identifier foreign keyRequired Foreign Key to create relationship with appointment entity

Why is the Telephone a Text datatype?

Why is the Postcode a Text datatype?