Normalisasi Database


Pengertian Normalisasi Database

Normalisasi database adalah suatu proses pengorganisasian dan pengelompokan data dalam sebuah database untuk mengurangi redundansi (pengulangan) data, meningkatkan efisiensi database, serta memperbaiki integritas data dan kesesuaian data dengan model relasional. Normalisasi database bertujuan untuk menghasilkan struktur database yang optimal, sehingga memudahkan dalam proses pengambilan data atau query.

Bentuk - Bentuk Normalisasi Database

Proses normalisasi database dilakukan dengan mengaplikasikan aturan-aturan normalisasi, yang terdiri dari beberapa bentuk normalisasi. Berikut adalah bentuk-bentuk normalisasi yang sering digunakan:

First Normal Form (1NF) 
Aturan 1NF adalah sebuah tabel harus memiliki setidaknya satu kolom yang memiliki nilai unik atau primary key dan setiap kolom dalam tabel harus berisi satu nilai atau atomik. Dalam bentuk ini, sebuah tabel tidak boleh memiliki kolom yang berisi nilai yang dapat dibagi lagi.

Second Normal Form (2NF)
 Aturan 2NF adalah sebuah tabel harus memenuhi aturan 1NF dan setiap kolom yang bukan primary key harus bergantung sepenuhnya pada primary key. Artinya, tidak boleh ada atribut atau kolom yang hanya sebagian bergantung pada primary key.

Third Normal Form (3NF) 
Aturan 3NF adalah sebuah tabel harus memenuhi aturan 2NF dan setiap kolom yang bukan primary key harus tidak bergantung pada atribut lain selain primary key. Artinya, tidak boleh ada atribut atau kolom yang bergantung pada atribut lain selain primary key.

Boyce-Codd Normal Form (BCNF) 
Aturan BCNF adalah sebuah tabel harus memenuhi aturan 3NF dan setiap atribut yang bukan primary key harus secara fungsional tergantung pada primary key. Dalam bentuk ini, setiap ketergantungan fungsional pada primary key harus dipenuhi tanpa ada keberadaan atribut tambahan yang tidak terkait.

Fourth Normal Form (4NF) 
Aturan 4NF adalah sebuah tabel harus memenuhi aturan BCNF dan tidak ada ketergantungan multivalued di antara atribut dalam tabel. Artinya, tidak boleh ada atribut dalam tabel yang dapat menghasilkan lebih dari satu nilai atau memiliki ketergantungan fungsional yang kompleks.

Fifth Normal Form (5NF) 
Aturan 5NF adalah sebuah tabel harus memenuhi aturan 4NF dan tidak ada ketergantungan join di antara atribut dalam tabel. Dalam bentuk ini, setiap atribut atau kolom dalam tabel harus saling independen dan tidak ada ketergantungan join yang terjadi di antara mereka.

Manfaat Normalisasi Database

Manfaat normalisasi database adalah sebagai berikut:

Mengurangi Redundansi Data 
Dengan melakukan normalisasi database, redundansi data dapat dikurangi atau bahkan dihilangkan. Hal ini akan menghemat ruang penyimpanan pada server database dan mempercepat proses query data.

Meningkatkan Integritas Data 
Normalisasi database juga dapat meningkatkan integritas data karena setiap data hanya disimpan dalam satu tabel dan dapat diakses dengan lebih mudah dan cepat. Hal ini juga meminimalkan risiko kesalahan dalam memperbarui atau menghapus data.

Menghindari Masalah Anomali Data 
Dalam struktur database yang tidak dinormalisasi, seringkali terdapat anomali data, seperti ketidakkonsistenan data, ketidakefisienan dalam proses query, dan kesulitan dalam pengolahan data. Dengan melakukan normalisasi database, masalah-masalah tersebut dapat dihindari.

Contoh Normalisasi Database

Misalkan kita memiliki sebuah tabel database dengan struktur sebagai berikut:

Tabel Transaksi
  • ID_Transaksi (Primary Key)
  • Nama_Customer
  • Alamat_Customer
  • Nama_Barang
  • Harga_Barang
  • Tanggal_Transaksi
Dari struktur tabel di atas, kita dapat melihat adanya beberapa masalah yang dapat diatasi dengan normalisasi database, seperti:

Masalah Redundansi Data 
Tabel di atas mengandung redundansi data karena informasi tentang pelanggan terduplikat pada setiap transaksi yang dilakukan. Untuk mengatasi masalah ini, kita dapat membuat tabel pelanggan terpisah dan menyimpan informasi pelanggan hanya satu kali.

Masalah Ketergantungan Fungsional 
Tabel di atas juga mengandung ketergantungan fungsional pada kolom Nama_Barang dan Harga_Barang pada kolom ID_Transaksi. Untuk mengatasi masalah ini, kita dapat membuat tabel barang terpisah dan menyimpan informasi barang hanya satu kali.

Setelah normalisasi, struktur tabel menjadi sebagai berikut:

Tabel Transaksi
  • ID_Transaksi (Primary Key)
  • ID_Pelanggan (Foreign Key)
  • ID_Barang (Foreign Key)
  • Tanggal_Transaksi
Tabel Pelanggan
  • ID_Pelanggan (Primary Key)
  • Nama_Customer
  • Alamat_Customer
Tabel Barang
  • ID_Barang (Primary Key)
  • Nama_Barang
  • Harga_Barang
Dengan normalisasi database seperti ini, redundansi data telah dikurangi dan masalah ketergantungan fungsional telah diatasi. Hal ini memudahkan dalam proses query data, mengurangi risiko kesalahan data, serta meningkatkan efisiensi penggunaan ruang penyimpanan pada server database.






sekian dari saya, terimakasih.
Peserta Program Beasiswa Protonema 2022/2023

Komentar

Postingan populer dari blog ini

SQL : Data Manipulation Language

Sejarah Linux

Structured Query Language