Teknik Normalisasi Database

Normalisasi database merupakan sebuah upaya untuk memperoleh sebuah basisdata dengan struktur yang baik, yaitu dengan cara menerapkan sejumlah aturan pada tiap-tiap tabel agar ruang penyimpanan efisien.

Istilah normalisasi dapat disederhanakan menjadi memecah relasi menjadi beberapa tabel untuk mendapatkan database yang optimal.

Contoh normalisasi database

Berikut ini contoh normalisasi database JadwalMatKul sederhana, namun setidaknya hal ini bisa diimplementasikan ke dunia kerja nantinya, memang hal ini terlihat pekerjaan yang sepele karna masih memiliki sedikit tabel saja, namun anda akan dipusingkan jika anda sama sekali tidak mengerti normalisasi database apabila pekerjaan anda memiliki tabel yang banyak sekali, berikut ini contoh normalisasi database sederhana.

Perhatikan tabel dibawah ini, asumsikan bahwa tabel dibawah ini adalah jadwal matakuliah, sekilas kalau dilihat tentu tabel ini tidak ada keanehan..

normalisasi database

Tetapi apabila ditambah beberapa data didalamnya..

normalisasi database

Dari diatas sebenenarnya tidak ada yang salah, karna memang dari hasil outputnya akan menghasikan seperti tabel diatas, namun dari sisi duplikasi data pada informasi nama dan nik, jelas ini tidak efisien apabila dijadikan satu tabel seperti diatas, bagaimana jika data akan terus bertambah? itulah kenapa diperlukan normlasasi, lalu bagaimana cara normalisasi tabel diatas?

Sebelumnya mari kita analisis terlebih dahulu, bagaimana tabel itu terbentuk dan apa saja objek yang tidak berkaitan, berikut ini detailnya:

  • Nik dan Nama adalah objek mahasiswa/siswa/orang.
  • Matkul adalah objek pelajaran/materi.
  • Kelas adalah objek tempat.

Ketigas jenis objek diatas tidak saling berkaitan, masing-masing seharusnya memiliki informasi mengenai kriterianya, sehingga apa yang harusnya diubah adalah membuat tabel untuk masing-masing objek tersebut, seperti dibawah ini:

normalisasi database

Dari hasil pemecahan ketiga tabel tersebut kita hanya perlu satu tabel lagi utuk menjadi penghubung, anggap saja tabel tersebut bernama JadwalMatkul (Jadwal Matakuliah), dimana didalam tabel JadwalMatkul tersebut hanya menyiman nilai kunci masing-masing tabel. Berikut ini susunan lengkap tabel setelah di lakukan normalisasi.

Baca juga:  Tipe-tipe Tabel MySQL

normalisasi database

Dari relasi tabel diatas terlihat sudah lengkap untuk disusun menjadi kumpulan tabel awal, terlihat perbedaannya setelah dilakukan normalisasi, tentu cara ini lebih efisien ketimbang kita hanya menggunakan satu tabel yang datanya dikumpulkan menjadi satu, itu akan menjadikan database sangat berat sekali nantinya apabila data yang ingin di kelola sangat banyak.