Bila kondisi ini terpenuhi maka ini yang disebut Lessloss-join decomposition.
Contohnya sebuah dekomposisi yang non-Lossless-join:
| Dekomposisi => |
|
|
Bila kedua relasi R2 dan R3 digabung kembali maka akan didapat:
R4 | ||
---|---|---|
A | B | |
X | 1 | |
X | 2 | |
Y | 1 | |
Y | 2 | |
Kondisi ini yang disebut Lossy join decomposition.
Untuk menghindari dekomposisi Lossy-join maka pada relasi hasil dekomposisi harus memiliki attribut yang beririsan. Contohnya adalah pada Relasi StaffBranch diatas didekomposisi menjadi Relasi Staff dan Relasi Branch dimana attribut BranchNo sebagai irisannya.
Ada dua properti penting dalam dekomposisi yaitu Lossless-join Property dan Dependency Preservation Property. Dalam sebuah dekomposisi apakah memenuhi kaidah Lossless-join dan apakah memenuhi kaidah Dependency Preservation.
Masih bingung??? sama saya juga, mari kita lihat lagi.
Untuk mendapatkan dekomposisi yang Lossless-join harus ada attribut yang beririsan namun harus hati hati supaya dekomposisi harus juga Dependency Preserving. Untuk bisa mendapatkan Dependency Preserving syaratnya adalah constraint yang berlaku direlasi awal harus juga berlaku di relasi hasil dekomposisi. Berikut contohnya:
PhoneAddress | ||
---|---|---|
Mahasiswa | NoHP | Operator |
Wawan | 0815 06 | Matrix |
Wawan | 0817 07 | Pro XL |
Aan | 0815 08 | Matrix |
Nuri | 0812 09 | Simpati |
Tanda “→” dibaca “menentukan”
Relasi PhoneAddress kemudian dengan cara pertama didekomposisi menjadi:
| → |
|
Constraint awal adalah {Mahasiswa → NoHP, NoHP → Operator}, kemudian dari dua relasi diatas ada irisan yaitu attribut {NoHP}, dengan demikian ketika kita merujuk salah satu nama Mahasiwa pada relasi PA1 maka kita akan dapat NoHP, berbekal NoHP ketika kita pergi ke PA2 kita bisa mendapat nama Operator.
Sekarang kita pakai cara dekomposisi kedua:
| → |
|
Constraint awal adalah {Mahasiswa → NoHP, NoHP → Operator}, kemudian dari dua relasi diatas ada irisan yaitu attribut {Mahasiswa}, ketika kita merujuk salah satu nama Mahasiwa pada relasi PA1 maka kita akan dapat NoHP, berbekal NoHP kita tidak dapat mendapat nama Operator pada relasi PA2.
Dekomposisi cara kedua diatas juga Lossless-join karena memiliki attribut irisan {Mahasiswa} tapi tidak Dependency Preserving karena constraint yang berlaku pada awal relasi sebelum didekomposisi tidak berlaku lagi.
Untuk ringkasnya lihatyang beriku tini:
- Ada sebuah Relasi: R = (A, B, C)
Constraint F = {A → B, B → C}- Dapat didekomposisi dalam dua cara.
- Cara pertama: R1 = (A, B), R2 = (B, C)
- Lossless-join decomposition: R1 → R2 = {B} dan B → BC
- Dependency preserving
- Cara kedua: R1 = (A, B), R2 = (A, C)
- Lossless-join decomposition: R1 → R2 = {A} dan A → AB
- Not dependency preserving
Apa itu dependency (ketergantungan)? Dependency secara garis geras ada dua macam yaitu Functional Dependency dan Multivalued Denpendency.
Keren, ini baru ilmu. terus di update pak. numpang belajar saya. hehehehehe
BalasHapuswahyu
kebetulan saya memang mencari bahan ini di internet, tapi mohon maaf sebelumnya, kok isinya sama persis dengan link yang saya temukan ya, apakah pemilik blog sama?
BalasHapuslink: http://blog.cybergl.co.id/2008/03/05/dekomposisi/