written 7.9 years ago by |
Transparency in DBMS stands for the separation of high level semantics of the system from the low-level implementation issue. High-level semantics stands for the endpoint user, and low level implementation concerns with complicated hardware implementation of data or how the data has been stored in the database. We are familiar with the term data independence. Using data independence in various layers of the database, transparency can be implemented in DBMS.
Unlike normal DBMS, DDBMS deals with communication network, replicas and fragments of data. Thus, transparency also involves these three factors.
Following are three types of transparency:
1) Network transparency
2) Replication transparency
3) Fragmentation transparency
Network transparency
DBMS users should not be concerned about the type of DBMS they are using. In case of DDBMS, the network should not be visible to the user. Thus, to provide network transparency. We need to follow the following statements:
- The query language that will be used should not include any location specification. In this way, location transparency can be achieved.
- The data that is stored in a relation should not contain any location specification. In this naming transparency can be assured.
- Every database object must have a system wide unique name.
- The location information can be found using the data dictionary.
Using aliases, we can move the database objects transparently.
Replication Transparency
Replication transparency states that the replicas that are created should be controlled by the system, not by user. The user should not have any doubt about whether the fetched data is coming from replicated copy of the elation or from the actual copy of the relation. To achieve replication transparency the concurrency control protocol needs to be devised, which assures that the update of data taking place in one copy should also be updated in other copies. In this way, transparency regarding replicas of data can be maintained.
Fragmentation Transparency
Fragmentation transparency states that the fragments that are created to store the data in distributed manner should remain transparent and all the data management work required to control the fragments should be done by the system, not by the user. In this task, when a user puts a query, the global query is distributed in many sites to fetch data from fragments and this data is put together at the end to generate the result. The system ensures that the total procedure of query decomposition and re-composition should be transparent to the user.