Aljabar Relational IK203 Sistem Basis Data Pertemuan #4 Suryo Widiantoro, ST, MMSI, M.Com(IS)
Aljabar Relational Menjelaskan secara teori cara untuk memanipulasi konten dari tabel menggunakan delapan operator relational Unary: SELECT, PROJECT, Set: UNION, INTERSECT, DIFFERENCE, PRODUCT, Join: JOIN, Division: DIVIDE
1# SELECT SELECT, disebut juga RESTRICT, memberikan nilai untuk semua baris yang memenuhi kondisi tertentu dalam sebuah tabel. SELECT dapat digunakan untuk mendata seluruh nilai pada baris, atau memberikan nilai hanya pada baris yang memenuhi kriteria tertentu. Dengan kata lain, SELECT menghasilkan sebuah subset horizontal dari sebuah table.
Semua operator relational memiliki sifat closure; yaitu penggunaan operator aljabar relational pada relation (tabel) yang sudah ada akan menghasilkan relation baru
2# PROJECT PROJECT memberikan semua nilai untuk attribute yang dipilih. Dengan kata lain, PROJECT menghasilkan sebuah subset vertikal dari sebuah tabel.
3# UNION UNION mengombinasikan seluruh baris dari 2 tabel, dengan tidak menyertakan baris yang duplikasi. Tabel harus memiliki karakteristik attribute yang sama (kolom dan domain harus kompatibel) untuk bisa digunakan pada UNION. Saat 2 atau lebih tabel memiliki jumlah kolom yang sama, dan saat kolom yang saling berkoresponden memiliki domain yang sama (atau kompatibel), maka tabel dikatakan sebagai union-compatible.
4# INTERSECT INTERSECT memberikan hanya baris yang muncul pada dua tabel. Sebagaimana pada UNION, tabel harus union-compatible untuk memberikan hasil yang valid.
Sebagai contoh, INTERSECT tidak dapat digunakan apabila salah satu attribute adalah numerik dan satu lainnya adalah berbasis karakter.
5# DIFFERENCE DIFFERENCE memberikan seluruh baris pada satu tabel yang tidak terdapat pada tabel lainnya; atau dengan kata lain, mengurangi satu tabel dengan tabel lainnya. Seperti pada UNION, tabelnya harus union-compatible untuk mendapatkan hasil yang valid.
Perhatikan bahwa mengurangi tabel pertama dengan tabel kedua adalah tidak sama dengan mengurangi tabel kedua dengan tabel pertama.
6# PRODUCT PRODUCT memberikan seluruh pasangan baris yang memungkinkan dari 2 tabel—juga disebut sebagai produk Cartesian. Sehingga, bila ada tabel memiliki 6 baris dan tabel lainnya memiliki 3 baris, maka PRODUCT menghasilkan sebuah daftar yang berisi 6 ×3 =18 baris.
7# JOIN JOIN memungkinkan informasi untuk dikombinasikan dari 2 atau lebih tabel. JOIN adalah kekuatan utama dibalik database relational, memungkinkan penggunaan tabel yang independen yang terhubung melalui attribute yang sama.
Natural join menghubungkan tabel dengan memilih hanya baris yang memiliki nilai sama pada attribute yang sama, dan merupakan hasil dari proses 3-tahap berikut ini: Lakukan PRODUCT dari tabel-tabel tersebut Lakukan SELECT pada hasil langkah a) untuk menghasilkan hanya baris dengan nilai attribute yang sama. Kolom yang sama disebut sebagai kolom join. Lakukan PROJECT pada hasil langkah b) untuk menghasilkan satu saja attribute yang sama, sehingga menghilangkan duplikasi kolom. Hasil akhir dari natural join adalah sebuah tabel yang tidak menyertakan pasangan yang tidak sesuai, dan hanya menampilkan pasangan yang sesuai saja.
Perhatikan kedua relation berikut sebagai contoh untuk natural join
Lakukan operasi PRODUCT
Lakukan operasi SELECT Terhadap semua kolom/attribute yang memiliki nilai yang sama
Lakukan operasi PROJECT Untuk menghilangkan duplikasi kolom/attribute yang bernilai sama
8# DIVIDE Operasi DIVIDE menggunakan 1 tabel kolom tunggal (kolom “a”) sebagai pembagi dan 1 tabel kolom ganda (kolom “a” and “b”) sebagai yang terbagi. Kedua tabel harus memiliki kolom yang sama (misal kolom “a”). Hasil dari operasi DIVIDE adalah sebuah tabel kolom tunggal dengan nilai pada kolom “a” dari baris pada tabel yang terbagi dimana nilai pada kolom yang sama (misal kolom “a”) dalam kedua tabel adalah sesuai.
Table 1 is “divided” by Table 2 to produce Table 3 Table 1 is “divided” by Table 2 to produce Table 3.Tables 1 and 2 both contain the column CODE but do not share LOC. To be included in the resulting Table 3, a value in the unshared column (LOC) must be associated (in the dividing Table 2) with every value in Table 1. The only value associated with both A and B is 5
penutup