Hirarki Data di Oracle

Setelah postingan saya pada Hirarki data di MySQL, saya mencoba membuatnya di database yang lain. Apakah dengan database yang lain akan lebih mudah atau malah lebih sulit dari MySQL. Saya mencobanya di Oracle 9i. Dengan sedikit bantuan Google dan coba-coba sedikit, ternyata Oracle memberikan kemudahan dalam hal hirarki data. dengan menggunakan klausa CONNECY BY saya mendapatkan kemudahan untuk menampilkan data. Tidak semua database terdapat feature ini. Syntax yang dibutuhkan hanya seperti ini :

START WITH
CONNECT BY
[NOCYCLE]
CONDITION;

CONNECT BY PRIOR

Klausa ini mengidentifikasi hubungan antara parent row dan child row di dalam sebuah hirarki data. Seperti contoh dibawah ini :

SELECT employeeId,employeeName,managerId
FROM employees
CONNECT BY PRIOR employeeId = managerId;

START WITH

START WITH digunakan untuk menampilkan data berdasarkan level-level tertentu. Query dibawah ini mengembalikan nilai dari table employees pada hirarki data berdasarkan nama karyawan dan levelnya. Saya mencoba dengan nama karyawan Budi :

SELECT employeeName, managerName, LEVEL
FROM employees
START WITH employeeName = 'Budi'
CONNECT BY PRIOR employeeId = managerId;

Syntax yang lain, SIBLINGS dapat digunakan untuk mengurutkan semua child row berdasarkan parent yang dibuat. Query dibawah ini sebagai contoh penggunaan SIBLINGS pada table employees dan dept. Query ini menghasilkan daftar nama pegawai dan managernya berdasarkan tanggal pegawai masuk / diterima.

SELECT employeeName, managerName, deptName
FROM employee, dept
WHERE employee.deptNo = dept.deptNo
START WITH employeeName = 'Budi'
CONNECT BY PRIOR employeeId = managerId
ORDER SIBLINGS BY hireDate;

Selamat mencoba dan mempelajarinya.😀 Saya juga masih dalam tahap belajar untuk database yang satu.🙂

One Response to “Hirarki Data di Oracle”

  1. yusuf Says:

    sep!!trims


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: