Data Dictionary

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

DATA DICTIONARY

A data dictionary is a software module and database containing


descriptions and definitions concerning the structure, data
elements, interrelationships, and other characteristics of an
organization's database.

 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.
 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.

Data are the principal resources of an organization. Data stored


in computer systems form a hierarchy extending from a single bit
to a database, the major record-keeping entity of a firm. Each
higher rung of this hierarchy is organized from the components
below it.
Data are logically organized into:

1. Bits (characters)
2. Fields
3. Records
4. Files
5. Databases

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
 Enforce the use of Data Standards

Structured English
Structure English is derived from structured programming language which gives
more understandable and precise description of process. It is based on
procedural logic that uses construction and imperative sentences designed to
perform operation for action.

 It is best used when sequences and loops in a program must be


considered and the problem needs sequences of actions with decisions.
 It does not have strict syntax rule. It expresses all logic in terms of
sequential decision structures and iterations.

For example, see the following sequence of actions −

if customer pays advance


then
Give 5% Discount
else
if purchase amount >=10,000
then
if the customer is a regular customer
then Give 5% Discount
else No Discount
end if
else No Discount
end if
end if

Decision Tables
Decision tables are a method of describing the complex logical relationship in a
precise manner which is easily understandable.

 It is useful in situations where the resulting actions depend on the


occurrence of one or several combinations of independent conditions.
 It is a matrix containing row or columns for defining a problem and the
actions.

Decision Trees
Decision trees are a method for defining complex relationships by describing
decisions and avoiding the problems in communication. A decision tree is a
diagram that shows alternative actions and conditions within horizontal tree
framework. Thus, it depicts which conditions to consider first, second, and so on.

Decision trees depict the relationship of each condition and their permissible
actions. A square node indicates an action and a circle indicates a condition. It
forces analysts to consider the sequence of decisions and identifies the actual
decision that must be made.

The major limitation of a decision tree is that it lacks information in its format to
describe what other combinations of conditions you can take for testing. It is a
single representation of the relationships between conditions and actions.

Guidelines for Selecting Appropriate Tools


Use the following guidelines for selecting the most appropriate tool that would
suit your requirements −

 Use DFD at high or low level analysis for providing good system
documentations.
 Use data dictionary to simplify the structure for meeting the data
requirement of the system.
 Use structured English if there are many loops and actions are complex.
 Use decision tables when there are a large number of conditions to check
and logic is complex.
 Use decision trees when sequencing of conditions is important and if there
are few conditions to be tested.

Logical vs Physical Model


With logical data models, you can visualize process workflows in a
technically structured manner. You can understand the relationships
between various business systems. On the other hand, a physical
data model describes how data is organized in actual database
tables.

Logical Design
 Logical design translates conceptual design into more
detailed, technology-agnostic design. It is less abstract
than conceptual design.
 It focuses on defining overall structure of the system,
major components,functionality, relationship between
those components, and the flow of data.
Audience: Includes system/application/software architects,
business analysts, engineers.
Representation: Diagrams thats shows structure and
interations between components but not showing technology
and implementation details.

Physical Design
 Physical Design addresses the technical aspects of the
system. It involves decisions about servers, networks,
databases and other physical resources.
 It focuses on actual technologies, platforms and
infrastructure needed for the implementation. It also
addresses issues like performance, scalability and system
deployment.
Audience: Includes engineers, system administrator.
Representation: Diagrams showing physical arrangement of
components and deployment plan.
Logical Model
Logical Model depicts how the system operates.
 The processes represent the business activities.
 The data stores represent the collection of data regardless of how
the data are stored.
 It s how business controls.

Physical Model
 Physical DFD depicts how the system will be implemented (or
how the current system operates).
 The processes represent the programs, program modules, and
manual procedures.
 The data stores represent the physical files and databases, manual
files.
 It show controls for validating input data, for obtaining a record,
for ensuring successful completion of a process, and for system
security.

OBJECT-ORIENTED TERMS AND CONCEPTS

1. Objects
Objects are the basic units of code used to create software applications in
OOP languages. All OOP languages use objects to build programs because
they're easy to replicate and scale. An object can be any abstract data type
that has specific characteristics and functions.

2. Classes
Classes are the parameters that help a program create objects. a class
describes the contents of the objects that belong to it:

3. Attributes
Attributes are the characteristics of an object that define what it is. Classes
determine which attributes an object has. For example, if we consider a
class of humans, their attributes might include name, hair color and height.
Individual humans, or objects, have unique entries for each attribute field.

4. Methods
Methods are functions and subroutines that define the behavior of a class or
objects within that class. Typically, methods are specific to a class or object,
and they determine how an object might use or modify data.

7. Abstraction
Abstraction involves adding structure to an object or class so that the end-
user only sees an interface, rather than the entire inner code. This process is
valuable for many types of engineering because it makes devices and
applications easier for the average user.
8. Encapsulation
Programmers use encapsulation to protect certain information within a class
from the rest of the code. They can hide specific attributes within the object
and restrict access to the attribute to members of a certain class or subclass.

10. Polymorphism
Polymorphism relates to the ability of different subclasses in a hierarchy to
respond to the same command in their own ways. A hierarchy is a set of
classes that relate to each other under the principle of inheritance. For
example, you might have a superclass called "Shapes," with subclasses for
"Circles" and "Squares."

The unified modeling language (UML) is a general-purpose visual modeling


language that is intended to provide a standard way to visualize the design of a system.[1]

You might also like