Let us start of by defining two terms in our article title. Data fragmentation, in general is the breaking down of data into numerous chunks and then storing them separately. The major aim here is to place a chunk of data at a location that is easily accessible. Think of it this way, an object often used in the kitchen needs to be easily and readily accessible in the actual kitchen. That is at core of what data fragmentation tries to achieve. DBMS stands for database management system; this is a system that determines, handles, retrieves and manages data in a database. For the sake of this subject matter you must know that data fragmentation is characteristic of what are called distributed databases. Actually, the separate chunks are then stored on what is called a DDC i.e. distributed data catalogue.
Table of Contents
Data Fragmentation In DBMS – A Basic Look
We already pointed out that data fragmentation simply means the breaking down of data into chunks that are stored separately. To expand this we can add that the data can be in the form of a database or a table. Where those chunks get to be stored separately does not matter, just as long as it is a location on the same computer network.
Different Types Of Data Fragmentation In DBMS
There are broadly 3 types of data fragmentation in database management systems. As we go through them you will see how it is like because we will do our best to make so plain.
If you recall our previous discussions from before you will appreciate that databases have tables. Those tables are essentially rows and columns. The rows represent the records and the columns represent the fields or attributes. This means that when you fragment horizontally you are literally breaking down the data into separate rows (i.e. records). This also means after being broken down each chunk will still have the same columns (i.e. fields). In short you could say the database would have been broken down into separate records.
Let us consider an example to make it clearer. Suppose you have a student database for a university that stores student records of their personal details. You can use horizontal fragmentation to store separately student records for those undertaking, for instance, Computer Science.
In the same vein, under this type of fragmentation is about breaking down data into separate columns. Remember we said that columns denote fields or attributes e.g. Student Name, Student ID and so on. There is, however, a unique thing that happens here that does not happen for the horizontal fragmentation we covered earlier. When the fragmentation happens here is that the key column is left alone. The key column is the one that is common to all the separate chunks or fragments.
An interesting example here can be that maybe the IT department might want to print Student ID cards. Obviously, depending on the structure of the student records, they might not need all the details. This can be coupled with the fact they might be outsourcing the card printing service. They can then fragment by breaking down the data taking only relevant columns or fields necessary for the card printing. This would ensure that the service provider does not have absolute access to the student records.
This is just straightforward; it involves breaking down the data using both the horizontal and vertical fragmentation. You must bear in mind that mixed fragmentation entails 2 processes. So you might fragment horizontally first then you fragment the result of the first process vertically.
An example here could be you only want to store separately student records for Year 4 Computer Science students. This means you will use horizontal fragmentation to come up with the overall Computer Science students. After which you will use vertical fragmentation to come up with the Year 4 Computer Science students.
Advantages Of Data Fragment In DBMS
There is increased efficiency and optimized use of the database. Remember we said that data gets to be split into numerous chunks that get stored separately. This means that if one particular user uses only just a part of the database they can only have that part stored on their computer. This makes it readily available and it will also run swiftly because all the other parts will be elsewhere. Another great benefit of this is data security and integrity. This setup means that data one is not supposed to access will never be available to that person. Only data they are authorized to access and use is what they will have access to.
Disadvantages of Data Fragmentation In DBMS
If you visualize this setup you cannot get concerned about the possibility of performance issues. The fact that a part of the database is stored separately does not negate the fact that it still works in unison with the other parts. If there is no uniform performance from the other parts then overall performance can be comprised. Then there is another issue that stems from functional dependencies – it is virtually impossible to have a database that does not have these. A change on one part must reflect on the determinant as would be the case had the database not been fragmented. The idea of storing parts separately can create challenges such as conflicts, irregularities or disparities.
We once highlighted that database management systems entail a lot of technical things to talk about. What we have covered today is one of those things or areas. We have done justice in as far as giving you the basics is concerned. It would be expedient for you to take more steps further to study more so that you acquire more in-depth insights.