Dilakukan dengan mengetahui bagaimana rencana eksekusi query yang “baik” rencana dari optimasi
Optimasi Query adalah suatu proses untuk menganalisa query untuk menentukan sumber-sumber apa saja yang digunakan oleh query tersebut dan apakah penggunaan dari sumber tersebut dapat dikurangi tanpa merubah output. Atau bisa juga dikatakan bahwa optimasi query adalah sebuah prosedur untuk meningkatkan strategi evaluasi dari suatu query untuk membuat evaluasi tersebut menjadi lebih efektif. Optimasi query mencakup beberapa teknik seperti transformasi query ke dalam bentuk logika yang sama, memilih jalan akses yang optimal dan mengoptimumkan penyimpanan data.
Tujuan dari optimasi query adalah menemukan jalan akses yang termurah untuk meminimumkan total waktu pada saat proses sebuah query. Untuk mencapai tujuan tersebut, maka diperlukan optimizer untuk melakukan analisa query dan untuk melakukan pencarian jalan akses.
Query dapat dilakukandengan mengoptimalkan ekspresi Aljabar Relasional seperti :
- Selection (σ)
- Projection (̟)
- Cartesian Product / Cross Product (X)
- Union (∪)
- Set-Difference (-)
Berikut tabel yang akan dibuat aljabar relasional dan optimasi querynya
Tabel Pelanggan Tabel Harga
Tabel Daya Terpasang
ALJABAR RELASIONAL
SELECT nmpel
FROM pelanggan,daya_terpasang
WHERE pelanggan.idpel = daya_terpasang.idpel
AND daya > 1300
Π nmpel(σdaya >1300 Λ pelanggan.idpel=daya_terpasang.idpel(pelanggan X daya_terpasang))Query Decomposition - Pada Lapis Pertama ini input adalah query dirubah menjadi Aljabar query.
- Query Decomposition dibagi menjadi 4 bagian :
- Normalisasi
Proses untuk mengubah suatu tabel yang memiliki masalah tertentu ke dalam dua buah tabel atau lebih, yang tidak lagi memiliki masalah tersebut (Abdul Kadir, 2002: 52). - Analisa semantikMendeteksi queri yang salah
- Memperbaiki Query
- Menata ulang struktur dari query (restruktured)
Gunakan aturan transformasi
Aturan untuk operasi logika
p1 ∧ p2 <=> p2 ^ p1
p1 V p2 <=> p2 V p1
p1 ^ ( p2 ^p3) (p1 ^ p2) ^p3
p1 V (p2 Vp3) ( p1 V p2) Vp3
p1 ^ (p2 Vp3)(p1 ^ p2) V (p1 ^ p3)
p1 V (p2 ^ p3) (p1 V p2) ^ (p1 V p3)
¬ ( p1 ^ p2) ¬p1 V ¬p2
¬ ( p1 V p2) ¬p1 ^ ¬p2
¬(¬p) p
CONTOH 1
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)
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
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
- Normalisasi
sangat bermanfaat sekali ka, thankyou
BalasHapuskunjungi blog saya juga
https://ayuyusnita.blogspot.com
dan
www.atmaluhur.co.id
Jenis jenis optimasi query apa ya
BalasHapus