Oleh: Henry Primandari,S.Kom STMIK-MDP Palembang Aljabar Relasional Oleh: Henry Primandari,S.Kom STMIK-MDP Palembang
Aljabar Relasional Aljabar relasional merupakan salah satu bahasa manipulasi untuk database relasional. Aljabar relasional merupakan kumpulan operasi terhadap relasi dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan relasi yang baru.
Aljabar Relasional Aljabar relasional termasuk bahasa prosedural yang menyediakan seperangkat operator untuk memanipulasi data.
1. Operasi Dasar Operasi dasar antara lain ; Cartesian product (X) Union (È) Difference (-) Intersection (Ç) Division (¸) Natural Join (q)
1. Cartesian Product (x) Operator Cartesian product menggunakan symbol X. Operasinya ditulis dalam bentuk umum : R1 X R2
1. Cartesian Product (x) Contoh operasi : R1 R2 R1 x R2 A B A1 B1 A2
1. Cartesian Product (x) Contoh operasi dalam SQL: Select * from Pegawai,Departemen Hasilnya : Pegawai x Departemen Karena hal itu, maka agar terhubung antara tabel pegawai dan departemen harus ditambahkan kriteria : Departemen.No_Dept = Pegawai.No_Dept
2. Union (È) A B Operator union menggunakan simbol È. Operasi UNION, ditulis : R = R1 È R2 A B
2. Union (È) R1 R2 R= R1 È R2 A B C A1 B1 C1 A2 B2 C2 A3 B3 C3 A B C D E F A B C A1 B1 C1 A2 B2 C2 A3 B3 C3 D E F
2. Union (È) Operasi dengan SQL : Select NIK,Nama,Sex,Kota From Pegawai Where Kota=‘Bandung’ Union Select NIK,Nama,Sex,Kota From Pegawai Where Sex=‘P’ Hasilnya : Berupa sebuah tabel dengan data gabungan, dimana antara tabel yang berisi data pegawai dengan kota lahir ‘Bandung’ dan tabel dengan data pegawai dengan jenis kelamin perempuan. Note : antara tabel pertama dan tabel yang kedua harus memiliki jumlah atribut yang sama dengan nama yang sama.
3. Difference (-) Berfungsi mengeliminasi record(baris data) pada suatu tabel A dengan record-record yang ada pada tabel B. A-B A B
3. Difference (-) Operasi pada SQL ; Select * From Pegawai Where NIK Not IN (Select Distinct NIK From Tanggungan) Hasilnya : Sebuah tabel Pegawai hanya untuk data pegawai yang tidak memiliki tanggungan, dengan mengecek NIK-nya tidak ada pada tabel tanggungan.
4. Intersection (Ç) A B A Ç B Operasi ini merupakan operasi irisan antara dua buah tabel. Operasinya ditulis : A Ç B A B A Ç B
4. Intersection (Ç) R1 R2 R1 Ç R2 A B C A1 B1 C1 A2 B2 C2 A3 B3 C3 A B P Q A2 B2 C2 A B C A2 B2 C2
4. Intersection (Ç) Operasi pada SQL ; Select S.Kd_Angg,S.Nama From Simpanan S, Pinjaman P Where S.Kd_Angg=P.Kd_Angg Ket : Operasi difference (irisan) tidak ubahnya dengan perintah penggabungan untuk merelasikan antara dua tabel,dimana menggunakan sebuah atribut yang menjadi kunci dalam persamaannya.
5. Division (¸) Operasi division digunakan dalam query yang mencakup frasa “Setiap” atau “Untuk Semua”. Operasi ini juga merupakan operasi pembagian atas tupel-tupel dari dua relasi.
5. Division (¸) R1 R2 R1 ¸ R2 A B a 1 2 b c B 1 2 A a b
5. Division (¸) Operasi SQL : Select A From (Select * From R1 Where B='1' or B='2') Group by A Having Count(A)=2
6. Natural Join (q) Operasi Natural Join dikembangkan dari operasi Cartesian Product (x), dimana semua atribut persekutuan (common attributes) dari tabel A dan B harus memiliki nilai yang sama. Contoh : Gabungan tabel karyawan dan departemen menghasilkan Cartesian Product, agar terbentuk natural join, maka Departemen.No_Dept = Karyawan.No_Dept
6. Natural Join (q) R1 R2 R1 q R2 A B C A1 B1 1 A2 B2 2 A3 B3 A4 B4 3 D 1 D1 2 D2 A B C D A1 B2 1 D1 A2 2 D2 A3 B3
6. Natural Join (q) Operasi SQL : Select * from Karyawan,Departemen Where Karyawan.No_Dept=Departemen.No_Dept Ket : Atribut persekutuan (Common Attribute) dari dua tabel (A dan B) harus memiliki nilai yang sama, dalam hal ini atribut No_Dept