BISQL # 76 – Laymen to SQL Developer # 5 – Assignment #1 – Part #4 – What is Data Independence and All information related to Data Independence in DBMS
Hi friends
Continuing from my last post on same series also we have completed following topics in my previous post as follows :
- BISQL # 72 – Laymen to SQL Developer # 3 – Assignment #1 – Part #2 – Why DBMS or What are Limitations of file processing systems « SQL Server Mentalist
- BISQL # 69–Laymen to SQL Developer # 1 – Introduction to brand New SQL Server Zero to Basics Series
- BISQL # 70 – Laymen to SQL Developer # 2 – Assignment #1 – Part #1–Introduction to Data and database Why Database exist ?
- BISQL # 75– Laymen to SQL Developer # 4 – Assignment #1 – Part #3 – What is Data Abstraction and All information related to Data Abstraction in DBMS
- What is Data Independence ?
- What is Data Independence in Real World
- Data Independence in Data Architect
- How Data Abstraction works in DBMS ?
- What are types of Data Independence
- Logical Data independence >> First Level
- Physical Data independence >> Second Level
- View level data independence>>Third Level
- The Need for Data Independence
In this article we are covering following points under Data Independence
You may find this article also bit difficult to understand but don’t get into fear as of now this is just an information for you that we must know .. Even if you don not understand each of following topics then also its ok..
Now lets gather knowledge for into Data Independence :
Data Independence
Data independence is a form of database management that keeps data separated from all programs that make use of the data.
As a cornerstone for the idea of a DBMS or database management system, data independence ensures that the data cannot be redefined or reorganized by any of the programs that make use of the data. In this manner, the data remains accessible, but is also stable and cannot be corrupted by the applications using it.
What is Data Independence ?
In the discussion of this basic architecture shall help to understand the connection with data modeling and the introductory to this module postulated ‘data independence’ of the database approach.
Database management systems are complex software which were often developed and optimized over years. From the view of the user, however, most of them have a quite similar basic architecture.
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.
Following is simple example of Data Dependent
The separation of data from the programs that use the data. Nearly all modern applications are based on the principle of data independence. In fact, the whole concept of a database management system (DBMS) supports the notion of data independence since it represents a system for managing data separately from the programs that use the data. In contrast, it is possible to write applications in which the data being processed is actually represented in the program’s source code. This data-dependent approach is very inflexible because it makes it difficult to modify the data and it also makes the data inaccessible to other programs
What is Data Independence in Real World
As we know Car is consist of many several parts lets understand how it works on car :
In the following figure we have shown various parts of Car together
Where as if we see each of its parts and map it with function of car we will get various functionality ,as few of then we have shown
Data Independence in Data Architect
In next design we have show in red box how Data Independence work and defines each box independently and fix into Data Base architecture efficiently :
What are types of Data Independence
The concept of data independence is different from another approach referred to as data dependence. With this approach, the data used to run an application is actually represented in the source code for the program. The ability of the data to be modified by the program, and vice versa, means that the data is not considered constant and may be changed either by initiating the change through modifications to the source code or through using the program in other ways to adapt the core data.
One of the functions of data independence is to restrict access to the storage structure of the data by the user applications. By effectively hiding the specifics of the structure from the applications, the potential for any one application to alter the nature of the data becomes impossible. Thus, the essential data retains its integrity and remains consistent no matter how many databases or database applications access the core data.
There are two types of Data Independence we can see in DBMS as :
- Logical Data independence
- Physical Data independence
- View level data independence
In some books or architects refer this is as first level and second level
- Logical Data independence >> First Level
- Physical Data independence >> Second Level
- View level data independence>>Third Level (This is in Some of Reference books)
- Data independence types in Details :
Logical
- between conceptual and external
- changes to conceptual without changing
- external schemas or application programs
Physical
- between internal and conceptual
- changes to internal without changing
- conceptual or external schemas
- For example understanding above concept by diagram
- With knowledge about the three-schemes architecture the term data independence can be explained as followed: Each higher level of the data architecture is immune to changes of the next lower level of the architecture.
- 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 / Logical Data independence
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.
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.
Second level / Physical Data independence
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:
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.
View level data independence>>Third Level
This is third level but it was defined in few of books so I was including this also ..
View level data independence:always independent no affect, because there doesn’t exist any other level above view level.
Database management within the environment of a centralized DBMS relies on the process of data independence. While data transparency still exists as far as the ability of different applications to access and use the data for completing tasks, no program or application can read and then begin to make changes to the data itself. The consistency of the data makes the overall process of maintaining and managing a single database or multiple databases within a single environment much easier.
The Need for Data Independence
1) Different application will use different viewers at the same data. For example if there is a data in the integer form and two users want to see the same data in different format such as one wants to see in binary and other wants to see in decimal, in this case the conversation method provides the facility to excess same data by different users.
2) The DBA must take the freedom to change the storage structure or excess strategy in response to change the requirements with out change existing applications. For example introduction of new standards and introduction of new storage devices.
Hope this Helps !!!!
Thanks for visiting my blog !!
Hope you will like this post on Data Abstraction.
If you really like reading my blog and understood at lest few thing then please don’t forget to subscribe my blog .
If you wan daily link and analysis or interesting link go to following website which will give @ your inbox please subscribe our following link resource blog
Where todays links are
-
December 30, 2011 at 6:22 pmLink Resource # 39: All link – Dec 2011 « Dactylonomy of Web Resource
-
January 3, 2012 at 10:20 pmBISQL # 83 – Laymen to SQL Developer # 7 – Assignment #1 – Part #6 – Storage manager, Query Processing ,Transaction Management and Internals « SQL Server Mentalist
-
May 29, 2012 at 7:40 amBISQL #97 – Laymen to SQL Developer # 9 – Assignment #2 – Relational Model, Schema, Attribute, Database, Key & Relational Query « SQL Server Mentalist