Dalam sistem basis data, ada suatu kondisi kita harus mendapat informasi tertentu dari basis data tersebut. Hal yang bisa kita lakukan adalah dengan melakukan suatu command atau perintah melalui bahasa tertentu yakni kita sebut bahasa query. Bahasa query sendiri dikelompokkan lagi menjadi 2, yakni :
- Bahasa prosedural => user menginstruksikan sistem dalam serangkaian perintah ke dalam basis data untuk mendapatkan informasi yang diinginkan.
- Bahasa non-prosedural => user tidak perlu menginstruksikan perintah apapun untuk mendapatkan informasi.
- Aljabar relasional
- Select (s)
- Project (p)
- Union (È)
- Set-difference (-)
- Cartesian-product(X, disebut juga sebagai cross product)
- Set intersection
- Theta join
- Natural join
- Division
- Operasi unary => beroperasi pada sebuah tabel untuk mendapatkan informasi yang diinginkan. Contoh operasinya : select, project, rename
- Operasi binary => beroperasi pada beberapa tabel untuk mendapatkan informasi yang diinginkan. Contoh operasinya : Cartesian-product, union, set-difference
- Operasi Select (s)
Merupakan operasi query yang paling umum, dimana operasi ini digunakan untuk mengambil data dari satu atau lebih tabel, selain itu juga digunakan untuk mengelompokkan sejumlah record dan menghitung total, banyak data, serta rata-ratanya. Beberapa operasi dapat dikombinasikan menggunakan operator Ú (OR) dan Ù (AND).
Untuk melihat hasil operasi dari selection ini, saya menggunakan relasi-relasi berikut :
Contoh 1.1 :
Query : Tampilkan dosen yang lahir di Banyumas
Ekspresi aljabar relasional : s tLahir=”Banyumas” (Dosen)
Contoh 1.2 :
Query : Tampilkan dosen yang lahir di Banyumas atau Bandung
Ekspresi Aljabar Relasional : s tLahir=”Banyumas” Ú tLahir “Bandung” (Dosen)
2. Projection (p)
Adalah operasi untuk menampilkan attribute atau kolom tertentu. Operasi ini adalah salah satu jenis operasi unary dimana hanya mengirim satu relasi argument dengan kolom tertentu pula. Karena relasi merupakan suatu himpunan, maka duplikasi data dihilangkan.
Contoh 2.1 :
Query : Tampilkan NIP, nama, tLahir, tglLahir,alamat dari relasi Dosen
Ekspresi aljabar relasional : p NIP,nam, tLahir, tglLahir, alamat (Dosen)
Contoh 2.2 :
Query : Tampilkan NIP, nama, tLahir, tglLahir, alamat, gPokok dimana tLahir dosen adalah Banyumas dan gaji pokok lebih dari 2000000
Ekspresi aljabar relasional : p NIP,nam, tLahir, tglLahir, alamat (s alamat=”Bali” Ù gPokok >2000000) (Dosen)
3. Operasi Cartesian-product(X)
Adalah operasi yang melakukan perkalian kartesian, dengan output adalah tabel baru hasil perkalian tersebut. Kegunaan operasi ini adalah untuk mengkombinasikan informasi dari beberapa tabel sehingga operasi ini juga termasuk operasi binary.
Contoh 3.1 :
Query : Cartesian-product (X) relasi Jurusan dan TugasJurusan
Ekspresi Aljabar Relasional : Jurusan X TugasJurusan
Contoh 3.2 :
Query : Tampilkan NIP, nama (dari relasi Dosen), idJurusan, tglMulai (dari relasi TugasJurusan) dimana tglMulai adalah 11 Agstustus 1980.
Ekspresi aljabar relasional : p NIP,nama, idJurusan, tglMulai, (s tglMulai=11-Agst-1980ÙDosen.NIP=TugasJurusan.NIP) (Dosen, TugasJurusan)
Atau
p (TugasJurusan.NIP=Dosen.NIP) Ù tglMulai=11-Agst-1980 ((p NIP,nama (Dosen) X (pidJurusan, tglMulai (TugasJurusan)))
Adalah operasi untuk menggabungkan tabel dengan ketentuan bahwa masing-masing tabel yang akan digabungkan harus memiliki atribut yang sama.
Contoh 4.1 :
Query : Tampilkan NIP (dari relasi Dosen) union dari NIP (dari relasi TugasJurusan).
Ekspresi aljabar relasional : p NIP (Dosen) È NIP (TugasJurusan)
5. Operasi Set-Difference (-)
Operasi untuk memperoleh informasi dari suatu relasi, tapi informasi tersebut tidak ada pada relasi lainnya. Operasi hanya bisa dilakukan untuk tabel-tabel tertentu dengan atribut yang dimiliki masing-masing table ada yang tidak sama.
Contoh 5.1 :
Query : Tampilkan NIP (dari relasi Dosen) set-difference dari NIP (dari relasi TugasJurusan).
Ekspresi aljabar relasional : p NIP (Dosen) - NIP (TugasJurusan)
6. Operasi Rename (r)
Adalah operasi untuk mengcopy tabel lama ke dalam tabel baru.
Contoh 6.1 :
Query : Salinlah tabel baru dengan nama DosenNew dari tabel Dosen, dimana jenis kelaminnya adalah ‘Pria’.
Ekspresi aljabar relasional : r DosenNew (s jKelamin=”Pria”) (Dosen)
7. Operasi Set-Intersection (Ç)
Operasi ini dapat diturunkan dari operasi dasar menjadi seperti berikut :
Oleh karena itu operasi ini termasuk ke dalam operasi tambahan atau operasi turunan. Operasi ini juga merupakan opersi binary, karena menghubungkan antara dua relasi untuk membentuk suatu relasi yang baru.
0 komentar:
Posting Komentar