Ada dua tipe utama yang dimiliki oleh fragmentasi yaitu; horisontal dan vertikal, tetapi ada juga dua tipe fragmentasi lainnya yaitu; mixed dan derived fragmentasi.

Macam Tipe Fragmentasi DBMS
1. Horisontal Fragmentasi
Fragmentasi ini merupakan relasi yang terdiri dari subset sebuah tuple. Sebuah horisontal fragmentasi di hasilkan dari menspesifikasikan predikat yang muncul dari sebuah batasan pada sebuah tuple didalam sebuah relasi. Hal ini di definisikan dengan menggunakan operasi SELECT dari aljabar relasional.
Operasi SELECT mengumpulkan tuple yang memiliki kesamaan kepunyaan; sebagai contoh, tuple yang semua nya menggunakan aplikasi yang sama atau pada situs yang sama. Berikan relasi R sebuah horisontal fragmentasi yang didefinisikan:
Dimana P adalah sebuah predikat yang berdasarkan atas satu atau lebih atribut didalam suatu relasi.
Contoh, diasumsikan hanya mempunyai dua tipe properti yaitu tipe flat dan rumah, horisontal fragmentasi dari properti untuk di sewa dari tipe properti dapat di peroleh sebagai berikut:
Hasil dari operasi tersebut akan memiliki dua fragmentasi, yang satu terdiri dari tipe yang mempunyai nilai 'Rumah' dan yang satunya yang mempunyai nilai 'Flat'.
P1: σ tipe 'Rumah' properti sewa
P2: σ tipe 'Flat'properti sewa
Fragment P1
| Pno | Street | Area | City | Pcode | Type | Rooms | Rent | Cno | Sno | Bno |
|------|---------|------|------|-------|-------|-------|------|------|------|-----|
| PA14 | 16 Holl | Dee | Aber | AB75S | Rumah | 6 | 650 | CO46 | SA9 | B7 |
| PG21 | 18 Dell | Hynd | Glas | G12 | Rumah | 4 | 500 | CO87 | SG37 | B3 |
Fragment P2
| Pno | Street | Area | City | Pcode | Type | Rooms | Rent | Cno | Sno | Bno |
|------|--------|------|------|-------|------|-------|------|------|------|-----|
| PL94 | 6 Arg | Dee | Aber | AB74S | Flat | 4 | 450 | CO67 | SL41 | B5 |
| PG4 | 8 Law | Hynd | Glas | G50 | Flat | 4 | 400 | CO70 | SG14 | B3 |
| PG16 | 2 Man | Part | Glas | G67 | Flat | 3 | 300 | CO90 | SG14 | B3 |
Fragmentasi seperti ini mempunyai keuntungan jika terjadi transaksi pada beberapa aplikasi yang berbeda dengan Flat ataupun Rumah.
Fragmentasi skema memuaskan aturan pembetulan (Correctness rules):
- Kelengkapan, setiap tuple pada relasi muncul pada fragment P1 atau P2.
- Rekonstruksi, relasi Properti sewa dapat di rekonstruksi dari fragmentasi menggunakan operasi Union, yakni: P1 U P2 = Properti sewa.
- Penguraian, fragmen di uraikan maka tidak ada tipe properti yang mempunyai tipe flat ataupun rumah.
Terkadang pemilihan dari strategi horisontal fragmentasi terlihat jelas. Bagaimanapun pada kasus yang lain, diperlukan penganalisaan secara detail pada aplikasi. Analisa tersebut termasuk dalam menguji predikat atau mencari kondisi yang digunakan oleh transaksi atau queri pada aplikasi.
Predikat dapat berbentuk sederhana (atribut tunggal) ataupun kompleks (banyak atribut). Predikat setiap atribut mungkin mempunyai nilai tunggal ataupun nilai yang banyak. Untuk kasus selanjutnya nilai mungkin diskrit atau mempunyai range.
Fragmentasi mencari group predikat minimal yang dapat digunakan sebagai basis dari fragmentasi skema. Set dari predikat disebut lengkap jika dan hanya jika ada dua tuple pada fragmen yang sama bereferensi pada kemungkinan yang sama oleh beberapa aplikasi. Sebuah predikat dinyatakan relevan jika ada paling tidak satu aplikasi yang dapat mengakses hasil dari fragment yang berbeda.
2. Vertikal Fragmentasi
Adalah relasi yang terdiri dari subset pada atribut. Fragmentasi vertikal ini mengumpulkan atribut yang digunakan oleh beberapa aplikasi. Di definisikan menggunakan operasi PROJECT pada aljabar relasional. Relasi R sebuah vertikal fragmentasi di definisikan:
Dimana a1,a2,...an merupakan atribut dari relasi R.
Contoh, aplikasi Payroll untuk PT. Dream Home membutuhkan nomor pokok daari Staff ( Sno) dan Posisi, Sex, DOB,Gaji dan NIN atribut setiap anggota dari staff tersebut; departemen kepegawaian membutuhkan; Sno,Fname,Lname, Alamat,Tel_no dan Bno atribut, Vertikal fragmentasi dari staff untuk contoh ini diperlukan sebagai berikut:
S1 = ∏ Sno,posisi,sex,dob,gaji,nin(Staff)
S2 = ∏ Sno,Fname,Lname,Alamat,Tel_no,Bno(Staff).
Akan menghasilkan dua buah fragmen , kedua buah fragmen tersebut berisi kunci utama ( Sno ) untuk memberi kesempatan yang aslinya untuk di rekonstruksi. Keuntungan dari vertikal fragmentasi ini yaitu fragmen-fragmen tersebut dapat disimpan pada situs yang memerlukannya. Sebagai tambahan kinerja yang di tingkatkan, seperti fragmen yang diperkecil di bandingkan dengan yang aslinya.
Fragmentasi ini sesuai dengan skema kepuasan pada aturan pembetulan (Correcness Rules):
- Kelengkapan, setiap atribut di dalam relasi staff muncul pada setiap fragmen S1 dan S2
- Rekonstruksi, relasi staff dapat di rekonstruksi dari fragmen menggunakan operasi natural join, yakni: S1 l><l S2 = Staff.
- Penguraian, fragment akan diuraikan kecuali kunci utama, karena diperlukan untuk rekonstruksi.
Fragment S1
| Sno | Posisi | Sex | DOB | Salary | NIN |
|------|-----------|-----|-----------|--------|----------|
| SL21 | Manager | M | 1-oct-60 | 300000 | WK44201B |
| SG37 | Snr Ass | F | 10-nov-65 | 150000 | WL43251C |
| SG14 | Deputy | M | 24-mar-70 | 100000 | WL22065B |
| SA9 | Assistant | F | 20-jan-70 | 90000 | WM53218D |
Fragment S2
| Sno | Fname | Lname | Alamat | Tel_no | Bno |
|------|-------|-------|-------------------|---------------|-----|
| SL21 | John | White | 19 Taylor London | 0171-884-5112 | B5 |
| SG37 | Ann | Beech | 81 George Glasgow | 0141-848-3345 | B3 |
| SG14 | David | Ford | 63 Ashby Glasgow | 0141-339-2177 | B3 |
| SA9 | Marie | Howe | 2 Elm Abeerdeen | | B7 |
3. Campuran Fragmentasi
Fragmentasi ini terdiri dari horisontal fragmentasi setelah itu vertikal fragmentasi, atau vertikal fragmentasi lalu horisontal fragmentasi. Fragmentasi campuran ini di definisikan menggunakan operasi SELECT dan PROJECT pada aljabar relasional. Relasi R adalah fragmentasi campuran yang didefinisikan sbb:
σp (∏ a1,a2,...an (R)) atau ∏ a1,a2,...an (σp (R))
Dimana p adalah predikat berdasarkan satu atau lebih atribut R dan a1,a2,...an adalah atribut dari R. Contoh, vertikal fragmentasi staff dari aplikasi payroll dan departemen kepegawaian kedalam:
S1 = ∏ Sno,posisi,sex,dob,gaji,nin(Staff)
S2 = ∏ Sno,Fname,Lname,Alamat,Tel_no,Bno(Staff)
Lalu lakukan horisontal fragmentasi pada fragmen S2 menurut nomor cabang:
- S21 = σ Bno = B3(S2)
- S22 = σ Bno = B5(S2)
- S23 = σ Bno = B7(S2)
Fragment S1
| Sno | Posisi | Sex | DOB | Salary | NIN |
|------|-----------|-----|-----------|--------|----------|
| SL21 | Manager | M | 1-oct-60 | 300000 | WK44201B |
| SG37 | Snr Ass | F | 10-nov-65 | 150000 | WL43251C |
| SG14 | Deputy | M | 24-mar-70 | 100000 | WL22065B |
| SA9 | Assistant | F | 20-jan-70 | 90000 | WM53218D |
Fragment S21
| Sno | Fname | Lname | Alamat | Tel_no | Bno |
|------|-------|-------|-------------------|---------------|-----|
| SG37 | Ann | Beech | 81 George Glasgow | 0141-848-3345 | B3 |
| SG14 | David | Ford | 63 Ashby Glasgow | 0141-339-2177 | B3 |
Fragment S22
| Sno | Fname | Lname | Alamat | Tel_no | Bno |
|------|-------|-------|------------------|---------------|-----|
| SL21 | John | White | 19 Taylor London | 0171-884-5112 | B5 |
Fragment S23
| Sno | Fname | Lname | Alamat | Tel_no | Bno |
|-----|-------|-------|-----------------|--------|-----|
| SA9 | Marie | Howe | 2 Elm Abeerdeen | | B7 |
Dari fragmentasi tersebut akan menghasilkan tiga buah fragmen yang baru berdasarkan nomor cabang. Fragmentasi tersebut sesuai dengan aturan pembetulan.(Correction rules).
- Kelengkapan, setiap atribut pada relasi staff muncul pada fragmentasi S1 dan S2 dimana setiap tupel akan mencul pada fragmen S1 dan juga fragmen S21 ,S22 dan S23.
- Rekonstruksi, relasi staff dapat di rekonstruksi dari fragmen menggunakan operasi Union dan Natural Join , yakni: S1 l><l (S21 U S22 U S23 ) = Staff.
- Penguraian, penguraian fragmen; tidak akan ada Sno yang akan muncul di lebih dari satu cabang dan S1 dan S2 adalah hasil penguraian kecuali untuk keperluan duplikasi kunci utama.
4. Derived Horisontal Fragmentation
Beberapa aplikasi melibatkan sua atau lebih relasi gabungan. Jika relasi disimpan ditempat yang berbeda, mungkin akan memiliki perbedaan yang siginifikan di dalam proses penggabungan tersebut. Di dalam fragmentasi ini akan lebih pasti keberadaan relasi atau fragmen dari relasi di tempat yang sama.
Derived fragmen
Horisontal fragmen yang berdasarkan fragmen dari relasi yang utama. Istilah anak akan muncul kepada relasi yang mengandung foreign key dan parent pada relasi yang mengandung primari key. Derived fragmentasi di jabarkan dengan menggunakan operasi semijoin dari aljabar relasional. Misalkan relasi anak adalah R dari relasi parent adalah S, maka fragmentasi derived digambarkan sebagai berikut:
Dimana w adalah nomor dari fragmen horisontal yang telah digambarkan pada S dan f adalah atribut join.
Contoh, suatu perusahan mempunyai aplikasi yang menggabungkan relasi staff dan PropertyForRent secara bersamaan. Untuk contoh ini di asumsikan staff telah terfragmentasi secara horisontal berdasarkan nomor cabang. Jadi data yang berhubungan dengan cabang disimpan di tempat:
- S3 = σ Bno = B3(Stsff)
- S4 = σ Bno = B5(Staff)
- S5 = σ Bno = B7(Staff)
Diasumsikan bahwa properti PG4 diatur oleh SG14. Ini seharusnya berguna untukmenyimpan data propetri yang menggunakan strategi fragmentasi sama. Ini di peroleh dengan menggunakan derived fragmentasi untuk menfragmentasi secara horisontal relasi PropertiForRent berdasarkan nomor cabang:
PI = PropertiForRent → staffno Sf 3 ≤ I ≥ 5
Menghasilkan 3 fragmen (P3,P4 dan P5). Satu terdiri dari proreprti yang diatur oleh staff dengan nomor cabang B3 (P3), yang satunya terdiri dari properti yang diatur oleh staf dengan nomor cabang B5 (P5) dan yangterakhir terdiri dari properti yang diatur oleh staff dengna nomro cabang B7 (P7). Akan mudah dilihat skema fragmentasi ini sesuai dengan peraturan fragmentasi.
Fragment P3
| Pno | Street | City | Pcode | Type | Rooms | Rent | Cno | Sno |
|------|---------|------|-------|-------|-------|------|------|-------|
| PG4 | 6Law | Glas | G11 | Flat | 3 | 350 | CO40 | SG149 |
| PG36 | 2 Mann | Glas | G32 | Flat | 3 | 375 | C093 | SG37 |
| PG21 | 18 Dell | Glas | G12 | House | 4 | 500 | CO87 | SG37 |
| PG16 | 5 Nov | Glas | G12X | Flat | 4 | 450 | C093 | SG14 |
Fragment P4
| Pno | Street | City | Pcode | Type | Rooms | Rent | Cno | Sno |
|------|--------|------|-------|------|-------|------|------|------|
| PL94 | 6 Arg | Lon | NW1 | Flat | 4 | 400 | CO87 | SL41 |
Fragment P5
| Pno | Street | City | Pcode | Type | Rooms | Rent | Cno | Sno |
|------|--------|------|-------|-------|-------|------|------|-----|
| PA14 | 16Holl | Aber | AB74S | House | 6 | 650 | CO46 | SA9 |
5. Tidak Terdapat Fragmentasi
Strategi final adalah tidak memfragmentasikan relasi. Sebagai contoh, relasi cabang hanya mengandung sejumlah update secara berkala. Daripada mencoba untuk menfragmentasikan relasi secara horisontal, misalnya nomor cabang akal lebih masuk akal lagi untuk membiarkan relasi keseluruhan dan mereplikasi relasi cabang pada setiap sisinya.
6. Aturan Pembuatan Fragmentasi
Fragmentasi tidak bisa di buat secara serampangan, ada tiga buah aturan yang harus dilakukan untuk pembuatan fragmentasi yaitu:
6.1. Kelengkapan
Jika relasi contoh R di dekomposisi ke dalam fragment R1, R2, R3,... Rn, masing-masing data yang dapat ditemukan pada relasi R harus muncul paling tidak di salah satu fragmen. Aturan ini di perlukan untuk meyakinkan bahwa tidak ada data yang hilang selama fragmentasi.
6.2. Rekonstruksi
Jika memungkinkan untuk mendefinisikan operasional relasi yang akan dibentuk kembali relasi R dari fragmen-fragmen. Aturan ini untuk meyakinkan bahwa fungsional ketergantungan di perbolehkan.
6.3. Penguraian
Jika item data di muncul pada fragment Ri, maka tidak boleh muncul di fragmen yang lain. Vertikal fragmentasi diperbolehkan untuk aturan yang satu ini, dimana kunci utama dari atribut harus diulanmg untuk melakukan rekonstruksi. Aturan ini untuk meminimalkan redudansi.