• Tidak ada hasil yang ditemukan

ESTIMASI QUERY - UNIKOM Kuliah Online

N/A
N/A
Nguyễn Gia Hào

Academic year: 2023

Membagikan "ESTIMASI QUERY - UNIKOM Kuliah Online"

Copied!
18
0
0

Teks penuh

(1)

ESTIMASI QUERY

Sistem Basis Data

Gentisya Tri Mardiani, M.Kom

(2)

Estimasi Biaya Query

Optimizer query akan membuat informasi

statistik yang tersimpan dalam katalog DBMS untuk memperkirakan besarnya biaya dari

sebuah rencana query.

Informasi yang tersimpan meliputi:

Banyaknya baris data (record) dalam sebuah tabel

Banyaknya blok berisi baris data dalam tabel

Ukuran setiap baris data dari tabel (satuan byte)

Banyaknya nilai unik dalam tabel untuk suatu atribut

(3)

Pengukuran Biaya Query

Biaya evaluasi query dapat diukur dari banyaknya sumber daya (resource) sistem yang terpakai,

meliputi pengaksesan disk, waktu CPU mengerjakan query, dan untuk sistem basis data paralel atau

terdistribusi.

Pada sistem basis data yang besar dapat

memberikan kontribusi biaya query yang dominan.

Perhitungan waktu CPU lebih sukar untuk

diprediksikan, maka biaya pengeksekusian sebuah rencana query yaitu waktu yang dibutuhkan untuk pengaksesan ke disk.

(4)

Ekivalensi Ekspresi Relasional

Nama

nama_bag=‘Akunting’ (bagian pekerjaan pribadi)

)

Karena atribut nama_bag itu terdapat di tabel bagian, maka dapat direduksi terlebih dahulu banyaknya baris data yang akan

dilibatkan dalam operasi join, dengan mengubah ekspresi di atas menjadi ekspresi yang ekivalen:

Nama

nama_bag=‘Akunting’ (bagian)  (pekerjaan pribadi)

)

(5)

Ekivalensi ekspresi operasi Seleksi

Aturan:

Jalankan operasi seleksi seawal mungkin (prioritaskan operasi seleksi)

contoh:

σjenis_kelamin=‘P’ ˄ kota=‘Yogya’ (pribadi)

Ganti ekspresi yang berbentuk

σP1 ˄ P2 (E) menjadi σP1(σP2(E) )

(6)

Ekivalensi ekspresi operasi natural join

Memilih urutan operasi Join yang optimal, untuk semua relasi r1, r2, r3 maka:

(r1  r2)  r3 menjadi r1  (r2  r3)

Contoh:

(pribadi  pekerjaan)  bagian pribadi  (pekerjaan bagian)

meskipun ekspresi di atas sama, namun secara komputasi operasi bisa berbeda

(7)

Aturan Ekivalensi

1. Operasi seleksi konjungtif dapat direkonstruksi ke dalam sebuah sekuen seleksi individual

σP1 ˄ P2 (E) = σP1P2(E) )

2. Operasi seleksi bersifat komutatif σP1P2(E) ) = σP2P1(E) )

3. Hanya operasi final dalam sekuen operasi proyeksi yang diperlukan

L1 (L2 (E)) = L1(E)

4. Seleksi dapat dikombinasikan dengan cartesian product dan theta join

σɵ(E1 x E2) = E1  ɵ E2

(8)

Aturan Ekivalensi

5. Operasi theta join bersifat komutatif E1  ɵ E2 = E2  ɵ E1

6. Operasi natural join berisfat asosiatif (E1  E2)  E3 = E1  (E2  E3)

7. Operasi union dan intersection bersifat komutatif

E1 U E2 = E2 U E1 , E1  E2 = E2  E1

8. Operasi union dan intersection bersifat asosiatif

(E1 U E2) U E3 = E1 U (E2 U E3) (E1  E2)  E3 = E1  (E2  E3)

(9)

Aturan Ekivalensi

9.

Operasi seleksi dapat didistribusikan ke operasi union, intersection, dan set

difference

σP(E1 – E2) = σP(E1) – E2 = σP(E1) - σP(E2)

10.

Operasi proyeksi dapat didistribusikan ke operasi union

L(E1

U

E2) = L(E1) U L(E2)

(10)

Ekuivalensi alajabar relasional dan SQL

Aljabar Relasional SQL

Selection σP(E)

Contoh:

σ kota=‘Bantul’(Pribadi)

Select * from E where P Contoh:

Select * from pribadi where kota=‘Bantul’

Projection column (E)

Contoh:

NIP, Nama (Pribadi)

Select column from E Contoh:

