11
2.2.3.1. Cross Join
Operasi Cross Join yang juga biasa disebut dengan Cross Product atau Cartesian Product dilambangkan dengan “
X
“ yang juga merupakan sebuah kumpulan operasi biner. Contoh R
1
X S
1
operasinya memungkinkan untuk menggabungkan data dari dua buah tabel atau hasil query yang berakibat semua
record di R
1
dipasangkan dengan semua record di S
1
dan hasil operasi akan memuat semua atribut yang ada di R
1
dan di S
1
dan operasi ini bersifat komutatif. Operasi Cross Join umumnya tidak berdiri sendiri, tetapi digunakan bersama
operasi lainnya, seperti operasi seleksi dan proyeksi dengan berbagai bentuk sesuai kebutuhan, sebagaimana dapat dilihat dalam contoh berikut :
Akan diambil data dari penggabungan tabel S
1
dan R
1
untuk tmt_pst=‘111975’ dan tgl_kej = ‘12231989’ operasinya dapat dituliskan
sebagai berikut :
σ
tmt_pst= ’111975’ ∧ tg_kej = ’ 2231989’
∧
S1.notsp =R1.notsp
S
1
X R
1
2.2.3.2. Natural Join
Sebuah query yang melibatkan operasi Cartesian Product umumnya menggunakan operasi seleksi untuk memberikan hasil query yang diinginkan.
Contoh : cari dari semua peserta yang telah pensiun dan tampilkan nama dan
tanggal kejadian, notsp diambil dari gabungan Tabel 4 pmk_ke1 dan Tabel 5 pensiun. Mula-mula akan menggunakan operasi Cartesian Product tabel
pensiun yang menyimpan data nama dan nopen kemudian dari tabel pmk_ke1
yang menyimpan data notsp, kemudian menyeleksi yang sesuai dengan kriteria
yang diminta yaitu no_tsp dari Tabel 4 yaitu tabel pmk_ke1 dan Tabel 5 yaitu tabel pensiun
Π
nama,notsp,tgl_kej
σ
PMK.nopen=Pensiun.nopen
pmk_ke1 X pensiun
Bentuk di atas dapat disederhanakan dengan operasi natural join yang menggabungkan operasi cartesian product dan operasi seleksi dengan
menggunakan simbol
⋈
, operasi natural join membentuk sebuah cartesian product dari kedua argumennya, lalu menetapkan sebuah seleksi untuk baris-baris
data yang memiliki kesamaan nilai untuk atribut-atribut yang muncul di kedua
12 argumennya dan akhirnya mengabaikan data-data duplikat dan perintahnya
sebagai beikut :
Π
nama,notsp,tgl_kej
pmk_ke1 ⋈ pensiun
Secara formal, jika S
1
memiliki himpunan atribut s dan R
1
memiliki
himpunan atribut r, maka dapat didefinisikan : S
1
⋈
R
1
=
Π
s r
σ
s1.a1=r1.a2
∧
s1.a1=r1.a2
∧
...
∧
s1.an=r1.an
S
1
X R
1
Dimana s = domain atribut dari S
1
r = domain atribut dari R
1
s r = { a1, a2, a3, …, an }
Jika tidak ada atribut yang sama di kedua ekspresi S
1
dan R
1
atau s r =0, maka :
S
1
⋈
R
1
= S
1
X R
1
2.2.4 Operasi Himpunan Operasi Himpunan yang digunakan adalah Union, Intersection dan
Difference.
2.2.4.1. Union R S