Beberapa bulan bergelut dengan dunia WEB, telah membuka mata saya tentang konsep dan teori perancangan Basis Data. Perancangan yang dilakukan secara sistematis dengan memperhatikan teori dasar basis data. Teori-teori yang Saya dapatkan selama mengikuti kuliah Matrikulasi Sistem Basis Data di S2 Reguler Teknik Elektro UGM 2010.
Terus terang, teori dasar basis data sangat membantu saya dalam mendalami dunia basis data dengan menggunakan MySQL. Dari teori-teori yang dipelajari itu, saya mengenal istilah Entity, Attribute, Weak Entity, Strong Entity, Entity Relationship Model, Multivalued Attribute, Derived Attribute, Associative Entity, Cardinality Constrain dan istilah-istilah lainnya yang tidak bisa saya sebutkan satu persatu. Semua istilah ini dapat Anda temui di buku Modern Database Management karya Jeffrey A. Hoffer, Mary B. Presscot, dan Fred R. McFadden. Buku yang sangat berguna dalam mengupas teori perancangan dan pengembangan basis data modern.
Berpijak dari teori tersebut, terdapat sebuah model perancangan hubungan antar entitas (tabel) dari sebuah basis data (database). Istilah untuk frase ini biasa dikenal dengan nama Entity Relationship Model. Model hubungan ini seterusnya akan berlanjut menjadi sebuah Diagram Hubungan antar Entitas yang biasa dikenal dengan nama Entity Relationship Diagram (ERD).
Perancangan sebuah database dimulai dari pendefinisian dari sistem yang akan dirancang. Sebagai contoh, Saya mencoba merancang sebuah database sistem informasi nilai sederhana. Perancangan ini saya mulai dengan mengidentifikasi tabel-tabel (entitas) yang akan saya gunakan di dalam sistem ini. Tabel-tabel itu terdiri dari tabel mahasiswa, tabel dosen, tabel informasi, tabel mata_kuliah, tabel nilai dan tabel informasi. Perancangan tabel-tabel tersebut dilanjutkan dengan menentukan atribut-atribut yang akan digunakan untuk masing-masing tabel. Salah satu dari atribut yang terdapat di dalam tabel harus dijadikan primary sebagai primary key (identifier). Primary Key ini harus diidentifikasi apakah bekerja secara auto increment atau tidak.
Setelah semua tabel berikut atribut masing-masing diselesaikan, langkah selanjutnya adalah membuat hubungan antar tabel. Hubungan antar tabel ini dikenal dengan istilah ERD. Bagaimana merancang EERD? Bagaimana menerapkan teori Entity Relationship dengan tabel ini? Bagaimana menerapkan Relationship Cardinality untuk tabel-tabel tersebut? Untuk menjawab pertanyaan tersebut, sebaiknya kita mengkaji teori Pemodelan Struktur Hubungan antar Entitas .
Simbol tabel (entitas), simbol hubungan dan simbol atribut. Ketiga simbol ini digambarkan secara sederhana ke dalam gambar berikut ini.
Symbol dalam ERD
Kajian selanjutnya adalah jumlah hubungan antar entitas. Hubungan tersebut dapat berupa hubungan tunggal (unary/hubungan satu entitas), hubungan biner (binary/hubungan antar 2 entitas), dan hubungan banyak (ternary/hubungan diatas dua entitas). Hubungan-hubungan ditandai dengan sebuah garis yang dikenal dengan nama relationship cardinality.
Gambar Degree Relasi
Relationship Cardinality biasa dikenal dengan penandaan hubungan antar tabel. Hubungan itu dapat berupa satu ke satu, satu ke banyak, dan banyak ke banyak (kalau ada tambahan silahkan CMIIW). Dalam buku Modern Database Management, terdapat empat macam Relationship Cardinality ini. Hubungan tersebut dijelaskan dengan nama Mandatory One, Mandatory Many, Optional One dan Optional Many.
Relationship Cardinality ini ditandai dengan notasi-notasi yang dapat dilihat pada gambar berikut ini.
Relationship Cardinality
Bagaimana selanjutnya? Gambar hubungan antar entitas ini dapat dirancang dengan menggunakan gambar-gambar yang telah di sebutkan di atas secara manual.
Pada tulisan ini, Saya tidak akan menggambar ERD tersebut secara manual. Diagram yang saya gambar menggunakan sebuah aplikasi opensource dari MySQL yang dikenal dengan nama MySQL Workbench. Hubungan antar entitas secara otomatis akan terbentuk berikut tabel relasinya.
Gambar ini tidak dikenal dengan nama ERD tetapi EER Diagram. Perlu dicermati, penggunaan notasi Relationship Cardinality terlihat jelas pada aplikasi ini, sehingga memudahkan kita membaca sistem yang sedang dirancang. Gambaran hubungan tersebut langsung terhubung ke database MySQL yang terdapat di laptop Saya. Hasil dari rancangan tersebut antara lain adalah sebagai berikut.
Gambar EERD dengan MySQL Workbench
Menarik bukan? InsyaAllah, dengan bantuan software ini, akan memudahkan kita dalam mempersiapkan rancangan basis data sebuah sistem Informasi. Rancangan yang dilakukan dengan memperhatikan teori-teori perancangan basis data dengan tepat.
Jujur, tulisan ini masih jauh dari sempurna, jika seandainya bermanfaat silahkan diterapkan. Akan tetapi, jika terdapat kekurangan di sana sini, silahkan dikoreksi. Saya juga masih belajar.
Salam. Isaninside-2010, Yogyakarta.
Comments
mas, ada ketentuan khusus gak pada masing2 tabel kalo mau buat relasi antar tabel?
soalnya aku buat relasi tabel dengan mysql query browser terjadi error. jadi bingung udah diutak-atik masih saja tidak bisa.
Author
mungkin kesalahan penulisan sintak SQLnya mas.. coba dicek kembali mungkin perintah SQLnya ada yang salah
Sangat gamblang dan jelas sekali, terimakasih pak Ihsan 🙂
Author
Matur Nuwun Pak Wawan, tapi masih ada kesalahan mengenai entitas/tabel itu pak.. Hehehe thanks sudah mampir pak wawan..
Pak,saya mau nanya tng query tntg untuk menampilkan data dari hasil median..
Saya tertarik dengan tulisan Anda. Saya juga mempunyai informasi mengenai basis data Oracle dan pendaftaran kursus Oracle yang bisa Anda kunjungi di http://lpug.gunadarma.ac.id/sertifikasi/owdp/eng/welcome