Select NIP, Nama from Pribadi

(11)

Aljabar Relasional SQL

Union E1 E2

Contoh:

Pribadi Pekerjaan

select * from E1 union select * from E2

Contoh:

Select * from pribadi union select * from pekerjaan Set

Difference

E1 - E2 Contoh:

NIP (Pribadi) NIP (Pekerjaan)

Select * from E1 except select * from E2

Contoh:

Select NIP from pribadi except select NIP from pekerjaan

Cartesian Product

E1 x E2 Contoh:

NIP, Nama, Gaji

Pribadi.NIP=Pekerjaan.NIP (Pribadi x Pekerjaan))

Select * from E1, E2 Contoh:

Select Pribadi.NIP,

Pribadi.Nama, Pekerjaan.Gaji from Pribadi, Pekerjaan

where Pribadi.NIP = Pekerjaan.NIP;

(12)

Aljabar Relasional SQL Set

Intersection

E1 E2

Contoh:

Pribadi Pekerjaan

select * from E1

intersect select * from E2

Contoh:

Select * from pribadi intersect select * from pekerjaan

Join E1 E2

Contoh:

Pribadi Pribadi.NIP=Pekerjaan.NIP Pekerjaan

Select * from E1 join E2 Contoh:

Select * from pribadi join Pekerjaan on

Pribadi.NIP=Pekerjaan.

NIP

(13)

Struktur Sistem Basis Data

Tujuan utama dari sistem basis data adalah untuk memudahkan dan memfasilitasi akses ke data.

Faktor utama yang menjadi parameter

kepuasan user terhadap sistem basis data adalah performansinya.

Performansi sistem tergantung pada:

Efisiensi struktur data (penyimpanan) yang digunakan/ dipilih

Seberapa efisien sistem tersebut dapat beroperasi pada struktur data tersebut

(14)

Struktur DBMS untuk Pemrosesan Query

File manager, yang mengelola alokasi dalam disk dan struktur data yang digunakan untuk

merepresentasikan informasi yang tersimpan dalam disk

Buffer manager, yang bertanggung jawab dalam pentransferan informasi antara disk dan memori utama

Query parser, yang menerjemahkan perintah dalam query language ke dalam bahasa mesin

Strategy selector, yang mentransformasikan

permintaan user ke dalam bentuk lain yang sama tetapi lebih efisien, kemudian menentukan strategi terbaik untuk menjalankan query

(15)

Struktur DBMS untuk Pemrosesan Query

Authorization / integrity manager, yang memeriksa pemenuhan batasan- batasan

integritas dan otoritas user untuk mengakses data

Recovery manager, yang menjamin bahwa basis data dapat tetap konsisten setelah

kegagalan/ kerusakan sistem insidental

Concurrecy controller, yang menjamin interaksi pada basis data secara konkuren dilaksanakan tanpa adanya konflik antar user

(16)

Struktur data yang dibutuhkan dalam implementasi fisik

File Data, yang merupakan basis data itu sendiri

File Data Sistem, yang menyimpan

informasi tentang struktur basis data, contoh isi file data sistem adalah kamus data

Data Statistik, yang menyimpan informasi spesifik tentang data dalam basis data.

Informasi ini bermanfaat bagi pemilihan strategi operasi yang diminta user

(17)
(18)

Tugas Kelompok

Membangun Database untuk sistem informasi suatu organisasi dari dokumen manual

Sistem informasi:

Penjualan/Point Of Sale (POS), perpustakaan, rumah sakit,

koperasi, akademik, HRM/kepegawaian, inventory, perbankan, rental/penyewaan, perhotelan

Database minimal terdiri dari 3 tabel

Gunakan prinsip Normalisasi (1, 2, 3 ..dsb)

Buat ERD, Skema Relasi, dan Struktur tabel

Create Database dan tabel (type data disesuaikan dengan kebutuhan)

Query:

Aljabar relasional (5 soal)

Insert, update, delete dan select (dari 1 tabel, 2 tabel dsb) (5 soal)

Dikumpulkan minggu depan dalam bentuk laporan dan presentasi

Waktu sampai pertemuan ke-6 (sebelum UTS)

Referensi

Dokumen terkait

1 Pengantar Nota Keuangan Pemerintah dan Rancangan Peraturan Daerah RAPBD Perubahan: - Nota Keuangan Pemerintah ,-Materi RAPBD 2 tahun setelah anggaran berakhir 3 tahun Permanen 2

Struktur Kondisi dan Perulangan Struktur Kondisi If i f kondisi { statement-jika-kondisi-true; } Keterangan : kondisi merupakan statemen atau variabel yang akan diperiksa TRUE atau