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”
Memilih Alternatif
SELECT ENAME
FROM EMP,ASG
WHERE EMP.ENO = ASG.ENO
AND DUR > 37
Strategi 1
Strategi 2
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
Global
Query Decomposition
Schema
Control
Site Data Localization Fragment
Schema
Local Local
Local Optimazation
Sites Schema
Query Decomposition
Normalisasi :
E.Eno = G.Eno G.Jno=“J1” (Dur = 12 V Dur =24)
atau
(E.Eno = G.Eno G.Jno=“J1” Dur = 12) V
(E.Eno = G.Eno G.Jno=“J1” Dur = 24)
Analisa
Select E#
From E
Where Ename > 200
Queri tidak benar :
Atribut E# tidak dideklarasikan
dalam schema
Operator > 200 tidak compatible
dengan type string dari nama
Kesalahan Semantik
SELECT ENAME,RESP
FROM EMP, ASG, PROJ
WHERE EMP.ENO = ASG.ENO
AND PNAME = "CAD/CAM"
AND DUR = 36
AND TITLE = "Programmer"
Sederhanakan
- Mengapa Harus disederhanakan
- Bagaimana , Gunakan aturan
transformasi
1. p^pp 6. P V true true
2. pVpp
7. P ^ p false
3. p ^ true p
4. p V false p 8. P V p true
5. p ^ false false 9. p1 ^ (p1 Vp2) p1
10 . p1 V (p1 ^p2) p1
Contoh 4
SELECT TITLE
FROM EMP
WHERE EMP.ENAME = “J. Doe”
OR (NOT (EMP.TITLE = “Programmer”)
AND (EMP.TITLE = “Programmer”
OR EMP.TITLE = “Elect. Eng.”)
AND NOT (EMP.TITLE = “Elect. Eng.”))
SELECT TITLE
FROM EMP
WHERE EMP.ENAME = “J. Doe”
Tata Ulang
Make use of query trees
Example
Find the names of employees other than
J. Doe who worked on the CAD/CAM
project for either 1 or 2 years.
SELECT ENAME
FROM EMP, ASG, PROJ
WHERE EMP.ENO = ASG.ENO
AND ASG.PNO = PROJ.PNO
AND ENAME . “J. Doe”
AND PNAME = “CAD/CAM”
AND (DUR = 12 OR DUR = 24)