" width="1" height="1" border="0"/>

Nov 30, 2012

Perjalanan Dua Buah Tabel dalam Database Oracle melalui Tools PL/SQL

Konsep atau logika dari judul di atas adalah tentang bagaimana merelasikan dua buah tabel tentang hasil produksi minyak dan gas bumi per bulan. Berikut contoh logika dari gambaran yang akan dicapai.

Kita Perhatikan gambar di atas, ada dua tabel yaitu :
1. Tabel Well_Properties
2. Tabel Well_Prod_Monthly

Mari kita perhatikan arah atau alur (kiri ke kanan) dari gambar di atas, pada bagian tabel well_properties pada field PROD_METHOD=BP tanggal 20 Mei 2010 menuju ke tanggal 1 JUNI 2010 di bagian tabel well_prod_monthly field-nya masih sama di PROD_MEHTOD=BP, nah berikutnya pada tanggal 25 JUNI 2010 prod_method berubah menjadi EP dan menuju tanggal 1 JULI 2010 tetap sama PROD_METHOD=EP, begitu selanjutnya. jadi field PROD_METHOD yang dimiliki tabel well_properties akan dikaitkan ke tabel well_prod_monthly untuk mengetahui perjalanan dari tanggal yang ada.

Jadi dari kedua tabel tersebut mempunyai masing-masing field, berikut field yang dimiliki setiap tabel :


Setelah digunakan SQL yang sederhana tanpa melibatkan bantuan function, maka tabel yang dihubungkan tidak dapat berjalan , adapun tujuan dari bantuan SQL Function adalah untuk mengambil data yang dibutuhkan sehingga tidak menimbulkan errror saat dijalankan.

Berikut tampilan tabel Well_Prod_Monthly yang akan diambil berdasarkan function, perhatikan bagian blok merah dan blok biru dengan cermat maka bagian blok biru sebagai acuan produksi yang diperoleh.

gambar hasil tampilan tabel Well_Prod_Monthly

Berikut tampilan tabel Well_Properties yang akan diambil berdasarkan function yang dapat menjalankan jumlah baris data yang besar dan dihubungkan dengan tabel Well_Prod_Monthly di atas sesuai dengna field Code dan Object_Code (BLSE00024-01 dan BLSE00027-01) yang dimiliki kedua tabel. Perhatikan lagi blok merah dan blok biru, blok biru adalah waktu pergantian Prod_Method yang berhubungan dengan tabel Well_Prod_Monthly.
Gambar hasil tampilan tabel Well_Properties

Untuk dapat menghubungkan kedua tabel tersebut penulis mencoba membuat dan menggunakan function yang cukup sederhana agar dapat menampilkan hubungan antara tabel tersebut.
Gambar Create Function

Ternyata function di atas tersebut tidak sanggup  untuk menyeleksi record Code dan Object_Code yang bernilai ganda dan berjumlah besar. Sehingga muncul kesalahan dalam menjalankan dan memanggil Function tersebut melalui SQL yang dibuat.
Gambar SQL untuk membuktikan apakah function tersebut efektif

Dari kejadian yang penulis alami diatas maka solusi muncul untuk memperbaiki atau merevisi penggunaan Function agar dapat berjalan sesuai yang diharapkan, dalam analisa yang didapat ternyata Function tersebut harus diuabh karena tidak sanggup untuk meload data yang jumlahnya besar dan mempunyai nilai ganda. Untuk dapat memproses data yang besar tentu diperlukan Function yang sesuai dengan kondisi yang akan dihadapi mengingat data yang semakin meningkat jumlah kapasitasnya. Dari perbaikan yang dilakukan berikut Function baru yang dibuat sebagai perubahan dari yang sebelumnya.
Gambar create function yang baru

setelah dijalankan dan dicoba untuk dipanggil melalui SQL yang digunakan untuk membuktikan kebenaran antara dua tabel agar dapat diketahui perjalanan produksi berdasarkan Prod_Method dari waktu ke waktu yang ada hubungannya dengan tabel Well_Properties.
Gambar SQL untuk membuktikan apakah function tersebut efektif

Dari hasil yang diperoleh dapat disimpulkan bahwa pemanggilan Functin yang ada berjalan dengan baik, terbukti dengan hasil yang muncul dari SQL yang dibuat.

perhatikan blok merah dan biru, blok merah ditujukan bahwa Object_Code yang muncul adalah bersumber dari hubungan dari kedua tabel, sedangkan blok biru adalah hasil perjalanan Prod_Method berdasarkan waktu dari Well_Prod_Monthly sehingga pada saat Daytime berganti maka Prod_Method secara otomatis dapat diketahui pemakaianya dalam masa produksi.

gambar di bawah ini adalah SQL yang dikelompokkan berdasarkan bulan dan Prod_Method.
Gambar SQL Group berdasarkan Kondisi tertentu

Maka pemanggilan Function yang ada berhasil dan berjalan dengan baik, terbukti dari perjalanan logika pada gambar paling atas sebagai acuan, jika masih perlu pahami maksud pada gambar di atas dengan baik karena dapat memberikan gambaran tentang apa yang ingin dicapai.

Sekian, terima kasih.

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | cheap international calls