Aljabar Relasi SBD Aljabar Relasi Merupakan Procedural language
Aljabar Relasi SBD
Aljabar Relasi • Merupakan Procedural language • Operator-operator dasar – select: – project: – union: – set difference: – – Cartesian product: x – rename: • Operator menggunakan 1 atau 2 relasi sebagai masukan dan menghasilkan relasi baru
Operasi Select n relasi r ¡ A=B ^ D > 5 (r) A B C D 1 7 5 7 12 3 23 10 A B C D 1 7 23 10
Select • Notasi: p(r) • p : predikat seleksi • Definisikan sebagai: p(r) = {t | t r and p(t)} dimana p merupakan suatu formula dalam kalkulus proposional yang terdiri dari atribut/konstanta yg dihubungkan dengan : (and), (or), (not) <attribute> op <attribute> or <constant> op : =, , >, . <. • Contoh selection: tmp_lahir=“Pekalongan”(mahasiswa)
Contoh Selection tmp_lahir=“Pekalongan” v jurusan=“Syariah” (mahasiswa) m_nim 34. 1. 2. 10. 002 34. 1. 2. 10. 003 34. 1. 2. 10. 004 34. 1. 2. 10. 005 34. 1. 2. 10. 007 34. 1. 2. 10. 010 34. 1. 2. 10. 012 34. 1. 2. 10. 013 34. 1. 2. 10. 014 m_nama Syamsul Arifin Mohammad Arief Fatkhuriza Yuli Wahyuiningrum Siti Zuhrotun Nisa Sri Mulyani Mohamad Noor Faiz Nunung Kurniawati Aminatul Azkiyah Sugiyanto. H. S. tmp_lahir Pekalongan Pekalongan Pekalongan jurusan Syariah Syariah Syariah
Project • Relation r: A, C (r) A B C 10 1 20 1 30 1 40 2 A C 1 1 1 2 2 =
Project • Notasi: A 1, A 2 : nama atribut r : suatu nama relasi. • Hasil merupakan relasi dari sejumlah k kolom yg disebutkan dengan menghilangkan kolom yang tidak ada dalam daftar. • Baris Kembar dihilangkan • Contoh : m_nim, m_nama, tmp_lahir (mahasiswa)
Contoh Project m_nim, m_nama, tmp_lahir (mahasiswa) m_nim m_nama 34. 1. 2. 10. 002 Syamsul Arifin 34. 1. 2. 10. 003 Mohammad Arief Fatkhuriza 34. 1. 2. 10. 004 Yuli Wahyuiningrum 34. 1. 2. 10. 005 Siti Zuhrotun Nisa 34. 1. 2. 10. 007 Sri Mulyani 34. 1. 2. 10. 010 Mohamad Noor Faiz 34. 1. 2. 10. 012 Nunung Kurniawati 34. 1. 2. 10. 013 Aminatul Azkiyah 34. 1. 2. 10. 014 Sugiyanto. H. S. tmp_lahir Pekalongan Pekalongan Pekalongan
Union • Relasi r, s: A B 1 2 2 3 1 s r n r s: A B 1 2 1 3
Union • Notasi: r s • Didefinisikan sbg: r s = {t | t r or t s} • untuk r s menjadi valid. 1. r, s harus memiliki jumlah atribut yg sama (memiliki aritas yg sama ) 2. Domain/tipe attribute harus sesuai • Contoh: mendapatkan seluruh kota tempat lahir dari mahasiswa ataupun dosen tmp_lahir (mahasiswa) tmp_lahir (dosen)
Contoh Union tmp_lahir (mahasiswa) tmp_lahir (dosen) tmp_lahir Tasikmalaya Tangerang Solo Pemalang Pekalongan Pekalongan Pekalongan Pekalongan Pekalongan tmp_lahir Bumiayu Kudus Banyumas Pekalongan Pekalongan Tegal Pekalongan Sumedang Pemalang Pekalongan Pekalongan Batang Pekalongan tmp_lahir Bumiayu Kudus Banyumas Pekalongan Tegal Sumedang Pemalang Batang Brebes Jakarta Solo Tasikmalaya Tangerang
Set Difference Merupakan operasi pengurangan data di tabel pertama oleh data di tabel ke dua • Relasi r, s: A B 1 2 2 3 1 s r n r – s: A B 1 1
Set Difference • Notasi r – s • Defined as: r – s = {t | t r and t s} – r dan s harus memiliki kesamaan aritas – domains attribute(tipe data) r dan s harus sama
Contoh set difference • Mendapatkan kota lahir yang ada di tabel mahasiswa tapi tidak ada di tabel dosen • tmp_lahir (mahasiswa) - tmp_lahir (dosen) Mahasiswa tmp_lahir Solo Pekalongan Batang Pemalang Tasikmalaya Tanggerang Jakarta Banyumas Dosen tmp_lahir Bumiayu Kudus Banyumas Pekalongan Tegal Sumedang Pemalang Batang Brebes Jakarta Mahasiswa tmp_lahir Solo Batang Tasikmalaya Tanggerang Jakarta
Cartesian-Product Menggabungkan data dari dua tabel/hasil query n Relations r, s: A B C D E 1 2 10 10 20 10 a a b b r s n r x s: A B C D E 1 1 2 2 10 10 20 10 a a b b
Cartesian-Product • Notasi r x s • Defined as: r x s = {t q | t r and q s} • Attributes r(R) dan s(S) merupakan atribut disjoint. (That is, R S = ).
Contoh cartesian product (mahasiswa x Nilai) Mahasiswa m_nim m_nama 34. 1. 1. 11. 002 Asrori 34. 1. 1. 11. 003 Dwi Prasongko m_nim smt kdmk 34. 1. 1. 11. 002 6 SE 2 2204 34. 1. 1. 11. 002 6 SE 2 2307 34. 1. 1. 11. 003 6 SE 2 2204 34. 1. 1. 11. 003 6 SE 2 2307 m_nim 34. 1. 1. 11. 002 34. 1. 1. 11. 003 Nilai smt kdmk 6 SE 2 2204 6 SE 2 2307 Nilai x Mahasiswa klpk nilai_huruf m_nim SY. 2 A 34. 1. 1. 11. 002 SY. 2 B+ 34. 1. 1. 11. 002 SY. 2 C+ 34. 1. 1. 11. 002 SY. 2 A 34. 1. 1. 11. 003 SY. 2 B+ 34. 1. 1. 11. 003 SY. 2 C+ 34. 1. 1. 11. 003 klpk SY. 2 nilai_huruf A A B+ C+ m_nama Asrori Dwi Prasongko
Cartesian product nilai. m_nim=mahasiswa. m_nim (nilai x mahasiswa ) m_nim smt kdmk klpk nilai_huruf 34. 1. 1. 11. 002 6 SE 2 2204 SY. 2 A 34. 1. 1. 11. 002 6 SE 2 2307 SY. 2 A 34. 1. 1. 11. 003 6 SE 2 2204 SY. 2 B+ 34. 1. 1. 11. 003 6 SE 2 2307 SY. 2 C+ m_nim 34. 1. 1. 11. 002 34. 1. 1. 11. 003 m_nama Asrori Dwi Prasongko m_nim, m_nama, kdmk, nilai_huruf ( nilai. m_nim=mahasiswa. m_nim (mahasiswa x nilai)) m_nim m_nama 34. 1. 1. 11. 002 Asrori 34. 1. 1. 11. 003 Dwi Prasongko kdmk nilai_huruf SE 2 2204 A SE 2 2307 A SE 2 2204 B+ SE 2 2307 C+
Komposisi • Dapat terdiri dari beberapa operasi • Contoh : A=C(r x s) • rxs A B C D E • A=C(r x s) 1 1 2 2 10 10 20 10 a a b b A B C D E 1 2 2 10 10 20 a a b
Contoh komposisi m_nim, m_nama, kdmk, nmmk, nilai_huruf ( nilai. m_nim=mahasiswa. m_nim nilai. kdmk=matakuliah. kdmk (mahasiswa x nilai x matakuliah)) m_nim 34. 1. 1. 11. 002 34. 1. 1. 11. 003 m_nama Asrori Dwi Prasongko kdmk SE 2 2204 SE 2 2307 Pemikiran Ekonomi Islam Matematika Ekonomi nilai_huruf A A B+ C+
Rename Operation • Melakukan penamaan pada suatu tabel/hasil proyeksi. • Contoh: x (E) x adalah nama baru dari ekspresi E Untuk ekspresi E dengan n atribut dimana A 1, A 2 adalah atribut pada E
Rename • m_nim, m_nama, kdmk, nmmk, nilai_huruf ( n. m_nim=mhs. m_nim n. kdmk=mk. kdmk ( mhs ( mahasiswa) x n( nilai) x mk ( matakuliah))
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)
Example Queries • Find all loans of over $1200 amount > 1200 (loan) n Find the loan number for each loan of an amount greater than $1200 loan_number ( amount > 1200 (loan)) n Find the names of all customers who have a loan, an account, or both, from the bank customer_name (borrower) customer_name (depositor)
Example Queries • Find the names of all customers who have a loan at the Perryridge branch. customer_name ( branch_name=“Perryridge” ( borrower. loan_number = loan_number(borrower x loan))) n Find the names of all customers who have a loan at the Perryridge branch but do not have an account at any branch of the bank. customer_name ( branch_name = “Perryridge” ( borrower. loan_number = loan_number(borrower x loan))) – customer_name(depositor)
Example Queries • Find the names of all customers who have a loan at the Perryridge branch. l Query 1 customer_name ( branch_name = “Perryridge” ( borrower. loan_number = loan_number (borrower x loan))) l Query 2 customer_name( loan_number = borrower. loan_number ( ( branch_name = “Perryridge” (loan)) x borrower))
Formal Definition • A basic expression in the relational algebra consists of either one of the following: – A relation in the database – A constant relation • Let E 1 and E 2 be relational-algebra expressions; the following are all relational-algebra expressions: – – – E 1 E 2 E 1 – E 2 E 1 x E 2 p (E 1), P is a predicate on attributes in E 1 s(E 1), S is a list consisting of some of the attributes in E 1 x (E 1), x is the new name for the result of E 1
Write the following queries in relational algebra 1. Find the titles of courses in the Comp. Sci. department that have 3 credits. 2. Find the IDs of all students who were taught by an instructor named Einstein; make sure there are no duplicates in the result.
Latihan 3. Tampilkan instruktur dari dept_name= ' Comp. Sci ‘ 4. Tampilkan instruktur dari dept_name= ' Comp. Sci ‘ dan gaji >7000 5. Tampilkan ID, name dari instruktur 6. Tampilkan name dari instruktur untuk dept_name= ' Comp. Sci ‘
7. Find the set of all courses taught in the Fall 2009 semester, the Spring 2010 semester, or both 8. find all the courses taught in the Fall 2009 semester but not in Spring 2010 semester
9. the names of all instructors in the Physics department together with the course id of all courses they taught
10. Find the highest salary in the university
- Slides: 33