There are four reasons for fragmentation:
1. Habits
Typically applications work with table views rather than with all data relationships. Therefore, for data distribution, it is appropriate to work with a subset of a relation as the unit of distribution.
2. Efficient
Data is stored close to the user. With the addition of data that is not used often, it does not need to be stored.
3. Parallel
With these fragments as units of distribution, a transaction can be divided into several sub-queries that operate on the fragments. This increases concurrency or parallelism in the system, allowing transactions to execute safely and in parallel.
4. Security
Data that is not required by the application is not stored and consequently should not be retrieved by unauthorized users.
Fragmentation has two drawbacks, as mentioned earlier:
Performance, the way applications that require data from multiple fragment locations on multiple sites will run slowly.
Integrity, integrity monitoring will be more difficult if data and functional dependencies are fragmented and located at multiple sites.