“Fragmentation involves decomposing the data in relation to non-overlapping
component relations”.
Why do we need to fragment a relation? The reasons for fragmenting a relation are:
Use of partial data by applications: In general, applications work with views
rather than entire relations. Therefore, it may be more appropriate to work with
subsets of relations rather than entire data.
Increases efficiency: Data is stored close to most frequently used site, thus retrieval
would be faster. Also, data that is not needed by local applications is not stored, thus
the size of data to be looked into is smaller.
Parallelism of transaction execution: A transaction can be divided into several
sub-queries that can operate on fragments in parallel. This increases the degree of
concurrency in the system, thus allowing transactions to execute efficiently.
Security: Data not required by local applications is not stored at the site, thus no
unnecessary security violations may exist.
But how do we carry out fragmentation? Fragmentation may be carried out as per the
following rules:
a) Completeness: This rule ensures that there is no loss of data during
fragmentation. If a relation is decomposed into fragments, then each data item
must appear in at least one fragment.
b) Reconstruction: This rule ensures preservation of functional dependencies.
It should be possible to define a relational operation that will reconstruct the
relation from its fragments.
c) Disjointness: A data item that appears in a fragment should not appear in
any other fragment. However, a typical fragmentation called vertical
fragmentation is an exception to this rule. In vertical fragmentation the primary
key attributes must be repeated to allow reconstruction of original relation.
This rule ensures minimization of data redundancy.
0 टिप्पणियाँ:
Post a Comment