BAHASA KUERI Materi Aljabar Relasional Formal Kalkulus Relasional
BAHASA KUERI
Materi : Aljabar Relasional Formal Kalkulus Relasional Bahasa. Kueri Komersial SQL
Pemrosesan Kueri Sejumlah aktifitas yang dilakukan untuk pengambilan data Aktifitas meliputi transformasi dari berbagai kueri dari level logik ke level fisik Klasifikasi aktifitas meliputi : Parsing, optimasi, evaluasi kueri
Klasifikasi Aktifitas Kueri Parser & Transleter Ekspres i Aljabar Optimizer Hasil Kueri Mesin Evaluasi Data Rencan a Informasi
Kueri diterjemahkan(Parsing) oleh modul parser kedalam bahasa mesin (internal kueri) memeriksa sintak kueri, nama table menghasilkan representatif hirarkis yang memudahkan translasi ke model ekspresi aljabar relasional. o Contoh : select kdmk, sks from matkul where semester>3 Kueri di translasikan pada salah satu ekspresi aljabar relasional : o 1. σ semester>3 (π kdmk, sks(matkul)) 2. π kdmk, sks (σ semester>3(matkul)) Menghasilkan output yang sama
Ekspresi 1 σ semester>3 (π kdmk, sks(matkul)) σ semester>3 ( urutan 1 ) ( urutan 2 ) Sem, kdmk, sks disimpan dalam buffer
Ekspresi 2 π kdmk, sks (σ semester>3(matkul)) σ semester>3 ( urutan 1 ) Sem, kdmk, sks disimpan dalam buffer ( urutan 2 )
Bahasa Kueri Formal Bahasa query formal basis data relasional adalah bahasa untuk meminta informasi dari basis data yang menggunakan notasi matematik Ada 2 dasar pembentukan dan selanjutnya menentukan cara query dalam Bahasa Query yaitu : Aljabar Relasional dan Kalkulus Relasional
Aljabar Relational Algebra (aljabar relasional) kumpulan operasi terhadap relasi dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru dan termasuk kategori prosedural dan juga menyediakan seperangkat operator untuk memanipulasi data.
Operasi dalan Aljabar Relasional 5 operasi dasar: (Unary Operation) : Selection ( ) , Projection ( ) (Binary Operation): Cartesian – product (X), Union ( ), Set – difference (-), Rename ( ) Operasi – operasi turunan : (Binary Operation) Set intersection ( ), Theta join ( ), Natural-join ( ), Outer-join ( ), Division ( )
Selection ( ) Notasi : σp(r) § Operasi untuk menyeleksi tupel – tupel yang memenuhi suatu predikat 1 Bbb Ccc Ddd 2 Eee Fff Ggg § Ilustrasi : 3 Hhh Iii Jjj § 4 Kkk Lll Mmm 5 Nnn Ooo Ppp 6 Qqq Rrr Sss 7 Ttt Vvv Www Operator aritmatik (<, >, >=, <=, =, #) § Operator logika untuk predikat manjemuk menggunakan penghubung AND ( ) dan OR ( ). §
Contoh : Relasi/Table : Dosen 1. Tampilkan daftar dosen yang berkota di ‘Bekasi kota=’Bekasi’ (Dosen)
2. Tampilkan daftar dosen yang tinggal di ‘Jakarta’ atau ‘Bogor’ Kota=’Jakarta’ kota =’Bogor’ (Dosen) 3. Tampilkan daftar dosen yang tinggal di kota ‘Bogor’ dan jenis kelaminnya ‘Pria’
Operasi Project ( ) operasi untuk memperoleh kolom – kolom tertentu. Ilustrasi : 1 Bbb Ccc Ddd 2 Eee Fff Ggg 3 Hhh Iii Jjj 4 Kkk Lll Mmm 5 Nnn Ooo Ppp 6 Qqq Rrr Sss 7 Ttt Vvv Www Sintaks yang digunakan dalam operasi proyeksi ini adalah sebagai berikut : colum 1, …, column ( tabel)
Contoh : Table/relasi dosen 1. Tampilkan kddos, nama_dos, jekel, kota dari relasi Dosen kddos, namados, jekel, kota(Dosen)
2. Select dan Project Tampilkan kddos, namados, alamat, kota untuk dosen yang tinggal di Bogor kddos, namados, alamat, kota( tkota=‘Bogor’ (Dosen))
Operasi Cartesian Product Cartesian-product ( X ), adalah operasi untuk menghasilkan table hasil perkalian kartesian. Sintaks yang digunakan dalam operasi proyeksi ini adalah sebagai berikut : R X S = {(x, y) | x R dan y S} 1 6 Xxx Opo R 1 Bbb Ccc Ddd 10 Eee Fff Ggg 3 Hhh Iii Jjj 2 Kkk Lll Mmm S 1 Xxx 1 Bbb Ccc Ddd 1 Xxx 10 Eee Fff Ggg 1 Xxx 3 Hhh Iii Jjj 1 Xxx 2 Kkk Lll Mmm 6 Opo 1 Bbb Ccc Ddd 6 Opo 10 Eee Fff Ggg 6 Opo 3 Hhh Iii Jjj 6 Opo 2 Kkk Lll Mmm RXS
Contoh : AJAR MATAKULIAH alias MK KDMK TI 005 TI 001 PP 001 KDDOS HARI JAM KDMK KELAS 0001 1 3 TI 005 SM 01 0020 1 3 TI 005 SM 03 0015 1 7 PP 001 SM 01 NAMAMK Pengantar WEB Sistem Basis Data Pancasila AJAR X MK KDDOS HARI JAM ajar. KDMK KELAS Mk. KDMK NAMAMK 0001 1 3 TI 005 SM 01 TI 005 Pengantar WEB 0001 1 3 TI 005 SM 01 TI 001 Sistem Basis Data 0001 1 3 TI 005 SM 01 PP 001 Pancasila 0020 0015 1 1 1 3 3 3 7 7 7 TI 005 PP 001 SM 03 SM 01 TI 005 TI 001 PP 001 SKS 3 3 2 Pengantar WEB 3 Sistem Basis Data 3 Pancasila 2 SKS 3 3 2
Contoh § Tampilkan kddos, kdmk, namamk, kelas, hari, jam untuk dosen yang mengajar pada jam ke 3 kddos, ajar. kdmk, namamk, kelas, hari, jam ( ajar. kdmk=mk. kdmk ^ jam =‘ 3’(ajar x mk)) KDDOS ajar. KDMK NAMAMK KELAS HARI JAM 0001 TI 005 Pengantar WEB SM 01 1 3 0020 TI 005 Pengantar WEB SM 03 1 3
Operasi Union( ) Operasi untuk menghasilkan gabungan table dengan syarat kedua table memiliki atribut yang sama, yaitu domain atribut ke-i masing – masing table harus sama. Sintaks yang digunakan dalam operasi union ini adalah sebagai berikut : R S = {x | x R atau X S} Memiliki derajat yang sama
Contoh : Tabel Mahasiswa NIM NAMA_MHS ALAMAT_MH KOTA S TGL_LHR 980001 Ali Akbar Jl. Merdeka Bogor 02 -01 -1979 980002 Budi Haryanto Jl. Gajah Mada Jakart a 06 -10 -1978 Tabel Dosen KODE_DOS NAMA_DOS ALAMAT_DO KOTA S SY Syamsudin, S. Si Jl. Suci Bekasi FS Farida Syarif, Ir Jl. Tenteram Jakarta Mahasiswa Dosen Tidak bisa, karena derajat mahasiswa tdk sama dengan Dosen
Tampilkan kota tempat tinggal mahasiswa dan dosen Jila dilakukan operasi union : kota (mahasiswa) kota (Dosen) KOTA Bogor Bekasi Jakarta KOTA Maka hasilnya : Bogor Jakarta Bekasi Jakarta
Operasi Set Difference Operasi untuk mendapatkan table pada relasi pertama, tapi tidak ada pada relasi yang lainnya. Sintaks sebagai berikut : R – S = { x | x R dan X S} Operasi ini dapat dilaksanakan apabila R dan S mempunyai atribut yang tidak sama yang akan ditampilkan.
Contoh Operasi Set Difference Jika tabel Kuliah_S 1 dan Tabel Kuliah_D 3 berisi data sebagai berikut : Kode_kul Nama_kul Sks sem Tabel Kuliah_S 1 Tabel Kuliah_D 3 IF-110 Pemrograman I 3 1 IF-221 Struktur Data 3 2 IF-310 Basis Data 4 3 IF-320 Pemrograman II 3 3 IF-411 Sistem Basis Sata 3 4 IF-423 Sistem Pakar 2 4 Kode_kul Nama_kul Sks Sem IF-110 Pemrograman I 3 1 IF-120 Aplikasi Akuntansi 2 1 IF-221 Struktur Data 3 2 IF-310 Basis Data 4 3
Contoh Operasi Set Difference Tampilkan matakuliah yang ditawarkan pada S 1 tetapi tidak ada di D 3 Maka hasil operasi : ◦ nama_kul (Kuliah_S 1) - nama_kul (Kuliah_D 3) Nama_kul Pemrograman I Nama_kul Struktur Data Pemrograman I Basis Data Aplikasi Akuntansi Pemrograman II Struktur Data Sistem Basis Sata Basis Data Sistem Pakar Nama_kul Pemrograman II Sistem Basis Data Sistem Pakar
Operasi rename( ) Operasi untuk menyalin table lama kedalam table yang baru Sintaks sebagai berikut : [nama_table] (table_lama) Salinlah table baru dengan nama Dosen. New dari table Dosen, dimana jenis kelaminnya adalah ‘Pria’. Dosen. New ( jkelamin=’Pria’) (Dosen))
Natural Join Menghasilkan tabel hasil kemungkinan kombinasi suatu relasi dengan relasi lain, dimana antar relasi memiliki atribut yang memiliki domain yang sama Sintaks sebagai berikut : R S Ilustrasi r 1 r 2 r 3 a 1 1 x a 1 x b 2 1 y a 1 y 3 z R S
Contoh Ajar Matakuliah alias MK KDDOS HARI JAM KDMK KELAS 0001 1 3 TI 005 SM 01 0020 1 3 TI 005 SM 03 0015 1 7 PP 001 SM 01 KDMK NAMAMK TI 005 Pengantar WEB TI 001 Sistem Basis Data PP 001 Pancasila Ajar KDDOS HARI JAM KDMK KELAS NAMAMK MK SKS 0001 1 3 TI 005 SM 01 Pengantar WEB 3 0020 1 3 TI 005 SM 03 Pengantar WEB 3 0015 1 7 PP 001 SM 01 Pancasila 2 SKS 3 3 2
Set-Intersection ( ) Sintaks adalah : A B = A – (A-B) atau A) B A = B – (B- R Ilustrasi : S S-R A D A B T H D F M N B H C F R-S D H T H A C M N R S=R S R=S - (S-R) A D - (R-S) B H C F D H A C A B T H A B D F M N A B D F
Jika diketahui Tabel matakuliah S 1 dan D 3 berikut : Tabel Kuliah_S 1 Tabel Kuliah_D 3 Kode_kul Nama_kul Sks sem IF-110 Pemrograman I 3 1 IF-221 Struktur Data 3 2 IF-310 Basis Data 4 3 IF-320 Pemrograman II 3 3 IF-411 Sistem Basis Sata 3 4 IF-423 Sistem Pakar 2 4 Kode_kul Nama_kul Sks Sem IF-110 Pemrograman I 3 1 IF-120 Aplikasi Akuntansi 2 1 IF-221 Struktur Data 3 2 IF-310 Basis Data 4 3
Tampilkan matakuliah yang ditawarkan pada S 1 dan D 3 Maka hasil operasi : nama_kul (Kuliah_S 1) nama_kul (Kuliah_D 3) Nama_kul Pemrograman I Struktur Data Aplikasi Akuntansi Basis Data Struktur Data Pemrograman II Basis Data Sistem Basis Sata Sistem Pakar Nama_kul Pemrograman I Struktur Data Basis Data
Operasi Divisi (÷) Cocok digunakan untuk pernyataan “ untuk semua” Contoh : Tampilkan untuk semua mahasiswa yang mengambil Matakuliah di semester 1 Diketahui : Tabel Kuliah {kd_mk, nmmk, sks, sem} Tabel Nilai{kd_mk, npm, grade} Tabel Mhs{npm, nama, alamat, kota, tgl_l}
Tabel Kuliah Kd_mk Nmmk Sks sem IF-110 Struktur Data 3 1 IF-120 Sistem Informasi 3 1 IF-310 Basis Data 4 2 IF-221 Pemrograman II 3 2 IF-411 Sistem Basis Sata 3 3 Sistem Pakar 2 IF-423 Tabel Nilai 3 Kdmk Npm grade IF-110 1001 A IF-110 1002 B IF-120 1004 B IF-221 1002 C IF-310 1003 A
Tabel MHS NPM NAMA ALAMAT KOTA 1001 ALI AKBAR JL. DAGO BANDUNG 1002 BUDI SANTOSO JL. LAYUR JAKARTA 1003 INDAH JL. MAWAR DEPOK 1004 SANTI JL. PAUS JAKARTA Tampilkan untuk semua mahasiswa yang mengambil Matakuliah di semester 1 Πnama, kdmk (mhs kuliah) ÷ Π kdmk(σsem=1(Kuliah) NAMA ALI AKBAR BUDI SANTOSO SANTI
- Slides: 34