Membuat Data Base Yang Benar dan Baik

Kali ini saya mau membagikan bagaimana cara membuat database dan tabel yang baik dan benar, semoga artikel kali ini bermamfaat untuk para pembaca.

Basis Data Yang Baik


Baca Juga: Basis Data Model Data Relasional MDK

Perlu diketahui postingan kali ini pastinya para pembaca sudah membacanya di postingan sebelumny yang berjudul Relasi Antar Tabel Data Base dari postingan sebelumnya ada lima tabel yang terdapat pada tabel dengan judul data jadwal, dari tabel tersebut ada lima buah tabel (tabel-tabel DMK ditambah tabel nilai dan tabel jadwal) kendati telah membentuk sebuah basis data, perlu analisis lebih jauh dari berbagai aspek seperti efiensi tempat penyimpanan data, intergritas data (redundansi data yang minimal), kecepatan pemrosesan, kemudian operasi basis data, dll. Jika aspek-aspek tersebut telah dipertimbangkan dengan baik, maka kita tidak hanya sekedar membentuk basis data, tapi lebih jauh lagi akan dapat melahirkan sebuah basis data yang baik.

Berikut adalah sejumlah uraian yang meunjukkan inefisiensi basis data perkuliahan yang berisi kelima tabel tersebut:
  1. Bisa saja terjadi ada lebih dari 1 dosen dengan nama (termasuk gelarnya) yang sama. Misalnya kita tambahkan data baru di tabel Dosen dengan nama dosen Ir. Taufik Ismail yang berlamat di Jl. Rukun No. Depok 40115. Dengan tambahan data tersebut, maka dari tabel dosen kita dapat mengetahui bahwa ada dua orang dosen dengan nama yang sama tapi berbeda tempat tinggal. Lalu coba kita beranjak ke tabel jadwal, maka kita akan mendapatkan adanya ambiguitas (ketidak pastian). Ambguitas terjadi pada jadwal matakuliah Matematika I yang di ajarkan oleh dosen yang bernama Ir Taufik Ismail. Nah, Ir taufik Ismail yang manakah (yang di Bogor atau yang di depok) yang sebenarnya mengajar mata kuliah tersebut ?

  2. Pada tabel mahasiswa kita dapat mengetahui nama mahasiswwa melalui data NIM-nya. Karena itu penyertaan data nama mahasiswa melalui pada tabel nilai menjadi tidak praktis/efisien. Redundansi data yang tidak perlu (boros) terjadi pada data nama mahasiswa ini. Jika kolom dan nama mahasiswa ini tidak disertakan, kita masih tetap dapat mengetahui nama majasiswa yang mengambil/mengikuti mata kuliah tertentu dengan mengacu ke tabel mahasiswa.

  3. Jika kita melakukan pengubahan terhadap nama mata kuliah (baik karena alasan perbaikan kesalahan atau memang adanya perubahana data), maka perubahan ini harus diikuti juga dengan perubahan di tabel lain. Misalnya mata kuliah Basis Data berubaha menjadi Basis Data Dasar maka kita juga harus melakukan hal yang sama ke tabel Nilai dan tabel Jadwal. Jika penjalaran perubahan tidak dilakukan maka konsisten data antar tabel menjadi terganggu. Tapi jika dilakukan (apabila jika sering dilakukan), maka perubahan semacam ini tentu menjadi tidak praktis.

  4. Pada tabel jadwal, bagaimanakah kita menyatakan struktur untuk kolom waktu perkuliahan ? apakah dengan sebuah kolom bertipe karakter/string dengan kolom lebar 30 karakter? jika dinyatakan dalam sebuah kolom, apa yang terjadi jika sebuah mata kuliah yang waktu perkuliahannya dua kali dalam seminggu ternyata dilakukan pada tempat yang berbeda? Berikut adalah sejumlah alternatif reperesentasi tabel untuk kasus itu:

    • Alternatif satu (lebar kolom waktu dan tempat diperbesar):

      Mata Kuliah Waktu Tempat Nama Dosen
      Struktur Data Senin, 08.00 - 09.40 dan
      Kamis, 11.00 - 11.50
      Ruang A Dr. Umar Hakim
      Basis Data Selasa, 08.00 - 09.40 dan
      Juma'at, 11.00 - 11.50
      Ruang B Dr. Umar Hakim
      Bahasa indonesia Rabu, 09.00-10.50 Ruang A Dewi Sundari, MA
      ..... ..... ..... .....

      Kelemahan pada alternatif ini: lebar kolom untuk waktu dan tempat akan mubazir bagi mata kuliah yang dilaksanakan satu kali/minggu dan dapat mempersulit operasi pengubahan data (jika misalnya kita ingin mengubah waktu kuliah yang kedua, tapi waktu kuliah yang pertamanya tetap).

    • Alternatif dua mata kuliah yang dua kali/minggu dinyatakan dalam dua baris:

      Mata Kuliah Waktu Tempat Nama Dosen
      Struktur Data Senin, 08.00 - 09.40 Ruang A Dr. Umar Hakim
      Struktur Data Kamis, 11.00 - 11.50 Ruang B Dr. Umar Hakim
      Basis Data Selasa, 10.00 - 11.40 Ruang B Dr. Umar Hakim
      Basis Data Jum'at, 08.00 - 09.40 Ruang C Dr. Umar Hakim
      Bahasa indonesia Rabu, 09.00-10.50 Ruang A Dewi Sundari, MA
      .... .... .... ....

    • Kelemahan pada alternatif ini : data nama dosen akan disimpan berulang-ulang untuk mata kuliah yang melaksanakn dalam dua kali/seminggu.
    • Alternatif ke tiga mata kiliah yang dua kali/minggu diakomodasi dalam kolom terpisah:

      Mata Kuliah Waktu1 Waktu2 Tempat1 Tempat2 ....
      Struktur Data Senin, 08.00 - 09.40 Kamis, 11.00 - 11.50 Ruang A Ruang B .....
      Basis Data Selasa, 10.00 - 11.40 Jum'at, 08.00 - 09.40 Ruang B Ruang C .....
      Bahasa indonesia Rabu, 09.00 - 10.50 Ruang A ....

      Kelemahan pada alternatif ini: kolomm waktu-waktu dan tempat-tempat akan menjadi mubazir untuk matakuliah yang dilaksanakan hanya dalam satu kali/seminggu.

