BASIS DATA YANG BAIK

Database | Membuat Basis Data Yang Baik | Budayakan Berbagi
kelima buah tabel (tabel-tabel mahasiswa, kuliah dan dosen ditambah dengan tabel nilai dan tabel jadwal) kendati telah membentuk sebuah basis data, pperlu dianalisis lebih jauh dari berbagai aspek efisiensi tempat penyimpanan data, integritas data (redundansi data yang minimal), kecepatan pemprosesan, kemudahan operasi basis data, dll. Jika aspek-aspek ersebut 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 menunjukkan infisiensi basis data perkuliahan yang berisi kelima tabel tersebut :
  • 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 'Drs. Umar Arif Rahman yang beralamat di Jl. Rukun no. 15, Bandung 40132'. Dengan tambahan data tersebut, maka dari tabel dosen kita dapat mengetahui ada 2 dosen dengan nama yang sama tapiberbeda tempat tinggal. Lalu coba kita beranjak ke tabel jadwal, maka kita akan mendapatkan adanya ambiguitas (ketidakpastian). Ambiguitas terjadi pada jadwal mata kuliah 'Struktur Data dan Bahasa Indonesia' yang diajarkkan oleh dosen yang bernama 'Drs. Umar Bakrie'. Nah, 'Drs. Umar Bakrie' yang manakah (yang di Jl. Mannuruki atau Jl. Rukun ) yang sebenarnya mengajar mata kuliah tersebut.
  • Pada tabel mahasiswa kita dapat mengetahui nama mahasiswa melalui data NIM-nya. karena itu, penyertaan nama data mahasiswa 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 mahasiswa yang mengikuti mata kuliah tertentu dengan mengacu ke tabel mahasiswa.
  • Jika kita melakukan pengubahan terhadap nama mata kuliah (baik karena alasan perbaikan kesalahan atau memang adanya perubahan data), maka perubahan ini harus diikuti juga dengan perubahan di tabel lain. Misalnya mata kuliah 'Struktur Data' menjadi 'Struktur Data I', maka kita juga harus melakukan perubahan yang sama ke tabel nilai dan tabel jadwal. Jika penjalaran tidak dilakukan, maka konsistensi data antar tabel menjadi terganggu. Tapi jika dilakukan (apalagi jika sering dilakukan), maka perubahan semacam ini tentu menjadi tidak praktis.
  • Pada tabel jadwaal, bagaimanakah kita menyatakan struktur untuk kolom waktu perkuliahan ? apakah dengan sebuah kolom bertipe karakter/ String dengan lebar kolom 30 karakter ? Jika dinyatakan dalam sebuah kolom, apa yang terjadi jika sebuah mata kuliah yang waktu perkuliahannya 2 kali dalam seminggu ternyata dilaksanakan pada tempat yang berbeda? Berikut adalah sejumlah alternative representasi tabel untuk kasus itu :
    1. Alternatif 1 → lebar kolom waktu dan tempat diperbesar :


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

    2. Alternatif 2 → Mata kuliah yang 2 kali/ minggu dalam 2 baris :


      Kelemahan pada alternatif ini : data nama dosen akan disimpan berulang-ulang untuk mata kuliah yang dilaksanakan dalam 2 kali/minggu.

    3. Alternatif 3 → Mata Kuliah yang 2 kali/ minggu diakomodasi dalam kolom terpisah :


      Kelemahan pada alternatif ini : kolom waktu 2 dan tempat 2 akan jadi mubazir untuk mata kuliah yang dilaksanakan hanya dalam 1 kali/ minggu.
Yang manakah dari ketiga alternatif ini yang paling baik (efisien) ? atau adakah alternatif lain yang lebih baik?

Dengan beberapa uraian diatas, maka pembentukan basis data yang baik tentu saja menjadi sangat penting. Basis data akademik dengan struktur dan data yang disajikan dalam artikel kali ini masih sangat sederhana, sehingga kebutuhan akan adanya basis datayang baik itu belum mendesak. Tapi hal itu akan menjadi 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.
Bagaimana upaya/cara yang harus kita lakukan untuk mendapatkan basis data yang lebih baik itu melalui perancangan basis data tersebut akan dijelaskan lebih mendalam pada artikel-artikel selanjutnya. Perancangan basis data dilaksanakan dengan menerapkan sejumlah teori terhadap data (fakta) yang telah kita miliki. Aspek perancangan itulah yang sebenarnya menjadi misi utama penulisan buku ini.

Pembentukan basis data yang baik (efisien) sendiri sebagai sebuah hasil perancangan yang matang akan member sejumlah karakteristik dan keuntungan seperti :
  • Struktur data (tabel-tabel dan relasi antar tabel) yang lebih kompak.
  • Struktur msing-masing tabel yang lebih efisien dan sistematis.
  • Kebutuhan ruang penyimpanan data (memori sekunder) yang lebih efisien.
  • Semakin kecil (efisiensi) ukuran tabel, maka akan semakin cepat operasi basis data yang dilakukan.
  • Efisiensi tersebut ditandai dengan redundansi data yang optimal (catatan : dalam basis data relasional, redundansi tidak dapat mungkin dihindari). Optimalnya redundansi ini akan dapat meningkatkan integritas data, Karena upaya penjalaran perubahan data dari sebuah tabel ke tabel-tabel yang lain yang berhungan akan bisa dibuat minimal.
  • Tidak ada ambiguitas data di semua tabel dalam basis data.
  • Dan lain-lain.
Baca juga artikel lainnya :


Sekian dan semoga Bermanfaat ...

Share this

Related Posts

Previous
Next Post »