You are on page 1of 7

Data Dictionary

A data dictionary contains metadata i.e. data about the database.

Data dictionary is a set of information describing the contents, format, and structure of a database and the
relationship between its elements, used to control access to and manipulation of the database.

The data dictionary is very important as it contains information such as:

● What is in the database

● Who is allowed to access it

● Where database is physically stored etc.

The users of the database normally don’t interact with the data dictionary; it is only handled by the database
administrators.

Data dictionary is a store house of data, giving information about data. During system implementation it serves
as common base for programmers who are working on the system, It compares their data description. It is also
an important step in building database.

Data dictionary contains description & definition consulting the data structure, data elements, their
interrelationship & other characteristics of a system.

Data Dictionary provides detailed information about the business data, such as standard definitions of data
elements, their meanings, and allowable values. While a conceptual or logical Entity Relationship Diagram will
focus on the high-level business concepts, a Data Dictionary will provide more detail about each attribute of a
business concept.

Essentially, a data dictionary provides a tool that enables you to communicate business stakeholder
requirements in such a way that your technical team can more easily design a relational database or data
structure to meet those requirements. It helps avoid project mishaps such as requiring information in a field that
a business stakeholder can’t reasonably be expected to provide, or expecting the wrong type of information in a
field.

A Data Dictionary is a collection of names, definitions, and attributes about data elements that are being used or
captured in a database, information system, or part of a research project. It describes the meanings and purposes
of data elements within the context of a project, and provides guidance on interpretation, accepted meanings and
representation. A Data Dictionary also provides metadata about data elements. The metadata included in a Data
Dictionary can assist in defining the scope and characteristics of data elements, as well the rules for their usage
and application.

A data dictionary is a centralized repository of metadata. Metadata is data about data. Some examples of what
might be contained in an organization’s data dictionary include:

● The names of fields contained in all of the organization’s databases

1
● What table(s) each field exists in

● What database(s) each field exists in

● The data types, e.g., integer, real, character, and image of all fields in the organization’s databases

● The sizes, e.g., LONG INT, DOUBLE, and CHAR(64), of all fields in the organization’s databases

● An explanation of what each database field means

● The source of the data for each database field

● A list of applications that reference each database field

● The relationship between fields in all of the organization’s databases

● Default values that exist for all fields in all of the organization’s databases

● Who has access to each field

A data dictionary is at the heart of any database management system. The data dictionary contains important
information, such as what files are in the database and descriptions (called attributes) of the data contained in
the files. This information is used by the system to assess whether or not a particular process can be
accomplished and whether or not a particular user is authorized to carry it out. Information stored in the data
dictionary could normally be expected to include:

● what data are available

● where on the storage device they are located

● data attributes (for instance, data type numerical or alphanumerical)

● how the data are used

● definitions of data security requirements (who is allowed to access the data, who is allowed to
update/amend them)

● relationships to other pieces of data

● definitions of data integrity requirements.

Data Dictionary–Metadata Repository


A data dictionary represents a compendium of all data definitions at the lowest level. That is, it consists of data
attribute names and the definitions and characteristics associated with them. Normally it is established at the

2
enterprise level but sometimes at the application level on an exception basis. While it is not necessary to
compile this, it can be used as a guideline or source of new data names.

Data dictionary is an organized listing of all the data elements pertinent to the system, with precise, rigorous
definitions so that both user and systems analyst will have a common understanding of all inputs, outputs,
components of stores, and intermediate calculations.

The data dictionary defines the data elements by doing the followings

● Describing the meaning of the flows and stores shown in the data flow diagrams;

● Describing the composition of aggregate packets of data moving along the flow;

● Describing the composition of packets of data in stores;

● Specifying the relevant values and units of elementary chunks of information in the data flows
and data stores.

● Describing the details of relationships between stores that are highlighted in an


entity-relationship diagram.

The system analysis can ensure that the dictionary is complete, consistent, and non-contradictory. He can
examine the dictionary on his own and ask the following questions:

● Has every flow on the data flow diagram been defined in the data dictionary?

● Have all the components of composite data elements been defined?

● Has any data element been defined more than once?

● Has the correct notation been used for all data dictionary definition?

● Are there any data elements in the data dictionary that are not referenced in the functioning diagrams,
data flow diagrams, or entity-relationship diagrams.

Building a data dictionary is one of the more important aspects and time consuming of systems analysis. But,
without a formal dictionary that defines the meaning of all the terms, there can be
no hope for precision.

Why Use a Data Dictionary?