Yang manakah dari ketiga alternatif ini yang paling baik efisien atau adakah alternatif lain yang lebih baik ?

Dengan beberapa uraian di atas, maka pembentukan basis data yang baik tentu saja manjadi sangat penting. Basis data perkuliahan dengan struktur dan data yang disajikan dalam postingan ini masi sangat sederhana, sehingga kebutuhan akan adanya basis data yang baik itu belum mendesak. Tapi hal itu akan manjadi kebutuhan mutlak jika kita terlibat pada sistem yang lebih kompleks dan harus membangun basis data yang besar (baik dari sisi jumlah tabel yang terlibat dan volume data dari masing-masing tabel). Upaya pembentukan basis data yang baik tersebut akan bisa lebih mudah jika dilakukan dengan lebih dulu membuat perancangan basis data.

Baca Juga: Relasi Antar Tabel Data Base

Bagaimana upaya/cara yang harus kita lakukan untuk mendapatkan basis data yang baik itu melalui perancangan basis data tersebut akan dijelaskan lebih mendalam pada artikel selanjutya. Perancangan basis data dilasanakan dengan menerapakan sejumlah teori terhadap data (fakta) yang lebih kita miliki. Aspek perancangan itulah yang sebenarnya menjadi misi utama penulisan artikel ini.

Kesimpulan


Pembentukan basis data yang baik (efisien) sendiri sebagai sebuah hasil perancangan yang matang akan memberi sejumlah karakteristik dan keuntungan seperti:
  • Struktur basis data (tabel-tabel dan relasi antar tabel) yang lebih kompak.
  • Struktur masing-masing tabel yang lebih efisien dan sistematis
  • Kebutuhan ruang penyimpanan data (memori sekunder) yang lebih efisien
  • Semakin kecil (efisien) ukuran tabel, maka akan semakin cepat operasi basis data yang kita lakukan
  • Efisiensi tersebut ditandai dengan redundansi data yang optimal (catatan: dalam basis data relasional, redundansi data tidak mungkin dihindari). Optimalnya redundansi ini akan meningkatkan integritas data, karena upaya penjalaran perubahan data dari sebuah tabel ke tabel-tabel yang lain yang berhubungan akan bisa dibuat minimal.
  • Tidak ada ambiguitas data di semua tabel dalam basis data.
  • Dan Lain-Lain
Next Post Previous Post
No Comment
Add Comment
comment url