RationalDB   Tweet
OOPortal RedhatLinuxSysAdmin

Project Life Cycle  «Prev  Next»
Lesson 5 Data dictionary
Objective Use and benefits of keeping data dictionary/Problem domain vocabulary.
Data Dictionary Benefits
Humans are very good at context-specific interpretation of information; computers are not. Humans can reinterpret and correct misunderstandings and miscommunications, whereas computers typically cannot. This is a critical distinction when you realize that terminology is the basis for modeling.
A simple example
Here is a simple example of how critical it is to define project terminology.
In the course project, where you are developing an online ticket sales system for a local auditorium, the word "hold" can have a variety of possible definitions:
  1. Change the status of a seat while a customer decides whether or not to buy it
  2. Lock the database record
  3. File a ticket at the door for pick-up
  4. Suspend a transaction
  5. Keep the ticket and do not mail it because a payment bounced
How can you resolve these conflicting definitions?

Data dictionary
To resolve conflicts over the interpretation of words in everyday situations, you can pull a dictionary from the shelf and get the definition of the term in question. In a project, you can create your own dictionary. A data dictionary defines the vocabulary of the problem domain. Entries in the data dictionary can and will change over the course of a project, but they should change only when everyone involved in the project agrees to the change. Use a data dictionary to ensure consistent, high-quality communication.
Contents of your data dictionary
What belongs in a data dictionary? The examples below will give you a good starting point.
For nouns, you should include these items:

Name : Fully qualify the name with adjectives if needed to distinguish the term as applied in different contexts
Definition: Allow multiple definitions only when each context is clearly defined
Synonyms: Other terms that may be encountered during the project and that mean the same thing
Data type: What kind of data is used to describe this element?
Length: How many characters or digits are allowed?
Legacy equivalents: What field names hold this information in the old systems or in related systems
Example of its use: Provide an example of how the users might refer to this item in conversation
Derived? Is this element derived from other information? If yes, then specify the derivation rule.

For verbs, you should include these items:
Verb Provide the most common form, for example, "hold"
Alternative forms: Provide other ways the verb is used, for example, "held", "on hold", "holding"
Example of its use Provide examples of how the users would use the term in the course of doing business

An example noun: ticket
 Data dictionary entry: ticket
An example verb: hold
Verb "hold"
Alternative forms: "held", "on hold", "holding"
Example of its use: When a customer identifies a seat in a show that they want to purchase, that seat is held for them until they release it or the system releases it due to timeout.
A customer may hold a seat while they find the rest of the seats they want to purchase in that particular show.
Holding a seat guarantees that other people cannot take it from you while you make up your mind.
Data Dictionary - Exercise
Click the Exercise link below to identify key data dictionary nouns in the course project problem statement.
Data Dictionary - Exercise