Computer, Linux, Program, Source Code, Tutorial, Website

2020-04-28

Memahami Database Schema untuk Merancang Database RDB (Relationship Database)

Melanjutkan dari artikel tentang database yang telah saya tulis sebelumnya tentang pengertian database, pada artikel kali ini yang akan saya bahasa adalah Skema Database (Database Schema). Salah satu langakah yang terpeting pada pembuatan suatu database adalah tahap perancangan karena anda perlu melakukan analysis terhadap bagaimana data akan diproses pada sistem dan disimpan pada database.

Skema Database atau Database Schema adalah suatu dokument cetak biru berupa design atau rancagan suatu database. Dalam pengembangan software yang dilakukan secara team suatu document yang dibagaikan pada rekan se-team sangata lah penting. Bertujuan untuk mengurangi miskomunikasi dan menudahkan anggota team yang lain untuk melihat racangan database tanpa harus membuka DBMS.

Pada tiap-tiap DBMS anda dapat melihat Database schema pada database yang telah anda buat pada DBMS tersebut. Misalkan jika anda memggunakan MYSQL anda dapat melihat skema database yang telah anda buat melalui phpmyadmin dengan cara :

Gambar Contoh Database Schema pada MYSQL
  1. Aktifkan terlebih dahulu Apache dan MYSQL pada XAMPP.
  2. Selanjutnya silahkan buka webrowser anda kemudian buka url https://localhost/phpmyadmin
  3. Silahkan kilk salah satu databse yang telah anda buat.
  4. Kemudian pilih tab designer, untuk melihat detail dari design database tersebut.


Pada RDB (Relationship DataBase) terdapat 3 langkah dalam merancang suatu database schema yaitu :

1. Conceptual Design
Conceptual Design adalah design database yang paling sederhana berupa konsep rancangan secara mendasar. Untuk rancangan database dalam bentuk conceptual design jarang sekali saya menumukan disertakan dalam dokumen pengembangan sistem. Pada conceptual design ini anda akan menggunakan istilah entitas, dan atribut dalam menggambar rancangan database.

2. Logical Design 
Logical Design adalah rancangan relasi antar tabel. Relasi antar tabel pada database dapat diidentifikasi dengan berbagai cara salah satu nya adalah dengan menggunakan drajat kardinalitas. Dengan begitu dapat diketahui primay key dan forigen key yang terdapat pada database.

3. Physical Design
Physical Design adalah design database yang dirancang lebih kompleks. Physical Design dikatakan lebih kompleks karena memungkinkan pada masing-masing kolom telah didefinisikan tipe data, dan constraint-nya sehingga lebih mudah untuk dibaca dan dipahami oleh team member.


Terdapat beberapa jenis dokumen yang dapat digunakan utnuk membuat rancangan database yaitu :
  1. ERD (Entity Relationship Diagram).
  2. EERD (Enhanced Entity Relationship Diagram).
  3. EAV (Entity Attribute Value)
  4. OODB (Object Oriented Database).


Merancang Skema Database RDB (Relationship Database)

