MODUL XII
“Aljabar Relasional”
Disusun Oleh :
ISHIKA NUR AISYAH ERDIANI
21103047
1. SELECT ()
Digunakan untuk menyeleksi sekumpulan tupel dari sebuah relasi yang
memenuhi predikat/kondisi seleksi,notasinya : p(r). Predikat (p) muncul
sebagai subcript dari . Argumen relasi diberikan dalam kurung yang
mengikuti .
Dijabarkan :
p(r) = {t | t r and p(t)}
Penggabungan formula :
^ (and), v(or), ¬(not)
Operator :
=, ≠, >, ≥,<,≤
Contoh :
Tampilkan data mahasiswa yang tempat tinggalnya di Bogor.
kota = ‘Bogor’ (mahasiswa)
Tampilkan daftar dosen yang tempat lahirnya di ‘Bekasi
tempat_lhr=’Bekasi’ (Dosen)
Tampilkan daftar dosen yang tempat lahirnya di ‘Jakarta’ atau ‘Bogor’
tempat_lhr =’Jakarta’ v tempat_lhr=’Bogor’ (Dosen)
Tampilkan daftar dosen yang lahir di ‘Bogor’ dan berjenis kelamin ‘Pria’
tempat_lhr=’Bogor’ ^ jkelamin=’Pria’ (Dosen)
2. PROJECT ()
Operasi untuk memperoleh kolom – kolom tertentu. Hasilnya adalah
sebuah relasi dari beberapa yang didefinisikan pada query. Hasil yang
duplikat akan diambil salah satu. Notasinya : A1, A2, A3, A4,…,An ( r
), dimana A1, A2, … , An adalah nama atribut dan r adalah nama relasi.
Contoh:
Untuk mengambil data hanya pada kolom nama_mahasiswa dari
relasi/tabel Mahasiswa
nama_mahasiswa (Mahasiswa)
Tampilkan nid,nama_d,alamat,kota dari relasi Dosen
nid,nama,alamat,kota(Dosen)
Tampilkan nid, nama, alamat, kota, gajipokok dari relasi Dosen, dimana
gaji pokoknya lebih besar dari Rp.1200000
nid, nama, alamat, kota, gajipokok (gajipokok>1200000(Dosen))
3. UNION ()
Notasi:
rs
Dijabarkan :
r s = {t | t r or t s}
Syarat r s valid :
1. r, s harus memiliki jumlah atribut yang sama
2. Domain atribut harus kompatibel (contoh: kolom kedua r tipe nilai
yang dikeluarkan sama dengan kolom kedua s) → union-compatible
3. Dua relasi dikatakan union-compatible jika memiliki derajat yang
sama(jumlah atribut yang sama ) dan urutan atribut memiliki domain
yang sama
Asumsi ada 2 tabel :
Checking-Account (c-num, c-owner, c-balance)
Saving-Account (s-num, s-owner, s-balance)
Kedua tabel tersebut union-compatible.
Union, intersection dan set difference membutuhkan tabel-tabel yang
union-compatible.
Contoh :
carilah nama customer yang memiliki deposito dan pinjaman
customer_name (depositor) customer_name (borrower)
4. INTERSECTION ()
Hasil dari operasi ini, dinotasikan dengan R ∩ S, adalah sebuah relasi
yang mengandung semua tuple yang muncul pada R dan S. Harus
"type compatible".
Union and intersection adalah operasi komutatif dimana R ∪ S = S ∪
R, and R ∩ S = S ∩ R. Union and intersection dapat ditangani dalam
bentuk operasi n-ary yang menangani banyak relasi dan merupakan
operasi asosiasi dimana R ∪ (S ∪ T) = (R ∪ S) ∪ T, and (R ∩ S) ∩ T
= R ∩ (S ∩ T)
7. RENAME ()
Mengubah nama dari hasil aljabar relasional, notasinya x (E) yang
berarti menghasilkan E dengan nama X. Jika aljabar relasional E
memiliki dari 1 atribut lebih , maka x(A1, A2, … , An) ( E ),
menghasilkan E dengan nama X, dan dengan nama atribut A1 , A2 ,
…., An.
Menghasilkan relasi baru dengan skema yang sama dan konten sama,
hanya berbeda nama baik nama relasi maupun nama atribut. Relasi
aslinya tidak berubah.
Contoh,
salinlah data dari table Dosen, dimana jenis kelaminnya adalah ‘Pria’
kedalam table baru dengan nama DosenNew.
DosenNew ( jkelamin=’Pria’ (Dosen))
II. GUIDED
Aktifkan basisdata db_akademik yang telah dibuat pada praktikum
sebelumnya/dibagikan saat praktikum berlangsung. Kemudian jawablah
pertanyaan-pertanyaan dibawah ini dengan benar.
1. fakultas = “FTII” (Dosen)
6. usia(mahasiswa) usia(dosen)
7. usia(mahasiswa) usia(dosen)
8. usia(mahasiswa) - usia(dosen)
9. usia(dosen) - usia(mahasiswa)
10. Siapakah mahasiswa yang sudah menikah dan tampilkan mata kuliah apa saja
yang diambil oleh mahasiswa yang sudah menikah (tampilkan
nama_mahasiswa diberi nama dengan “Mahasiswa Dewasa”, status
pernikahan, dan nama_matkul)
11. Tampilkan nama dosen yang memiliki usia yang sama dengan usia mahasiswa
(tampilkan nama_dosen, nama_mahasiswa, dan usia keduanya)
12. Tampilkan nama dosen yang tidak memiliki usia yang sama dengan
mahasiswa (tampilkan nama_dosen, nama_mahasiswa, dan usia keduanya)
13. Siapakah dosen yang memiliki gaji lebih kecil dari rerata gaji ? Tampilkan
nama dosen, besar gaji, dan golongan.
14. Berapakah gaji dosen yang mengajarkan diruang Rek202, sertakan nama
dosen, gaji, nama mata kuliah, dan ruang kuliah
15. Siapakah dosen dari Fakultas FTII yang memiliki gaji terbesar ?
16. Siapakah mahasiswa yang memiliki usia diatas rerata usia ? Tampilkan nama
mahasiswa dan usianya
17. Siapa sajakah dosen yang berpendidikan teknik ? Tampilkan nama dosen,
pendidikan, dan nama_matkul yang diampu