BASIS DATA ALJABAR RELASIONAL Oleh Team Teaching Basis
BASIS DATA ALJABAR RELASIONAL Oleh Team Teaching Basis Data 15 Desember 2021 BASIS DATA 1
Aljabar Relational Yaitu sekumpulan operasi yang digunakan untuk melakukan proses manipulasi data dalam rangka untuk mendapatkan informasi yang diperlukan dari database 15 Desember 2021 BASIS DATA 2
Aljabar Relational, Cont’d… Secara umum dibagi menjadi 2: operasi himpunan (UNION, INTERSECTION, DIFFERENCE, dan CARTESIAN PRODUCT) operasi yang dikembangkan secara khusus untuk database relational. (SELECT, PROJECT dan JOIN) Istilah Relasi, dalam bahasan ini dipergunakan untuk penamaan tabel beserta datanya baik yang murni maupun yang sudah dilakukan modifikasi dengan operasi-operasi aljabar relasional. 15 Desember 2021 BASIS DATA 3
Contoh Database 15 Desember 2021 BASIS DATA 4
Operasi SELECT Untuk memilih baris tertentu dari sebuah himpunan baris data (record) yang memenuhi kondisi dan membuang baris yang lain. Notasi : <kondisi pilihan> (<nama relasi>) 15 Desember 2021 BASIS DATA 5
Operasi SELECT, Cont’d… CONTOH : n n dep_nomor=4(PEGAWAI) untuk memilih sub himpunan pegawai yang bekerja departemen nomor 4 gaji>30000 AND dep_nomor=3 (PEGAWAI) untuk memilih sub himpunan pegawai yang memiliki gaji lebih dari 30000 yang bekerja di departemen 3 15 Desember 2021 BASIS DATA 6
Operasi PROJECT Untuk memilih attribut (kolom) tertentu dari himpunan / subhimpunan dan membuang yang lain Notasi : <daftar attribut> (<nama relasi>) 15 Desember 2021 BASIS DATA 7
Operasi PROJECT, Cont’d… Jika <daftar attribut> tidak menyertakan primary key, maka dimungkinkan akan terjadi duplikasi. Duplikasi ini akan dihilangkan sehingga hanya sekali yang muncul. Contoh : Untuk memilih atribut Jenis. Kel dan Gaji dari tabel Pegawai: Jenis. Kel, Gaji (Pegawai) 15 Desember 2021 BASIS DATA 8
Urutan Operasi Sebuah operasi bisa dituliskan dalam bentuk beberapa ekspresi aljabar relasional dengan mengelompokkan untuk tiap-tiap operasi dan memberi nama Contoh : nm. Depan, nm. Blk, gaji ( dep_nomor=5(PEGAWAI)) Mengambil informasi nama depan, nama belakang dan gaji dari pegawai-pegawai yang bekerja di departemen nomor 5 15 Desember 2021 BASIS DATA 9
Urutan Operasi, Cont’d… bisa ditulis dalam bentuk: PEG_DEP 5 dep_nomor=5 (PEGAWAI) (tabel pegawai dipilah dulu hanya dengan mengambil yg memenuhi dep_nomor=5 dan disimpan dalam relasi dengan nama PEG_DEP 5) HASIL nm. Depan, nm. Blk, gaji (PEG_DEP 5) (kemudian setelah itu, relasi PEG_DEP 5 dipilah hanya diambil kolom-kolom nm. Depan, nm. Blk dan gaji) 15 Desember 2021 BASIS DATA 10
Perubahan Nama Atribut Untuk mengubah nama attribut dari sebuah relasi yang merupakan hasil dari operasi aljabar relasional, ditulis nama atribut baru dalam huruf besar Contoh : TEMP dep_nomor=5 (PEGAWAI) RBARU (NAMADEPAN, NAMABELAKANG, GAJI) nmdepan, nmblk, gaji (TEMP) 15 Desember 2021 BASIS DATA 11
Operasi Himpunan UNION: notasi R S Relasi yang menggabungkan semua baris di R atau S dengan meniadakan duplikasi INTERSECTION: notasi R S Relasi yang terdiri dari baris yang ada di R dan juga ada di S DIFFERENCE: notasi R – S Relasi yang terdiri dari semua baris di R, tetapi tidak ada di S Relasi yang dioperasikan dengan operasi-operasi di atas harus memiliki jumlah attribut dan jenis yang sama (union compatible) 15 Desember 2021 BASIS DATA 12
Operasi Himpunan, Cont’d… CARTESIAN PRODUCT R X S Relasi yang terdiri dari kombinasi baris yang terdapat di R dan S. Yang mana setiap baris di R digabungkan dengan setiap baris di S Contoh : Mengambil nama-nama pegawai wanita beserta nama tanggungan masing-masing: 15 Desember 2021 BASIS DATA 13
Operasi Himpunan, Cont’d… Jawab : 15 Desember 2021 BASIS DATA 14
Operasi Join Digunakan untuk mengkombinasikan baris-baris yang berhubungan dari dua relasi menjadi baris tunggal. Notasi: R |x|<kondisi join> S Kondisi join dalam bentuk: <kondisi> AND … AND <kondisi> Operator pembandingan: {=, <, ≤, >, ≥, ≠} 15 Desember 2021 BASIS DATA 15
Operasi Join, Cont’d… Contoh Mendapatkan nama departemen beserta nama pimpinan masing-masing DEPT (dep_nomor, dep_nama, dep_no. KTP, dep_Tgl. Mulai, dep_Jml. Pegawai) DEPARTEMEN PIM_DEP DEPT |x|dep_no. KTP=no. KTP PEGAWAI HASIL dep_nama, nm. Depan, nm. Blk (PIM_DEP) 15 Desember 2021 BASIS DATA 16
Operasi Join, Cont’d… Operasi join dengan kondisi join secara umum disebut dengan Theta Join. Kondisi join yang operator pembandingannya berupa =, disebut dengan Equijoin 15 Desember 2021 BASIS DATA 17
Natural Join Yakni operasi equijoin yang mana pasangan attribut-attribut yang di’join’kan memiliki nama yang sama. Jika tidak sama, perlu dilakukan pengubahan nama attribut (rename) terlebih dahulu Notasi: R * (<list 1>), (<list 2>) S List 1 adalah attribut-attribut R dan list 2 adalah attribut S. List 1 dan list 2 membentuk pembandingan equality dari pasangan attribut yang memiliki nama yang sama, yang mana semua pembandingan tersebut di ‘AND’ kan 15 Desember 2021 BASIS DATA 18
Natural Join, Cont’d… Contoh DEPT (dep_nomor, dep_nama, dep_jml. Pegawai, dep_no. KTP) DEPARTEMEN PROY_DEPT PROYEK * DEPT 15 Desember 2021 BASIS DATA 19
Fungsi Aggregate( ) SUM : menjumlah nilai dari suatu atribut AVERAGE : mencari rata-rata nilai dari suatu atribut MAXIMUM : mencari nilai paling besar dari suatu atrbiut MINIMUM : mencari nilai paling besar dari suatu atribut COUNT : menghitung jumlah record 15 Desember 2021 BASIS DATA 20
Fungsi Aggregate( ), Cont’d… Dapatkan setiap nomer department, jumlah pegawai dalam department dan gaji rata-rata mereka. R(DNO, jumlah_peg, gaji_rata 2) <= DNO, COUNT SSN, AVERAGE SALARY (EMPLOYEE) 15 Desember 2021 BASIS DATA 21
PENUTUP Terima kasih 15 Desember 2021 BASIS DATA 22
- Slides: 22