Merancang database kususnya RDB pada suatu system bukanlah suatu hal yang rumit namun sebaliknya, bisa dikatakan sangat mudah. Bagi saya belajar dasar-dasar merancang database itu lebih mudah dari pada belajar membaca (because after graduate from highschool I still can't read some text with clearly).

Berdasarkan yang saya tulis diatas tentang Database schema dirancang meluli 3 langkah yaitu Conceptual DesignLogical Design, dan Physical Design bukanlah hal paten yang harus anda terapkan dalam merancang database. Pada Team development kami biasanya hanya menggunakan Physical Design karena sudah mencakup semua rancangan database yang dibutuhkan oleh team member. Bukan berarti metode yang diatas tidak tepat, hanya saja saya rasa akan lebih cepat jika hanya membuat Physical Design- nya saja. Apa bila anda sudah terbiasa merancang dengan cara seperti menggunakan 3 langkah di atas itu pun bagus, atau mungkin sistem yang anda rancang cukup besar dan disetiap proses anda perlu berkonsultasi dengan pihak atasan atau senior pada perusahaan dimana anda bekerja, begitu pun juga bagus.

Lagi pula pada dasarnya tiap-tiap programer memiliki kemampuan, pengalaman, pendapat dan pandangan tentang perancangan suatu database dalam membangun dan mengembangkan software atau aplikasi. Sehingga pada suatu kasus aplikasi yang dikembangkan beberapa programer memiliki rancangan database yang berbeda. Diantara masing-masing rancangan database tersebut tidak ada yang paling benar dan tidak ada yang paling salah ketika masing-masing programer itu yang akan mengembangkan aplikasi atau softwarenya. Namun jika anda berada dalam suatu tim silahkan 1 orang saja yang merancang database kemudian baru didiskusikan, jangan sampai semua anggota team merancang database.

Dalam belajar merancang suatu database saya mencoba membuat ERD terlebih dahulu kemudian saya ubah ke dalam bentuk yang lebih lengkap dan lebih rapi dalam bentuk physical design. Seiring berjalannya waktu membuat ERD itu terasa merepotkan, karana terlalu banyak coretan yang saya gambar oleh sebab itu saya berpindah dari ERD dengan cara listing entitas, atribut, dan tipe datanya dengan aplikasi libre calc kemudian langsung langsung mengimplementasikan rancangan database tersebut ke MYSQL. Setelah suatu database selesai dibuat secara keselurahan dari tabel, kolom, dan relasi di MYSQL, saya mengeskpor skema database yang telah saya buat dan saya bagikan ke team. 

Dalam artikel ini saya akan memembuat physical design berdasarkan ERD yang telah saya buat dalam kasus Sistem Informasi Penyimpanan Aplikasi.
Gambar ERD Sistem Informasi Penyimpanan Aplikasi


  1. Pertama saya akan listing tabel dan kolom pada ERD di atas, kemudian dibuat dalam betuk seperti pada gambar di bawah ini :
    Hasil Listing Tabel dan Kolom pad database Sistem Informasi Penyimpanan Aplikasi

  2. Dari gambar ERD diatas anda dapat mengidentifikasi masing-masing tipe data pada tiap-tiap kolom.
    Untuk mengetahui cara mengidentifikasi tipe data lebih lanjut anda dapat mengunjungi artikel berikut : Cara Menentukan Tipedata pada Database
    Hasil Mengidetifikasi Tipe Data pada Kolom-kolom
    Perlu anda ketahui untuk kolom primary key dan forigen key yang saling ber-relasi pastikan tipedata dan besar nilai pada tipe data tersebut sama. Jika tidak sama yang maka dalam implementasi ke DBMS akan terjadi error.

  3. Menentukan primary key dan forigen key pada maisng-masing kolom untuk mengidetntifikasi relasi antar tabel. karena pada ERD sudah ditertera dengan lengkap saya hanya perlu merubah gambar relasinya nya saja. Jika dalam khasus anda anda belum tau relasi-nya, anda dapat membuatnya dengan cara yang paling mudah yaitu dengan drajat kardinalitas.
    Gambar Hasil Mengidetntifikasi Primary Key dan Forigen Key pada Masing-masing Tabel

Berikut ini hasil rancangan pysical diagram pada kasus  Sistem Informasi Penyimpanan Aplikasi yang sudah saya buat :
Gambar Hasil Database Schema Sistem Informasi Penyimpanan Aplikasi



Note :
Programming secara umum dalam berbagai kasus misal merancang database itu mirip dengan matematika kurang lebih, jika anda dapat mengadopsi metode yang sudah anda kemudian modifikasi sesuai dengan yang anda harapkan dan pastinya usahakan untuk tetap membuat hasil yang sama (dalam matematika), atau usahakan fungsi dan kegunaan program atau aplikasi yang anda kembangkan sama dengan kebutuhan fungsional yang telah diminta client pada saat acc (dalam software developer).



Referensi :



Sekian artikel dari saya banyak kekurangan dan kata-kata yang kurang berkenan saya mohon maaf.

Terima Kasih
~Semoga Bermanfaat~

0 komentar:

Posting Komentar

 
Top