Pengertian Aljabar Relasional Aljabar Relasional adalah sebuah bahasa query prosedural yang terdiri dari sekumpulan operasi di mana masukkannya adalah satu atau dua relasi dan keluarannya adalah sebuah relasi baru sebagai hasil dari operasi tersebut . Perintah dasar dari Operasi dalam Aljabar Relasional adalah select, project, union, set difference, dan cartesian product . Namun , selain dari perintah dasar dari operasi aljabar relasional , ada beberapa tambahan operasi seperti set intersection, natural join, division dan theta join.
JENIS OPERASI DASAR
Jenis-Jenis Operasi Dasar Operasi lainnya Cross / cartesian product (X) Join ( ) Division (÷) Sum,everage,min,max Operasi-operasi dasar Select ( σ ) Projection ( ) Union ( ) Intersection ( ) Set difference ( - ) Rename ( ρ )
Jenis-Jenis Operasi Dasar Operasi unary terdiri dari selection,projection . Disebut operasi unary karena dapat digunakan hanya pada satu tabel . Operasi binary terdiri dari union, intersection, set difference, cartesian product, join dan division. Disebut operasi binary karena memerlukan sepasang tabel .
Operasi Selection ( σ ) Operasi yang digunakan untuk memilih tupel-tupel yang memenuhi suatu predikat dapat menggunakan operator perbandingan ( =,≠,>,≥,<,≤ ) pada predikat . Beberapa predikat dapat dikombinasikan menjadi predikat majemuk menggunakan penghubung AND (^) dan OR (v). Contoh : Query : tampilkan jenis film dari tabel film yang jenisnya adalah “ action “ aljabar relasional : σ jenis =“action” (film)
Tabel : film Hasilnya :
Projection ( π ) Operasi yang digunakan untuk memilih kolom dalam satu tabel : Notasi : π A1,A2, ….,An ( t ) dimana A1,A2, ….,An adalah nama atribut dan t adalah nama tabel . Hasilnya : suatu tabel dengan atribut yang tercantum pada daftar nama atribut pada operasi . Contoh : Query : tampilkan kode_film , jenis dan judul dari tabel film Aljabar relasionalnya : π kode_film,jenis,judul ( film )
Hasilnya
Union ( ) Notasi : r s, menghasilkan suatu tabel baru yg elemenya barisanya merupakan elemen dari r dan s, tidak ada duplikasi data. Notasi : r s= { x | x r , x r }
Cartesian (X) Proses yang menghasilkan tabel hasil perkalian dua tabel . Notasi : r X s ={ ( x,y ) | x r dan y s } Query : tampilkan a,b dari (r) dan c,d dari (s) Aljabar relationalnya : ( rxs )
Menggabungkan dengan Ekpresi Aljabar Lainya Tabel film : Tampilkan kode_film,judul , dan jml_film yang jumlah filmnya lebih besar dari 3 Aljabar relasionalnya : kode_film,judul,jml_film ( jml_film>3 (film) )
Difference (--) Operasi untuk mendapatkan tabel baru dari sebuah relasi dimana elemen barisnya terdapat di r tetapi tidak ada di s. r dan s harus memiliki jumlah atribut yang sama . Notasi : r-s ={x | x r dan x s} Query : tampilkan a,b,c dari tabel r dan s Aljabar relasionalnya : π a(r) - π a (r)
Difference (--)
Rename ( ) Operasi untuk menyalin tabel lama ke dalam tabel yang baru . Query : buatlah tabel baru dengan nama tb dari tabel r dimana b=5 Aljabar relasionalnya : tb ( b=5 (r)) Akan tebentuk sebuah tabel baru bernama tb dengan isi b=5;
Set Intersection ( ) Operasi binary yang digunakan untuk membentuk sebuah relasi baru dengan baris( tupel ) yang berasal dari kedua tabel yang dihubungkan . Notasi : r s = r – (r - s) atau r s = s – (s-r) Aljabar relasionalnya : (r) a (s)
Natural Join ( ) Operasi natural join memungkinkan kita untuk menggabungkan operasi select dan cartesian product menjadi hanya 1 operasi saja . Simbol “⋈“ digunakan untuk menunjukkan operasi natural join. Operasi natural join hanya menghasilkan tupel yang mempunyai nilai yang sama pada 2 atribut yang bernama sama pada 2 tabel relasi yang berbeda .
Contoh penggunaan operasi natural join : Tampilkan seluruh data yang ada pada tabel Matakuliah dan tabel Mengajar . Aljabar relasional : Matakuliah ⋈ Mengajar.Kode_mk = Matakuliah.Kode_mk Mengajar