Anda di halaman 1dari 4

1

Jurusan Teknik Elektro, Fakultas


Teknik Universitas Negeri Malang

MODUL
PRAKTIKUM
BASIS DATA 2
PERTEMUAN 7
PostgreSQL Tuning Database
(Simple Partition Table)

Annisa Puspa Kirana, S.Kom, M.Kom

Modul Praktikum Basis Data 2 - Jurusan Teknik Elektro Fakultas Teknik Universitas Negeri Malang
Dosen : Annisa Puspa Kirana S.Kom, M.Kom

Modul 7: Tuning Database (Table Partition)

A. Partisi Tabel pada PostgreSQL


PostgreSQL mendukung fitur partisi pada tabel. Partisi disini mengenai
pemecahan atau pembagian sebuah tabel master/tabel utama secara logic menjadi
potongan-potongan fisik menjadi lebih kecil. Partisi dapat memberikan beberapa
keuntungan

misalnya

inerja query dalam

mengeksekusi

perintah

dapat

ditingkatkan. Update kinerja dapat ditingkatkan juga, karena setiap potongan tabel
memiliki indeks yang lebih kecil daripada indeks pada data yang akan mengatur
keseluruhan. Ketika indeks tidak cocok lagi, dengan mudah memori membaca dan
menulis operasi pada indeks dengan mengambil akses disk lebih progresif. Dalam
menghapus data dalam kelompok besar, dapat dicapai hanya dengan menghapus
salah satu partisi, jika kebutuhan yang direncanakan dalam desain partisi tabel,
DROP tabel jauh lebih cepat daripada DELETE massal. Manfaat biasanya akan
tampak lebih jelas hanya jika tabel dinyatakan dalam jumlah sangat besar.

B. Implementasi Range Partition Table


Untuk dapat lebih memahami mengenai partisi tabel pada postgreSQL,
sebagai contoh kasus adalah pengelompokkan nama-nama mahasiswa yang
mendapat nilai A, B, dan C berdasarkan range nilai.
1. Membuat tabel master
create table mahasiswa
(
nim varchar(10) not null primary key,
nama_mahasiswa varchar(50),
nilai_mahasiswa integer
)

Modul Praktikum Basis Data 2 - Jurusan Teknik Elektro Fakultas Teknik Universitas Negeri Malang
Dosen : Annisa Puspa Kirana S.Kom, M.Kom

2. Membuat partisi tabel


create table mahasiswa_a(
check (nilai_mahasiswa >= 80 and nilai_mahasiswa <= 100)
)inherits(mahasiswa);
create table mahasiswa_b(
check (nilai_mahasiswa >= 70 and nilai_mahasiswa < 80)
)inherits(mahasiswa);

create table mahasiswa_c(


check (nilai_mahasiswa >= 60 and nilai_mahasiswa < 70)
)inherits(mahasiswa);
3. Agar data yang disisipkan/diinputkan masuk pada partisi yang sesuai, maka
perlu adanya aturan secara kompleks yang mengatur hal ini. Gunakan query
seperti berikut:
create rule mahasiswa_insert_nilai_a as
on insert to mahasiswa where
(nilai_mahasiswa >= 80 and nilai_mahasiswa <= 100)
do instead
insert into mahasiswa_a values (new.nim,
new.nama_mahasiswa,
new.nilai_mahasiswa);

create rule mahasiswa_insert_nilai_b as


on insert to mahasiswa where
(nilai_mahasiswa >= 70 and nilai_mahasiswa < 80)
do instead
insert into mahasiswa_b values (new.nim,
new.nama_mahasiswa,
new.nilai_mahasiswa);
create rule mahasiswa_insert_nilai_c as
on insert to mahasiswa where
(nilai_mahasiswa >= 60 and nilai_mahasiswa < 70)
do instead
insert into mahasiswa_c values (new.nim,
new.nama_mahasiswa,
new.nilai_mahasiswa);

Modul Praktikum Basis Data 2 - Jurusan Teknik Elektro Fakultas Teknik Universitas Negeri Malang
Dosen : Annisa Puspa Kirana S.Kom, M.Kom

4. Insert data:
insert into mahasiswa values (07560242, Mudafiq Riyan, 90);
insert into mahasiswa values (07560254, Ivan Prasetya, 70);
insert into mahasiswa values (07560412, Abbi Yudha, 85);
insert into mahasiswa values (07560212, Sagara Pratama, 67);

Soal
1. Jelaskan apa fungsi dari source code pada langkah ke 2
2. Jelaskan apa fungsi dari source code pada langkah ke 3
3. Jelaskan apa yang terjadi saat insert data pada langkah ke 4
4. Silahkan capture data yang terdapat dalam tabel mahasiswa_a,
mahasiswa_b, dan mahasiswa_c setelah dilakukan proses insert data pada
langkah ke-4
Note
Pada praktikum pertemuan 7 kali ini tidak perlu membuat laporan. Hal yang
perlu anda kerjakan adalah menjawab beberapa pertanyaan diatas saja.
File dikumpulkan berupa softcopy dan silahkan dikirimkan ke email melalui PJ
masing-masing pada pertemuan ke 9. Jika ada beberapa kelas yang
dijadwalkan mengumpulkan laporan pada beberapa pertemuan sebelumnya
jatuh pada pertemuan ke 8, waktu pengumpulan diperpanjang pada pertemuan
ke 9.
Silahkan fokus belajar untuk keperluan UTS saja.
Terimakasih
Annisa Puspa Kirana, S.Kom, M.Kom

Modul Praktikum Basis Data 2 - Jurusan Teknik Elektro Fakultas Teknik Universitas Negeri Malang
Dosen : Annisa Puspa Kirana S.Kom, M.Kom

Anda mungkin juga menyukai