Pertemuan 6 Aljabar Relational (2) Betha Nurina Sari,M.Kom
Banking Example branch (branch_name, branch_city, assets) customer (customer_name, customer_street, customer_city) account (account_number, branch_name, balance) loan (loan_number, branch_name, amount) depositor (customer_name, account_number) borrower (customer_name, loan_number)
Contoh Tabel Account
Contoh Query (Aljabar Relational) Tampilkan semua pinjaman yang lebih dari $1200 dari tabel pinjaman (loan) σamount > 1200 (loan) Tampilkan no pinjaman (loan number) yang memiliki pinjaman yang lebih dari $1200 Π loan_number (σamount > 1200 (loan))
Contoh Query (Aljabar Relational) Tampilkan nama pelanggan yang memiliki pinjaman, tabungan, atau keduanya di bank Πcustomer_name (borrower) ∪ Πcustomer_name (depositor) Tampilkan nama pelanggan yang memiliki pinjaman dan tabungan di bank Πcustomer_name (borrower) ∩ Πcustomer_name (depositor)
Contoh Query (Aljabar Relational) Tampilkan nama pelanggan yang pinjamnya di cabang Perryridge. Πcustomer_name (σbranch_name=“Perryridge” (σborrower.loan_number = loan.loan_number(borrower x loan)
Contoh Query (Aljabar Relational) Tampilkan nama pelanggan yang memiliki cabang di Perryridge, tetapi tidak memiliki tabungan di cabang manapun. Πcustomer_name (σbranch_name = “Perryridge” (σborrower.loan_number loan.loan_number(borrower x loan))) – Πcustomer_name(depositor)
Contoh Query (Aljabar Relational) Tampilkan nama pelanggan yang pinjam di cabang Perryridge Query 1 Πcustomer_name (σbranch_name = “Perryridge” ( σborrower.loan_number = loan.loan_number (borrower x loan))) Query 2 Πcustomer_name(σloan.loan_number = borrower.loan_number ((σbranch_name = “Perryridge” (loan)) x borrower))
Contoh Query (Aljabar Relational) Tampilkan account balance tertinggi/ terbanyak Strategi pencarian : Menemukan balance yang bukan tertinggi Rename tabel account dengan “d” agar bisa dibandingkan dengan account balance yang lain Menggunakan Set Difference (Minus) untuk menemukan account balances yang tidak ditemukan di tahap awal Πbalance(account) - Πaccount.balance (σaccount.balance < d.balance (account x ρd (account)))
Fungsi dan Operasi Agregasi Fungsi Agregasi : Mengambil dari kumpulan nilai dan menghasilkan sebuah nilai SUM –jumlah nilai pada suatu kolom. AVERAGE –menghitung rata-rata MIN –mencari nilai minimal MAX –mencari nilai maksimal COUNT –menghitung jumlah baris
Fungsi Agregasi dalam aljabar Relational E : nama tabel G1 , G2 …, Gn : daftar atribut yang dikelompokkan (bisa kosong) F : Fungsi Agregasi Ai : nama atribut
SUM
Tampilkan rata-rata gaji di setiap departemen AVG (RATA-RATA) Tampilkan rata-rata gaji di setiap departemen Beri nama kolom baru : avg_salary
OUTER JOIN Outer join akan menghasilkan sebuah data dari sebuah tabel dan membatasi data dari tabel lainnya. Terdapat 3 tipe Outer join yaitu Left Join, Right Join, dan Full Join. Semua baris dari tabel sebelah kiri diacu dari sebuah Left Outer Join Semua baris dari tabel sebelah kanan diacu dengan Right Outer Join Semua baris dari kedua tabel dihasilkan oleh sebuah Full Outer Join.
CONTOH : OUTER JOIN
LEFT OUTER JOIN
RIGHT OUTER JOIN
Full Outer Join
NEXT >> QUIZ (CLOSE BOOK) Bahan : Pertemuan 1sd 6 - Pengantar Basis Data - Lingkungan Basis Data - Model Data Relational (Aljabar Relational dan Kalkulus Relational)