Penyimpanan basis data merupakan penyimpanan yang terstruktur dengan data yang saling berhubungan dengan tata cara tertentu. Setiap jenis basis data memiliki cara berbeda dalam mengelola dan menyimpan data. Setiap basis data memiliki cara tersendiri dalam menyimpan dan menempatkan data. Berdasarkan metode tersebut, kita dapat mengelompokkan basis data ke dalam beberapa model. Model basis data menggambarkan struktur serta hubungan antar data di dalam sistem, sehingga proses pengolahan dan akses informasi menjadi lebih cepat dan efisien.
Model Hirarki
Model basis data ini mengorganisasi data dalam struktur seperti pohon, di mana setiap elemen memiliki hubungan antara induk dan anak. Setiap simpul induk dapat memiliki beberapa simpul anak, tetapi setiap simpul anak hanya memiliki satu induk. Model hirarki memiliki kelebihan pada konsep yang sederhana namun implementasi yang terbatas dan kompleks. Model hirarki mampu mengakomodasi independensi dan integritas data dengan baik, tetapi model ini cukup sulit untuk dikelola.

Sayangnya, model hirarki tidak mampu menangani data yang memiliki lebih dari satu parent. Contohnya terlihat pada ilustrasi di atas, di mana child “Pasien A” hanya dapat terhubung dengan satu parent, yaitu “Poli Anak.”Padahal pada praktiknya seorang pasien harusnya dapat berobat ke berbagai poli. Sehingga pada contoh kasus ini, model hirarki tidak cukup baik untuk mengakomodasi kebutuhan data operasional rumah sakit.
Model Jaringan
Mirip dengan model hierarki, model jaringan memiliki komponen induk dan anak. Model ini memungkinkan hubungan data yang lebih kompleks, di mana beberapa simpul induk dan anak saling terhubung dalam sebuah set.
Satu set pada model jaringan mewakili relasi 1:1 (one-to-one), 1:M (one-to-many), dan N:M (many-to-many) antara parent dan child. Contoh penerapan hubungan ini dapat dilihat pada ilustrasi di bawah, yang menampilkan data yang diimplementasikan menggunakan model jaringan.
Model jaringan memiliki beberapa keunggulan. Keunggulan utama yaitu konsepnya yang mudah untuk dipahami dan kemampuannya mengakomodasi berbagai tipe relasi. Namun, model ini juga memiliki kekurangan. Salah satunya yaitu sistem yang cenderung kompleks dan tingkat independensi data yang rendah saat diimplementasikan.

Model Berorientasi Objek
Model basis data berorientasi objek menyimpan data sebagai objek seperti paradigma pemrograman berorientasi objek. Objek dapat terdiri data dan actions. Data merupakan informasi yang disimpan sedangkan actions adalah hal-hal yang dapat dilakukan dengan data. Contoh data yaitu data pelanggan yang memiliki detail nama pelanggan, alamat pelanggan, nomor telepon dan alamat email. Actions pada data pelanggan contohnya mencari riwayat pembelian dan mengupdate detail data pelanggan.
Model basis data berorientasi objek mengelola data kompleks dan data persisten. Data presisten merupakan data yang tidak hilang atau berubah jika disimpan dalam jangka panjang meskipun sistem atau perangkat dihentikan atau di-restart.
Lihat gambar ilustrasi di bawah yang menampilkan rancangan data person, address, student, professor, dan course dalam model basis data berorientasi objek.

Pada contoh di atas, kita tidak perlu melakukan deklarasi satu persatu baik untuk student maupun professor pada data yang sama (name, gender, phone_number, email_address, dan birth_date). Cukup membuat anak kelas dari kelas Person, dan kita dapat menambahkan atribut unik khusus mahasiswa (student_id, enrollment_year, gpa) dan professor (salary, qualification). Hal ini sangat praktis ketika kita harus memberlakukan data sebagai objek.
Cek video tutorial kami di Youtube dan beberapa e-book di Lynk.id
Model Relasional
Basis data model relasional menyimpan data dalam betuk tabel yang memilki baris dan kolom. Masing-masing tabel memiliki hubungan menggunakan skema kunci utama (primary key) dan kunci asing (foreign key). Integritas data dan operasi relasional adalah fitur utama.
Keuntungan menggunakan model relasional yaitu mudah pada saat perancangan basis data, baik ketika pengelolaan maupun implementasi. Selain itu model basis data relasional memiliki database management system yang tangguh. Sayangnya, proses perancangan basis data sangat penting dan harus tepat, karena perubahan struktur tabel (contohnya menambahkan kolom baru) bisa mengganggu sistem yang sudah berjalan yang dapat meningkatkan biaya maintenance maupun terjadinya error sistem.
Agar memahami gambaran awal, lihat gambar di bawah ini untuk contoh hubungan tabel pada basis data relasional. Tabel KRS memiliki hubungan dengan tabel mahasiswa sekaligus dengan tabel mata kuliah. Hubungan ini terjaga dengan adanya aturan primary key dan foreign key. Primary key sendiri merupakan satu kolom atau lebih yang menjadi pembeda antara satu baris dengan baris lainnya. Sedangkan foreign key harus merujuk pada primary key dari tabel lain dan menjadikannya kolom di tabel sendiri. Penggunaan foreign key merupakan salah satu fitur constrain yang menjaga agar data konsisten dan lengkap.

Jika kita lihat pada contoh ilustrasi di atas, tabel mahasiswa memiliki primary key MahasiswaID, sehingga value pada kolom MahasiswaID harus unik dan membedakan antara satu mahasiswa dengan mahasiswa lainnya. Hal ini juga berlaku pada primary key MataKuliahID pada tabel Mata Kuliah. Kedua primary key tersebut kemudian dirujuk oleh kolom dengan nama yang sama pada tabel KRS. Jika ingin mengetahui siapa nama mahasiswa berdasarkan MahasiswaID pada tabel KRS, maka kita hanya perlu melakukan query dengan join tabel dan memberikan logika kondisi.
Penutup Model Basis Data Relasional
Model basis data relasional menjadi model paling populer di antara keempat model yang telah disebutkan. Secara konsep model basis data relasional sangat dekat dengan kita yang biasa menyimpan data dalam bentuk tabel. Sehingga memudahkan kita untuk mempelajarinya sebagai pemula. Selain itu, banyak teknologi terutama perangkat lunak mendukung model basis data ini baik berbayar maupun tidak. User yang menggunakan juga sangat di forum komunitas IT. Keunggulan ini membuat model relasional sangat powerful dan sering menjadi materi awal untuk belajar basis data baik di pendidikan formal kampus maupun di tempat pembelajar non-formal seperti bootcamp.
Temukan Artikel Basis Data Lainnya!
- Konsep Dasar Basis Data
- Jenis dan Tipe Data


Leave a Reply