Normalisasi Database Adalah: Tujuan dan Cara Melakukannya
Normalisasi Database Adalah: Tujuan dan Cara Melakukannya | Apa itu Normalisasi Database? Pada artikel kali ini, kami akan mengulas apa itu normalisasi database.
Tentunya bagi anda yang sudah terlatih dalam membuat mekanisme situs menggunakan SQL, istilah ini pasti sudah tidak asing lagi bagi anda, karena merupakan poin penting untuk dipahami dan diterapkan saat membuat database, dan bagi anda yang asing dan awam.
Jika masih baru dan Anda ingin mulai belajar, artikel ini untuk Anda.
Table of Contents
A. Apa itu Normalisasi Database?
Normalisasi Database Adalah teknik desain logis dalam database yang mengkategorikan atribut yang berbeda ke dalam relasi untuk membuat struktur relasi yang baik (tanpa redundansi/pengulangan data) dan untuk menghilangkan sebagian besar ambiguitas.
Atau pengertian singkatnya, normalisasi database adalah proses pengelompokan atribut data yang menjadikan substansinya sederhana, tidak berlebihan, fleksibel dan mudah dikustomisasi, sehingga dapat ditegaskan bahwa database yang dibuat memiliki kualitas yang baik.
Normalisasi database terbagi menjadi banyak bentuk, dalam ilmu database setidaknya terdapat 9 bentuk normalisasi yaitu 1NF, 2NF, 3NF, EKNF, BCNF, 4NF, 5NF, DKNF dan 6NF.
Saat membuat database optimal, database 1NF, 2NF, dan 3NF biasanya ditemui.
Jika Anda ingin menjadi database administrator (DBA), Anda perlu mengetahui cara mengoptimalkan normalisasi database.
Misalnya, jika situs web yang Anda buat mengalami penurunan kinerja, Anda mungkin akan ditanya apakah database telah dinormalisasi dengan benar.
Database Seperti Apa yang bisa di Normalisasi?
Tidak semua database dapat dinormalisasi, hanya tipe database relasional yang dapat dinormalisasi.
Banyak vendor DBMS (Database Management System) antara lain Oracle, MySQL, SQL Server, PostgreSQL, dan lain-lain.
B. Tujuan Normalisasi Database
Tujuan normalisasi database adalah untuk menghilangkan dan mengurangi redudansi atau duplikasi data.
Selain itu, proses ini memiliki tujuan untuk memastikan dependency data, atau memastikan bahwa data berada dalam tabel yang tepat.
Bagaimanapun, proses benar-benar diperlukan untuk memastikan data berada di tempat dan posisi yang tepat.
Jika ada tanda-tanda bahwa data telah menyimpang dari proses normalisasi, itu harus dapat memulihkan dan menangani tanda-tanda itu.
Data dapat digunakan secara normal dan sesuai dengan kemampuannya jika ditempatkan dan digunakan dengan benar.
Tentu saja, contoh normalisasi yang baik dapat mendukung penempatan dan penggunaan database yang akurat.
Selain itu, tujuan dari proses ini adalah untuk mengurangi komplikasi atau masalah database.
Ini dapat membantu untuk lebih mudah menyesuaikan data dengan kebutuhan bisnis atau organisasi.
Oleh karena itu, diperlukan beberapa organisasi atau perusahaan yang mengurusi data tersebut.
Tujuannya adalah untuk menghilangkan dan mengurangi redundansi data dan tujaun kedua adalah untuk memastikan dependensi data (data ada di tabel yang benar).
Jika data dalam database belum dinormalisasi, tiga peluang dapat muncul yang mengakibatkan hilangnya mekanisme secara keseluruhan.
- INSERT Anomali: Situasi dimana tidak mungkin untuk memasukkan data tertentu secara langsung ke dalam database.
- DELETE Anomali: Penghapusan data yang tidak sesuai dengan yang diharapkan, artinya data yang tidak seharusnya dihapus juga dapat terhapus.
- UPDATE Anomali: Situasi di mana nilai yang diganti menghasilkan database yang tidak konsisten, dalam arti bahwa data yang diganti tidak sesuai dengan yang diperintahkan atau diharapkan.
Baca juga: 10+ Contoh Database yang Sering Digunakan
C. Tahapan Normalisasi Database
Untuk menormalkan database, kita perlu mengidentifikasi tipe data apa yang ingin kita akan simpan dan misalnya sebagai berikut:
1. Bentuk Tidak Normal (Unnormalize)
Tahapan dalam Normalisasi Database Adalah dimulai dari bentuk tidak normal.
Bentuk data yang tidak normal (unnormalized) yang dicatat sebagai suatu kelompok tidak dikenakan kewajiban apapun untuk mengikuti format tertentu.
Dalam bentuk abnormal terdapat kelompok yang berulang (repeating group), sehingga dalam situasi ini data menjadi masalah dalam melakukan manipulasi data (insert, pembaruan dan penghapusan) atau biasa disebut anomali.
2. 1NF / First Normal Form
Tahapan selanjutnya Normalisasi Database Adalah 1NF atau Fist Normal Form.
1NF membutuhkan beberapa kondisi dalam database, bersama dengan fungsi bentuk normal pertama ini.
- Menghilangkan kolom duplikat dari tabel serupa.
- Buat tabel terpisah untuk setiap kelompok data terkait dan identifikasi setiap baris dengan kolom unik (primary key).
Pada dasarnya bentuk normalisasi 1NF ini mengkategorikan beberapa jenis data atau urutan data yang serupa agar dapat dipisahkan sehingga anomali data dapat ditangani.
Contohnya adalah ketika kita ingin menghapus, memperbaharui, atau menambah data peminjam agar tidak terbentur data buku atau data penerbit. Sampai data yang tidak konsisten mulai dipertahankan.
3. 2NF
Tahapan ketiga Normalisasi Database Adalah 2NF.
Syarat untuk menggunakan normalisasi bentuk kedua ini adalah bahwa data dibuat dalam 1NF, bersama dengan fungsi normalisasi 2NF.
- Hapus subset data yang ada di tabel dan letakkan di tabel terpisah.
- Buat hubungan antara tabel baru dan tabel lama dengan membuat foreign key.
- Tidak ada atribut dalam tabel yang secara fungsional bergantung pada candidate key tabel itu.
Bentuk normal kedua adalah menguraikan tabel di atas menjadi beberapa tabel dan menemukan kunci utama dari setiap tabel, dan atribut kunci harus unik.
4. 3NF
Tahapan selanjutnya Normalisasi Database Adalah 3NF.
Dalam 3NF tidak diperbolehkan memiliki “transitive dependency” segmental dalam sebuah tabel.
Transitive dependency umumnya muncul di tabel hasil relasi atau situasi di mana ada tiga atribut A,B,C.
Situasinya adalah A -> B dan B -> C. Oleh karena itu C disebut transitive dependency dari A melalui B.
Namun, jika ada atribut dalam 3NF yang tidak bergantung pada primary key tetapi pada field lain, atribut ini harus dipecah menjadi tabel baru.
Misalnya kolom pada atribut qty tidak langsung bergantung pada primary key “kode_faktur” tetapi pada kolom “kode_barang”. Kemudian, setelah melakukan normalisasi 3NF, dibuat tabel berikut:
Dari gambar tabel diatas terlihat bahwa pada normalisasi 3NF ada 1 tabel baru dihasilkan dari pembagian tabel transaksi yaitu tabel detail barang yang berisi beberapa barang yang dibeli.
Kolom harga pada tabel detail barang digunakan untuk menyimpan harga barang selama proses transaksi.
Meskipun kolom harga pada tabel barang berbeda (naik/turun), harga barang pada tabel detail barang tidak berbeda (fixed).
Misalkan kita tidak menambahkan kolom harga ke tabel detail barang maka akan terjadi seluruh faktur transaksi akan berbeda jika harga barang berubah.
5. BCNF Boyce–Codd normal form
Teknik normalisasi database yang sering disebut dengan 5NF sangat erat kaitannya dengan bentuk 3NF.
Intinya untuk mengatasi anomali dan overlooping yang tidak bisa ditangani dalam bentuk 3NF.
Normalisasi bentuk database ini tergantung pada kasus yang disiapkan, tidak semua tabel perlu dinormalisasi dalam bentuk BCNF.
Agar tabel memenuhi bentuk normal Boyce-Codd, dua kondisi berikut harus dipenuhi:
- Yaitu tabel harus dalam bentuk normal ketiga.
- Dan untuk setiap pengikatan A → B, A harus menjadi super key.
Poin 2 terdengar cukup susah, bukan? Secara sederhana, jika untuk ikatan A → B, A tidak dapat menjadi atribut non-primer jika B adalah atribut utama.
D. Pentingnya Normalisasi
Sebuah desain database dianggap buruk jika:
- Data serupa disimpan di beberapa tempat (file atau record).
- Informasi tidak dapat dihasilkan.
- Terjadi hilangnya informasi.
- Ada redundansi (pengulangan) atau duplikasi data yang menghabiskan ruang penyimpanan dan menyulitkan selama proses pembaruan data.
- Ada NULL VALUE yang muncul.
- Kehilangan informasi dapat terjadi jika pada saat membuat database (proses dekomposisi salah).
- Bentuk normalisasi yang umum digunakan adalah 1st NF, 2nd NF, 3rd NF dan BCNF.
Apa itu Normalisasi Database? Bagaimana melakukannya? Simak video dibawah ini
Kesimpulan
Normalisasi dimulai dengan tahapan ketidaknormalan (unnormalized), bentuk normal kesatu (1 NF), bentuk normal kedua (2 NF), dan seterusnya, hingga tercapai susunan tabel yang normal.
Normalisasi data berperan dalam meminimalkan redundansi data dan menghilangkan anomali. Ini adalah prioritas yang sama ketika meminimalkan kesalahan dalam mengelola keuangan perusahaan Anda.
Sekian artikel berjudul Normalisasi Database Adalah: Tujuan dan Cara Melakukannya, semoga bermanfaat.