Query languages dapat dibagi menjadi 2, yaitu :
- 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.
Salah satunya adalah aljabar relational.
Aljabar
relasional adalah salah satu jenis bahasa query prosedural, dimana user
menginstruksikan sistem untuk melakukan sederetan perintah untuk mendapatkan
informasi yang diinginkan. Bahasa aljabar relasional ini diekspresikan dalam
bentuk operator-operator relasi yang levelnya tinggi, seperti s, p, È, -.
Operator-operator inilah yang nantinya menjadi instruksi bagi sistem dan
juga menghubungkan beberapa tabel/relasi sebagai input dan menghasilkan sebuah
tabel/relasi baru sebagai output. Terdapat lima operasi dasar di aljabar
relasional yakni :
- Select (s)
- Project (p)
- Union (È)
- Set-difference (-)
- Cartesian-product(X, disebut juga sebagai cross product)
Berdasarkan
banyaknya tabel/relasi basis data yang terlibat dalam operasi, maka operasi
aljabar relasional dibagi menjadi 2 :
- 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 :
Query :
Tampilkan dosen yang lahir di Banyumas
Ekspresi
aljabar relasional : s tLahir=”Banyumas” (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.
Query :
Tampilkan NIP, nama, tLahir, tglLahir,alamat dari relasi Dosen
Ekspresi
aljabar relasional : p NIP,nam, tLahir, tglLahir, alamat (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.
Query :
Cartesian-product (X) relasi Jurusan dan TugasJurusan
Ekspresi
Aljabar Relasional : Jurusan X TugasJurusan
4. Operasi Union (È)
Adalah
operasi untuk menggabungkan tabel dengan ketentuan bahwa masing-masing tabel
yang akan digabungkan harus memiliki atribut yang sama.
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.
Query :
Tampilkan NIP (dari relasi Dosen) set-difference dari NIP (dari relasi
TugasJurusan).
Ekspresi
aljabar relasional : p NIP (Dosen) - NIP (TugasJurusan)
Salam hangat dari penulis
Nurma Anisa Rahmaning Tiyas
^-^



