What is DATA INDEPENDENCE?
Data independence
Techniques that allow data to be changed without affecting the applications that process it.
There are two kinds of data independence. The first type is data independence for data, which
is accomplished in a database management system (DBMS). It allows the database to be
structurally changed without affecting most existing programs. Programs access data in a
DBMS by field and are concerned with only the data fields they use, not the format of the
complete record. Thus, when the record layout is updated (fields added, deleted or changed in
size), the only programs that must be changed are those that use those new fields.
Data Independence for Processing
The second type of data independence relates to processing and refers to miscellaneous data
used in programs that might change in the future, such as discount rates, product descriptions
and error messages. Such data should be stored in a database and not "hard wired" into the
code of the program. When values change, only the database item is altered, a much simpler
task than recompiling numerous programs.
Data Independence for Data
Program #1 reserves space for the entire record (fields A to K). If the record format is
changed, the space must be changed. Program #2 calls the DBMS to deliver just the fields it
uses (D G H K). It still reserves space, but unless a field has been resized, it is not affected by
other field changes. Program #3 is fully independent of the data structure. It calls for data by
field name, and the DBMS allocates the space at runtime.
Data Independence for Processing
Program #1 uses a hard-coded value to test credit limit. To change the limit, the program
must be recompiled. Program #2 retrieves the credit limit from a database. To change it, only
the database must be updated, a simpler task.
Data independence is the type of data transparency that matters for a centralized DBMS. It
refers to the immunity of user applications to make changes in the definition and organization
of data.
Physical data independence deals with hiding the details of the storage structure from user
applications. The application should not be involved with these issues, since there is no
difference in the operation carried out against the data.
The data independence and operation independence together gives the feature of data
abstraction. There are two levels of data independence.
First level
The logical structure of the data is known as the schema definition. In general, if a user
application operates on a subset of the attributes of a relation, it should not be affected later
when new attributes are added to the same relation. Logical data independence indicates that
the conceptual schema can be changed without affecting the existing schemas.
Second level
The physical structure of the data is referred to as "physical data description". Physical data
independence deals with hiding the details of the storage structure from user applications. The
application should not be involved with these issues since, conceptually, there is no difference
in the operations carried out against the data. There are two types of data independence:
1. Logical data independence: The ability to change the logical (conceptual)
schema without changing the External schema (User View) is called logical data
independence. For example, the addition or removal of new entities, attributes, or
relationships to the conceptual schema should be possible without having to change
existing external schemas or having to rewrite existing application programs.
2. Physical data independence: The ability to change the physical schema without
changing the logical schema is called physical data independence. For example, a
change to the internal schema, such as using different file organization or storage
structures, storage devices, or indexing strategy, should be possible without having to
change the conceptual or external schemas.
Data Independence Types
Data independence has two types: 1. Physical Independence and 2. Logical Independence.
With knowledge about the three-schemes architecture the term data independence can be
explained as follows: Each higher level of the data architecture is immune to changes of the
next lower level of the architecture.
Physical Independence: The logical scheme stays unchanged even though the storage
space or type of some data is changed for reasons of optimisation or reorganisation.
Logical Independence: The external scheme may stay unchanged for most changes of the
logical scheme. This is especially desirable as the application software does not need to be
modified or newly translated.