Data Dictionaries are useful for a number of reasons. In short, they:

● Assist in avoiding data inconsistencies across a project


● Help define conventions that are to be used across a project
● Provide consistency in the collection and use of data across multiple members of a research team
● Make data easier to analyze
3
● Enforce the use of Data Standards

Objectives of Data Dictionary:

● A standard definition of all terms in a system i.e. each data item is uniquely identified and defined.

● Easy cross referencing between subsystem’s program and modules.

● Simple program maintenance.

● It contains information about the data of the system and there is an entry in the data dictionary for every
element of DFD. Thus DFD and Data Dictionary are compliment of each other.

The data dictionary in general contains information about the following:

1. Names of all the database tables and their schemas.


2. Details about all the tables in the database, such as their owners, their security constraints, when they were
created etc.
3. Physical information about the tables such as where they are stored and how.
4. Table constraints such as primary key attributes, foreign key information etc.
5. Information about the database views those are visible.

Following is a data dictionary describing a table that contains employee details.

Field Size for


Field Name Data Type Description Example
display

Employee
Integer 10 Unique ID of each employee 1645000001
Number

Name Text 20 Name of the employee David Heston

Date of Birth Date/Time 10 DOB of Employee 08/03/1995

Phone
Integer 10 Phone number of employee 6583648648
Number

The different types of data dictionary are:


● Active Data Dictionary

● Passive Data Dictionary

4
Active Data Dictionary

If the structure of the database or its specifications change at any point of time, it should be reflected in the data
dictionary. This is the responsibility of the database management system in which the data dictionary resides.

So, the data dictionary is automatically updated by the database management system when any changes are
made in the database. This is known as an active data dictionary as it is self-updating.

Passive Data Dictionary

This is not as useful or easy to handle as an active data dictionary. A passive data dictionary is maintained
separately to the database whose contents are stored in the dictionary. That means that if the database is
modified the database dictionary is not automatically updated as in the case of Active Data Dictionary.

So, the passive data dictionary has to be manually updated to match the database. This needs careful handling or
else the database and data dictionary are out of synchronization.

Elements of Data Dictionary:


There are three elements of data dictionary –

a. Data Element –

It is the smallest unit of data which cannot be meaningfully decomposed further.

For example:

Employee code, unit of measurement

b. Data Structure –

A group of data elements forms a data structure.

For example:

Data Structure of employee consist of a group of data elements such employee code, name, age, experience,
phone no., address etc.

c. Data Flow & Data stores –

Data flows are data structures in motion whereas Data stores are data structure at rest. Data stores may be files,
database etc.

5
Components of Data Dictionary:

Data dictionary contains the following information:


● Name of the item: It can be your choice.
● Aliases: It represents another name.
● Description: Description of what the actual text is all about.
● Related data items: with other data items.
● Range of values: It will represent all possible answers.

Format of Data Dictionary:

A data dictionary is organized into five sections –

● Data Elements

● Data Flows

● Data Store

● Process

● External Entities

Data Dictionary lists all data elements, flows, stores, process of the system and it gives the detail about each
item in following format –

Data types, data name, data description, data characteristics, data control information, composition, physical
location of data, etc.

Data dictionary for data element Employee code in dictionary –

Data Element - Employee code

Description - Unique code assigned for each employee

Type - char

Length - 4

Range - 0-9999

Data Stores - Employee table, Payroll table

6
The Key Elements of a Data Dictionary
A Data Dictionary provides information about each attribute, also referred to as fields, of a data model. An
attribute is a place in the database that holds information.

Most common elements included in a data dictionary:

● Attribute Name – A unique identifier, typically expressed in business language, that labels each
attribute.
● Optional/Required – Indicates whether information is required in an attribute before a record can be
saved.
● Attribute Type – Defines what type of data is allowable in a field. Common types include text, numeric,
date/time, enumerated list, look-ups, booleans, and unique identifiers.

While these are the core elements of a data dictionary, it’s not uncommon to document additional information
about each element, which may include the source of the information, the table or concept in which the attribute
is contained, the physical database field name, the field length, and any default values.

Example of a Data Dictionary:

Data dictionary defines critical information about each attribute in a business-focused way. It also organizes
information that might otherwise be scattered across multiple different documents and specifications, making it
easier for your database developer to design or update a database that meets business requirements.

Sources:

https://www.tutorialspoint.com/What-is-Data-Dictionary

https://www.bridging-the-gap.com/data-dictionary/

https://www.sciencedirect.com/topics/computer-science/data-dictionary

You might also like