**Model database Hierarki** merupakan model data yang dimana data tersebut diatur dengan struktur data tree. Struktur ini dapat mewakili informasi menggunakan hubungan child/parent: setiap parent dapat memiliki banyak child, tetapi setiap child hanya boleh memiliki satu parent (yang dikenal juga dengan **hubungan 1-ke-banyak**). Seluruh atribut dari record yang ditentukan telah diatur dengan tipe entitas.

Contoh dari Model hierarki
Pada database tipe entiti sama dengan tabel. Setiap record individual diwakili sebagai baris, dan setiap atribut sebagai kolom. Tipe entiti berhubungan satu sama lain dengan menggunakan pemetaan *1:N*, juga dikenal sebagai hubungan satu-ke-banyak. Model ini dikenal sebagai model database awal yang diciptakan oleh IBM pada tahun 1960-an.

Database hierarki yang paling banyak digunakan saat ini ialah **IMS** dikembangkan oleh IBM dan Registry Windows oleh Microsoft.

Sejarah
-------

Model data hierarki kehilangan daya tariknya sebagai Model Relasional Edgar F.Codd menjadi standar de facto yang digunakan secara virtual oleh seluruh sistem manajemen database saat ini. Implementasi Database Relasional dari model hierarki pertama sekali dipublikasikan pada tahun 1992.

Contoh dari data hierarki yang diwakili sebagai tabel relasi
------------------------------------------------------------

Sebuah organisasi dapat menyimpan informasi pegawai pada tabel yang mengandung atribut/kolom seperti nomor pegawai, nama awal, nama akhir, dan kode departemen. Organisasi menyediakan setiap pegawai dengan hardware computer seperti yang dibutuhkan, tetapi peralatan komputer hanya dapat digunakan dari pegawai yang telah disetujui. Organisasi dapat menyimpan informasi hardware komputer pada tabel terpisah yang termasuk setiap bagian dari nomor serial, tipe, dan pegawai yang menggunakannya. Bentuk tabel akan tampak seperti ini:

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 

| Nomor | Nama Awal | Nama Akhir | Kode Departemen |
| --- | --- | --- | --- |
| 100 | Sally | Baker | 10-L |
| 101 | Jack | Douglas | 10-L |
| 102 | Sarah | Schultz | 20-B |
| 103 | David | Drachmeier | 20-B |

 | 

| Nomor Serial | Tipe | Nomor Pegawai |
| --- | --- | --- |
| 3009734-4 | Komputer | 100 |
| 3-23-283742 | Monitor | 100 |
| 2-22-723423 | Monitor | 100 |
| 232342 | Printer | 100 |

 |

Pada model ini, tabel data pegawai mewakili bagian "parent" dari hierarki, sedang tabel komputer mewakili bagian "child" dari hierarki.
Secara kontras dari stuktur tree biasanya ditemukan pada algoritme software komputer, pada model ini child menuju parent. Seperti yang diperlihatkan, setiap pegawai dapat memiliki beberapa peralatan komputer, tetapi setiap peralatan komputer hanya boleh dimiliki satu pegawai.

Consider the following structure:

| No Pegawai | Pangkat | Laporan ke |
| --- | --- | --- |
| 10 | Direktur |  |
| 20 | Manager Senior | 10 |
| 30 | Juru Ketik | 20 |
| 40 | Programmer | 20 |

Pada tabel ini, "child" memiliki tipe yang sama seperti "parent". Hierarki yang menunjukka Nomor Pegawai 10 merupakan atasan dari 20, serta setiap laporan 30 dan 40 pada 20 diwakili dengan kolom "Laporan Ke". Pada bahasan database Relasional, kolom Laporan Ke merupakan *foreign key* yang mereferensikan kolom Nomor Pegawai. Jika tipe data "child" berbeda, maka "child" berada pada tabel yang berbeda, tetapi harus terdapat *foreign key* yang mereferensikan kolom Nomor Pegawai dari tabel pegawai.

Model sederhana ini biasa nya dikenal sebagai Model **Adjacency list**, yang diperkenalkan oleh **Dr. Edgar F Codd** setelah kritik awal muncul yang mengatakan bahwa model relasional tidak dapat memodelkan data hierarki. *Registry Windows* merupakan salah satu database hierarki yang menyimpan pengaturan konfigurasi dan pilihan dari sistem operasi Microsoft Windows.

Referensi
---------

1. ↑  Michael J. Kamfonas/Recursive Hierarchies: The Relational Taboo! Diarsipkan 2013-10-05 di Wayback Machine.--The Relation Journal, October/November 1992

Pranala luar
------------


Wikimedia Commons memiliki media mengenai ***Hierarchical models***.

* Troels' links to Hierarchical data in RDBMSs
* Managing Hierarchical Data in MySQL (This page is from archive.org as the page has been removed from MySQL.com)
* Hierarchical data in MySQL: parents and children in one query
* Create Hierarchy Chart from Hierarchical Database