SlideShare a Scribd company logo
1 of 28
Optimasi Query
Komponen Query 
Processing 
 Bahasa yang digunakan 
 SQL : “ Intergrasi bahasa data” 
 Metodelogi Eksekusi Query 
 Langkah – langkah yang digunakan 
untuk mengeksekusi dalam gueri yang 
diinginkan oleh user 
 Optimasi Query 
 Bagaimana mengetahui rencana 
eksekusi yang “baik”
Tabel yang ada 
Pelanggan Daya terpasang 
harga
Memilih Alternatif 
SELECT nmpel 
FROM pelanggan,daya_terpasang 
WHERE pelanggan.idpel = daya_terpasang.idpel 
AND daya > 1300 
Strategi 1 
Π nmpel(σdaya >1300 Λ pelanggan.idpel=daya_terpasang.idpel(pelanggan X daya_terpasang)) 
Strategi 2 
Πnmpel(pelanggan idpel (σdaya>1300 (daya_terpasang))
Objek Optimasi Queri 
Minimal Biaya 
I/O Cost + CPU Cost + Communication Cost 
Wide Area Networks 
Biaya komunikasi akan mendominasi 
1. Bandwidth Rendah 
2. Kecepatan rendah 
Local Area Networks 
Biaya komunikasi tidak mendomionasi
Kompleksitas Operasi Relasional
Lapisan Pada Query Processing 
Query Decomposition 
Data Localization 
Global Optimazation 
Local Optimazation 
Global 
Schema 
Fragment 
Schema 
Stats On 
Fragments 
Local 
Schema 
Control 
Site 
Local 
Sites
Query Decomposition 
 Pada Lapis Pertama ini input adalah 
query dirubah menjadi Aljabar query. 
 Query Decomposition dibagi menjadi 
4 bagian :Normalisasi, analisa 
semantik, memperbaiki Query, 
menata ulang struktur dari queri 
(restruktured)
Data Localization 
 Hasil dari lapis pertama akan dibuat 
dalam bentuk fragment. 
 Secara Umum membuat fragment 
guery ada 2 langkah :Distribusi query 
dipetakan dalam fragment query, 
menyederhanakan fragment query.
Global Optimazation 
 Tujuan dari optimasi query adalah 
mencari strategi untuk mengeksekusi 
query. 
 Strategi eksekusi untuk query 
terdistribusi tergantung dari aljabar 
relasional dan cara berkomunikasi ( 
mengirim/menerima)
Local Optimization 
 Pada lapisan ini , query terbaik sudah 
terpilih, dan setiap sub query berada 
di satu site.
Dekomposisi Query 
 Normalisasi 
 Manipulasi Queri 
 Analisa 
 Mendeteksi queri yang salah 
 Sederhanakan 
 Mengeleminasi predicate yang berulang 
 Tata Ulang 
 Gunakan aturan transformasi
Normalisasi 
 Aturan untuk operasi logika 
1. p1  p2 <=> p2 ^ p1 
2. p1 V p2 <=> p2 V p1 
3. p1 ^ ( p2 ^p3)  (p1 ^ p2) ^p3 
4. p1 V (p2 Vp3) ( p1 V p2) Vp3 
5. p1 ^ (p2 Vp3)(p1 ^ p2) V (p1 ^ p3) 
6. p1 V (p2 ^ p3)  (p1 V p2) ^ (p1 V p3) 
7.  ( p1 ^ p2) p1 V p2 
8.  ( p1 V p2)  p1 ^ p2 
9. (p)  p
Contoh 1 
Select nmpel 
From pelanggan p , daya_terpasang d 
Where (p.idpel = d.idpel And ap = 'lenteng agung‘ 
And daya = 1300 ) 
or 
( p.idpel = d.idpel And ap = 'lenteng agung' 
And daya = 900 ) 
Mencari nama pelanggan dengan ap ‘lenteng agung ‘ dengan daya 1300 
atau 900 watt 
SQL : 
Select nmpel 
From pelanggan p , daya_terpasang d 
Where p.idpel = d.idpel 
And ap = “lenteng agung” 
And (daya = 1300 Or daya = 900) 
Normalisasi : 
p.idpel = d.idpel  ap=“lenteng agung”  (daya = 1300 V Daya =900) 
atau 
(p.idpel = d.idpel  ap=“lenteng agung”  Daya = 1300) 
V 
(p.idpel = d.idpel  ap=“lenteng agung”  Daya = 900)
Analisa 
Menemukan queri yang salah 
Tipe yang tidak benar 
1. Jika ada atribut atau nama relasi 
tidak didefenisi dalam skema global 
2. Ada operasi yang diaplikasikan ke 
atribut dengan tipe yang salah
Contoh 2 
Select alamat 
From pelanggan 
Where ap > 1900 
Queri tidak benar : 
Atribut alamat tidak dideklarasikan dalam 
struktur tabel 
Operator > 1900 tidak compatible dengan type text dari ap
Kesalahan Semantik 
1. Ada komponen yang tidak 
memberikan konstribusi dalam hasil 
akhir 
2. Hanya sebagian dari relational 
queris yang dapat di tes untuk 
koreksi 
3. Untuk mendektesi : query graph dan 
Join Graph
Contoh 3: 
Cari nama pelanggan dan daya dengan tarif kurang dari 1100 
SELECT nmpel, daya 
FROM pelanggan p, daya_terpasang 
d, harga h 
WHERE p.idpel = d.idpel 
AND d.gol = h.gol 
AND ap = “lenteng agung" 
AND tarif <100
Query Graph 
pel 
daya 
harga 
FROM FROM pelanggan p, daya_terpasang d, harga h 
WHERE p.idpel = d.idpel 
AND d.gol = h.gol 
AND ap = “lenteng agung" 
Tarif <100 
AND tarif <100 
ap = “lenteng agung" 
hasil 
SELECT nmpel, daya
Analisis 
Jika Graph tidak terkoneksi , queri salah 
SELECT nmpel, tarif 
FROM pelanggan, harga 
WHERE ap = “lenteng agung" 
AND tarif =110
Sederhanakan 
- Mengapa Harus disederhanakan 
- Bagaimana , Gunakan aturan 
transformasi 
1. p ^ p  p 
2. p V p  p 
3. p ^ true  p 
4. p V false  p 
5. p ^ false  false 
6. P V true  true 
7. P ^ p  false 
8. P V p  true 
9. p1 ^ (p1 Vp2)  p1 
10 . p1 V (p1 ^p2)  p1
Contoh 4 
SELECT ap 
FROM pelanggan 
WHERE nmpel = “sely” 
OR (NOT (ap = “semplak”) 
AND (ap= “semplak” 
OR ap = “bintaro.”) 
AND NOT (ap = “bintaro”)) 
SELECT ap 
FROM pelanggan 
WHERE nmpel = “sely”
Tata Ulang 
Gunakan query tree 
Contoh : 
Cari nama pelanggan yang tidak dilayani oleh ap 
lenteng agung yang mempunyai daya > 1300 dan 
merupakan golongan rumah 
SELECT p.nmpel 
FROM pelanggan p,daya_terpasang d, harga h 
WHERE p.idpel = d.idpel 
AND d.gol = h.gol 
AND p.Ap <>'lenteng agung' 
AND d.daya >900 
AND h.tari=85 
Π nmpel 
σ h.tarif =85 
σ d.Daya >900 
σ p.ap <> lenteng agung 
pelanggan Daya_terpasang harga 
select nmpel from 
(select * 
from pelanggan 
natural join daya_terpasang 
natural join harga 
where ap<> 'lenteng agung' and daya>900 and 
tarif=85)
Equivalent query 
Π nmpel 
σ p.Ap <>'lenteng agung‘ ^ d.daya >900 ^ h.gol='rumah’ 
select nmpel from( 
select * from daya_terpasang 
cross join harga natural join 
pelanggan where 
daya_terpasang.gol=harga.gol 
and ap<>'lenteng agung' and 
daya >900 and tarif=85) 
pelanggan Daya_terpasang harga
RESTRUCTURING 
Π idpel,nmpel 
((select idpel,nmpel from pelanggan where 
((select idpel,gol from daya_terpasang 
(select gol from harga where tarif =85))) 
σ Ap<>’lenteng agung’ 
Π nmpel 
select nmpel from 
ap<>'lenteng agung') 
natural join 
where daya>900) 
natural join 
Π idpel,gol Π gol 
σ Daya>900 
σ tarif=85 
pelanggan Daya_terpasang harga
Tugas kelompok 
Penerbangan ( pno: string, asal : string, tujuan:string, jarak:integer, 
berangkat:time, tiba:time, harga:currency, pstno:string) 
Pesawat (pstno:string, pstnama:string, jaraktempuh:integer) 
Sertifikat(pilotid:string, pstno:string) 
Pilot (pilotid: string, pilot_nama:string, gaji : currency) 
1. Buat aljabar relasional , query graph dan Query Tree untuk mencari nama 
pesawat yang dapat diterbangkan nonstop dari asal ke tujuan 
Optimasikan query ini 
2. SELECT pno 
FROM pernerbangan 
WHERE berangkat =10:00 OR harga>700,000 
AND (berangkat <>10:00 OR harga>700,000) 
Ini juga dioptimasi 
3. SELECT pilot_nama 
FROM pilot plt, sertifikat s, pesawat pst, 
penerbangan p 
WHERE pilotid.p = pilotid.s AND pstno.pst = 
pstno.s 
AND pstno.pst = pno.p 
AND asal =”semarang” 
AND pstnama=”boeing”

More Related Content

What's hot

Contoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyContoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyZaenal Khayat
 
Model data relasional (3)
Model data relasional (3)Model data relasional (3)
Model data relasional (3)Fariszal Nova
 
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLKelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLDejiko Chaem
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomataBanta Cut
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianFahrul Usman
 
Analisis ERD Database Rumah Sakit
Analisis ERD Database Rumah SakitAnalisis ERD Database Rumah Sakit
Analisis ERD Database Rumah SakitFitria Nuri
 
Laporan praktikum modul 4 (e-rd notasi martin)
Laporan praktikum modul 4 (e-rd notasi martin)Laporan praktikum modul 4 (e-rd notasi martin)
Laporan praktikum modul 4 (e-rd notasi martin)Devi Apriansyah
 
Perancangan database penjualan indomaret
Perancangan database penjualan indomaretPerancangan database penjualan indomaret
Perancangan database penjualan indomaretRut Kristina
 
Notasi Bahasa - P 5,6,7
Notasi Bahasa - P 5,6,7 Notasi Bahasa - P 5,6,7
Notasi Bahasa - P 5,6,7 ahmad haidaroh
 
Makalah Sistem Berkas - Organisasi berkas relatif
Makalah Sistem Berkas - Organisasi berkas relatifMakalah Sistem Berkas - Organisasi berkas relatif
Makalah Sistem Berkas - Organisasi berkas relatifFajar Jabrik
 
Mata Kuliah Basis Data
Mata Kuliah Basis DataMata Kuliah Basis Data
Mata Kuliah Basis DataMr. Nugraha
 
Modul 8 - Jaringan Syaraf Tiruan (JST)
Modul 8 - Jaringan Syaraf Tiruan (JST)Modul 8 - Jaringan Syaraf Tiruan (JST)
Modul 8 - Jaringan Syaraf Tiruan (JST)ahmad haidaroh
 
02-konsep-data-warehouse.ppt
02-konsep-data-warehouse.ppt02-konsep-data-warehouse.ppt
02-konsep-data-warehouse.pptDedek28
 

What's hot (20)

Tipe data abstract
Tipe data abstractTipe data abstract
Tipe data abstract
 
Contoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyContoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzy
 
Model data relasional (3)
Model data relasional (3)Model data relasional (3)
Model data relasional (3)
 
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLKelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
 
Tugas RPL SRS Erwan
Tugas RPL SRS ErwanTugas RPL SRS Erwan
Tugas RPL SRS Erwan
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 
Aturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode PembuktianAturan Inferensi dan Metode Pembuktian
Aturan Inferensi dan Metode Pembuktian
 
Visualisasi informasi
Visualisasi informasiVisualisasi informasi
Visualisasi informasi
 
Analisis ERD Database Rumah Sakit
Analisis ERD Database Rumah SakitAnalisis ERD Database Rumah Sakit
Analisis ERD Database Rumah Sakit
 
Laporan praktikum modul 4 (e-rd notasi martin)
Laporan praktikum modul 4 (e-rd notasi martin)Laporan praktikum modul 4 (e-rd notasi martin)
Laporan praktikum modul 4 (e-rd notasi martin)
 
[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak[PBO] Pertemuan 6 - Abstrak
[PBO] Pertemuan 6 - Abstrak
 
Perancangan database penjualan indomaret
Perancangan database penjualan indomaretPerancangan database penjualan indomaret
Perancangan database penjualan indomaret
 
Sistem File
Sistem FileSistem File
Sistem File
 
Notasi Bahasa - P 5,6,7
Notasi Bahasa - P 5,6,7 Notasi Bahasa - P 5,6,7
Notasi Bahasa - P 5,6,7
 
Makalah Sistem Berkas - Organisasi berkas relatif
Makalah Sistem Berkas - Organisasi berkas relatifMakalah Sistem Berkas - Organisasi berkas relatif
Makalah Sistem Berkas - Organisasi berkas relatif
 
Class Diagram
Class DiagramClass Diagram
Class Diagram
 
Jaringan hebb
Jaringan hebbJaringan hebb
Jaringan hebb
 
Mata Kuliah Basis Data
Mata Kuliah Basis DataMata Kuliah Basis Data
Mata Kuliah Basis Data
 
Modul 8 - Jaringan Syaraf Tiruan (JST)
Modul 8 - Jaringan Syaraf Tiruan (JST)Modul 8 - Jaringan Syaraf Tiruan (JST)
Modul 8 - Jaringan Syaraf Tiruan (JST)
 
02-konsep-data-warehouse.ppt
02-konsep-data-warehouse.ppt02-konsep-data-warehouse.ppt
02-konsep-data-warehouse.ppt
 

More from Reza Mardiyeni

Aspek ergonomi dalam IMK
Aspek ergonomi dalam IMKAspek ergonomi dalam IMK
Aspek ergonomi dalam IMKReza Mardiyeni
 
Konsep dan teminologi (Parallel Prosesing)
Konsep dan teminologi (Parallel Prosesing)Konsep dan teminologi (Parallel Prosesing)
Konsep dan teminologi (Parallel Prosesing)Reza Mardiyeni
 
multiprosesor & multikomputer
multiprosesor & multikomputermultiprosesor & multikomputer
multiprosesor & multikomputerReza Mardiyeni
 
Transfer data paralel dan digital
Transfer data paralel dan digitalTransfer data paralel dan digital
Transfer data paralel dan digitalReza Mardiyeni
 

More from Reza Mardiyeni (6)

Aspek ergonomi dalam IMK
Aspek ergonomi dalam IMKAspek ergonomi dalam IMK
Aspek ergonomi dalam IMK
 
Ekonomi teknik
Ekonomi teknikEkonomi teknik
Ekonomi teknik
 
Greedy knapsack
Greedy knapsackGreedy knapsack
Greedy knapsack
 
Konsep dan teminologi (Parallel Prosesing)
Konsep dan teminologi (Parallel Prosesing)Konsep dan teminologi (Parallel Prosesing)
Konsep dan teminologi (Parallel Prosesing)
 
multiprosesor & multikomputer
multiprosesor & multikomputermultiprosesor & multikomputer
multiprosesor & multikomputer
 
Transfer data paralel dan digital
Transfer data paralel dan digitalTransfer data paralel dan digital
Transfer data paralel dan digital
 

Recently uploaded

Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaRenaYunita2
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxmuhammadrizky331164
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptxMuhararAhmad
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.pptSonyGobang1
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studiossuser52d6bf
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptxAnnisaNurHasanah27
 

Recently uploaded (6)

Strategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di IndonesiaStrategi Pengembangan Agribisnis di Indonesia
Strategi Pengembangan Agribisnis di Indonesia
 
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptxPembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
Pembangkit Listrik Tenaga Nuklir Kelompok 1.pptx
 
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
001. Ringkasan Lampiran Juknis DAK 2024_PAUD.pptx
 
05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt05 Sistem Perencanaan Pembangunan Nasional.ppt
05 Sistem Perencanaan Pembangunan Nasional.ppt
 
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open StudioSlide Transformasi dan Load Data Menggunakan Talend Open Studio
Slide Transformasi dan Load Data Menggunakan Talend Open Studio
 
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
2021 - 10 - 03 PAPARAN PENDAHULUAN LEGGER JALAN.pptx
 

OPTIMASI QUERY

  • 2. Komponen Query Processing  Bahasa yang digunakan  SQL : “ Intergrasi bahasa data”  Metodelogi Eksekusi Query  Langkah – langkah yang digunakan untuk mengeksekusi dalam gueri yang diinginkan oleh user  Optimasi Query  Bagaimana mengetahui rencana eksekusi yang “baik”
  • 3. Tabel yang ada Pelanggan Daya terpasang harga
  • 4. Memilih Alternatif SELECT nmpel FROM pelanggan,daya_terpasang WHERE pelanggan.idpel = daya_terpasang.idpel AND daya > 1300 Strategi 1 Π nmpel(σdaya >1300 Λ pelanggan.idpel=daya_terpasang.idpel(pelanggan X daya_terpasang)) Strategi 2 Πnmpel(pelanggan idpel (σdaya>1300 (daya_terpasang))
  • 5. Objek Optimasi Queri Minimal Biaya I/O Cost + CPU Cost + Communication Cost Wide Area Networks Biaya komunikasi akan mendominasi 1. Bandwidth Rendah 2. Kecepatan rendah Local Area Networks Biaya komunikasi tidak mendomionasi
  • 7. Lapisan Pada Query Processing Query Decomposition Data Localization Global Optimazation Local Optimazation Global Schema Fragment Schema Stats On Fragments Local Schema Control Site Local Sites
  • 8. Query Decomposition  Pada Lapis Pertama ini input adalah query dirubah menjadi Aljabar query.  Query Decomposition dibagi menjadi 4 bagian :Normalisasi, analisa semantik, memperbaiki Query, menata ulang struktur dari queri (restruktured)
  • 9. Data Localization  Hasil dari lapis pertama akan dibuat dalam bentuk fragment.  Secara Umum membuat fragment guery ada 2 langkah :Distribusi query dipetakan dalam fragment query, menyederhanakan fragment query.
  • 10. Global Optimazation  Tujuan dari optimasi query adalah mencari strategi untuk mengeksekusi query.  Strategi eksekusi untuk query terdistribusi tergantung dari aljabar relasional dan cara berkomunikasi ( mengirim/menerima)
  • 11. Local Optimization  Pada lapisan ini , query terbaik sudah terpilih, dan setiap sub query berada di satu site.
  • 12. Dekomposisi Query  Normalisasi  Manipulasi Queri  Analisa  Mendeteksi queri yang salah  Sederhanakan  Mengeleminasi predicate yang berulang  Tata Ulang  Gunakan aturan transformasi
  • 13. Normalisasi  Aturan untuk operasi logika 1. p1  p2 <=> p2 ^ p1 2. p1 V p2 <=> p2 V p1 3. p1 ^ ( p2 ^p3)  (p1 ^ p2) ^p3 4. p1 V (p2 Vp3) ( p1 V p2) Vp3 5. p1 ^ (p2 Vp3)(p1 ^ p2) V (p1 ^ p3) 6. p1 V (p2 ^ p3)  (p1 V p2) ^ (p1 V p3) 7.  ( p1 ^ p2) p1 V p2 8.  ( p1 V p2)  p1 ^ p2 9. (p)  p
  • 14. Contoh 1 Select nmpel From pelanggan p , daya_terpasang d Where (p.idpel = d.idpel And ap = 'lenteng agung‘ And daya = 1300 ) or ( p.idpel = d.idpel And ap = 'lenteng agung' And daya = 900 ) Mencari nama pelanggan dengan ap ‘lenteng agung ‘ dengan daya 1300 atau 900 watt SQL : Select nmpel From pelanggan p , daya_terpasang d Where p.idpel = d.idpel And ap = “lenteng agung” And (daya = 1300 Or daya = 900) Normalisasi : p.idpel = d.idpel  ap=“lenteng agung”  (daya = 1300 V Daya =900) atau (p.idpel = d.idpel  ap=“lenteng agung”  Daya = 1300) V (p.idpel = d.idpel  ap=“lenteng agung”  Daya = 900)
  • 15. Analisa Menemukan queri yang salah Tipe yang tidak benar 1. Jika ada atribut atau nama relasi tidak didefenisi dalam skema global 2. Ada operasi yang diaplikasikan ke atribut dengan tipe yang salah
  • 16. Contoh 2 Select alamat From pelanggan Where ap > 1900 Queri tidak benar : Atribut alamat tidak dideklarasikan dalam struktur tabel Operator > 1900 tidak compatible dengan type text dari ap
  • 17. Kesalahan Semantik 1. Ada komponen yang tidak memberikan konstribusi dalam hasil akhir 2. Hanya sebagian dari relational queris yang dapat di tes untuk koreksi 3. Untuk mendektesi : query graph dan Join Graph
  • 18. Contoh 3: Cari nama pelanggan dan daya dengan tarif kurang dari 1100 SELECT nmpel, daya FROM pelanggan p, daya_terpasang d, harga h WHERE p.idpel = d.idpel AND d.gol = h.gol AND ap = “lenteng agung" AND tarif <100
  • 19. Query Graph pel daya harga FROM FROM pelanggan p, daya_terpasang d, harga h WHERE p.idpel = d.idpel AND d.gol = h.gol AND ap = “lenteng agung" Tarif <100 AND tarif <100 ap = “lenteng agung" hasil SELECT nmpel, daya
  • 20. Analisis Jika Graph tidak terkoneksi , queri salah SELECT nmpel, tarif FROM pelanggan, harga WHERE ap = “lenteng agung" AND tarif =110
  • 21. Sederhanakan - Mengapa Harus disederhanakan - Bagaimana , Gunakan aturan transformasi 1. p ^ p  p 2. p V p  p 3. p ^ true  p 4. p V false  p 5. p ^ false  false 6. P V true  true 7. P ^ p  false 8. P V p  true 9. p1 ^ (p1 Vp2)  p1 10 . p1 V (p1 ^p2)  p1
  • 22. Contoh 4 SELECT ap FROM pelanggan WHERE nmpel = “sely” OR (NOT (ap = “semplak”) AND (ap= “semplak” OR ap = “bintaro.”) AND NOT (ap = “bintaro”)) SELECT ap FROM pelanggan WHERE nmpel = “sely”
  • 23. Tata Ulang Gunakan query tree Contoh : Cari nama pelanggan yang tidak dilayani oleh ap lenteng agung yang mempunyai daya > 1300 dan merupakan golongan rumah SELECT p.nmpel FROM pelanggan p,daya_terpasang d, harga h WHERE p.idpel = d.idpel AND d.gol = h.gol AND p.Ap <>'lenteng agung' AND d.daya >900 AND h.tari=85 Π nmpel σ h.tarif =85 σ d.Daya >900 σ p.ap <> lenteng agung pelanggan Daya_terpasang harga select nmpel from (select * from pelanggan natural join daya_terpasang natural join harga where ap<> 'lenteng agung' and daya>900 and tarif=85)
  • 24.
  • 25.
  • 26. Equivalent query Π nmpel σ p.Ap <>'lenteng agung‘ ^ d.daya >900 ^ h.gol='rumah’ select nmpel from( select * from daya_terpasang cross join harga natural join pelanggan where daya_terpasang.gol=harga.gol and ap<>'lenteng agung' and daya >900 and tarif=85) pelanggan Daya_terpasang harga
  • 27. RESTRUCTURING Π idpel,nmpel ((select idpel,nmpel from pelanggan where ((select idpel,gol from daya_terpasang (select gol from harga where tarif =85))) σ Ap<>’lenteng agung’ Π nmpel select nmpel from ap<>'lenteng agung') natural join where daya>900) natural join Π idpel,gol Π gol σ Daya>900 σ tarif=85 pelanggan Daya_terpasang harga
  • 28. Tugas kelompok Penerbangan ( pno: string, asal : string, tujuan:string, jarak:integer, berangkat:time, tiba:time, harga:currency, pstno:string) Pesawat (pstno:string, pstnama:string, jaraktempuh:integer) Sertifikat(pilotid:string, pstno:string) Pilot (pilotid: string, pilot_nama:string, gaji : currency) 1. Buat aljabar relasional , query graph dan Query Tree untuk mencari nama pesawat yang dapat diterbangkan nonstop dari asal ke tujuan Optimasikan query ini 2. SELECT pno FROM pernerbangan WHERE berangkat =10:00 OR harga>700,000 AND (berangkat <>10:00 OR harga>700,000) Ini juga dioptimasi 3. SELECT pilot_nama FROM pilot plt, sertifikat s, pesawat pst, penerbangan p WHERE pilotid.p = pilotid.s AND pstno.pst = pstno.s AND pstno.pst = pno.p AND asal =”semarang” AND pstnama=”boeing”