Normalisasi Database


NORMALISASI DATABASE


Pengertian 

Normalisasi database adalah proses pengorganisasian data dalam suatu basis data untuk mengurangi redundansi (pengulangan data) dan meningkatkan integritas data. Tujuan utama dari normalisasi adalah menciptakan struktur data yang efisien dan teratur, agar mudah dipelihara dan dikembangkan di kemudian hari.

Dalam proses normalisasi, tabel-tabel dalam database diatur sedemikian rupa sehingga:

  • Setiap tabel hanya menyimpan data yang berkaitan dengan satu jenis entitas.

  • Hubungan antar tabel ditentukan dengan menggunakan kunci primer (primary key) dan kunci asing (foreign key).

  • Setiap data disimpan hanya satu kali, sehingga konsistensi data lebih terjaga.




Kapan Menggunakan ERD atau Normalisasi Dalam Database ?

Entity Relationship Diagram (ERD) dan Normalisasi adalah dua alat penting dalam perancangan database, dan digunakan dalam tahapan yang berbeda:

  • Gunakan ERD ketika:

    • Anda sedang merancang struktur awal database.

    • Anda ingin mengidentifikasi entitas dan hubungan antar entitas.

    • Anda perlu memvisualisasikan alur data dan hubungan antar tabel sebelum implementasi.

  • Gunakan Normalisasi ketika:

    • Anda telah memiliki data atau rancangan tabel awal.

    • Anda ingin mengoptimalkan struktur tabel, menghindari duplikasi data, dan memastikan setiap tabel hanya menyimpan data yang relevan.

    • Anda ingin meningkatkan efisiensi dan integritas basis data Anda.

Jadi, ERD biasanya digunakan terlebih dahulu, kemudian dilanjutkan dengan proses normalisasi untuk menyempurnakan struktur tabel.




Kelebihan Normalisasi Database 

Berikut beberapa kelebihan dari normalisasi dalam perancangan database:

  1.  Mengurangi Duplikasi Data

    • Data yang sama tidak disimpan berulang kali di beberapa tabel.

  2.  Meningkatkan Konsistensi Data

    • Perubahan data hanya perlu dilakukan di satu tempat.

  3.  Struktur Data Lebih Rapi

    • Setiap tabel memiliki tujuan yang jelas dan spesifik.

  4.  Meningkatkan Efisiensi Penyimpanan

    • Mengurangi ukuran database dengan menghindari pengulangan data yang tidak perlu.

  5.  Meningkatkan Keamanan Data

    • Akses data bisa diatur lebih spesifik berdasarkan entitas.

  6.  Memudahkan Pemeliharaan dan Pengembangan

    • Struktur tabel yang baik akan memudahkan pengembang saat mengubah atau menambahkan fitur baru.



Jenis Normalisasi Database 

1. Bentuk Tidak Normal (Unnormalized Form / UNF)

Pengertian:

Bentuk tidak normal adalah bentuk awal data yang belum disusun dalam struktur database relasional. Biasanya data masih dalam bentuk dokumen, tabel Excel, atau catatan manual yang mengandung data ganda atau grup data berulang dalam satu kolom, seperti daftar produk dalam satu sel. Struktur seperti ini membuat proses insert, update, dan delete menjadi sulit dan berisiko menyebabkan anomali data, karena tidak ada format tetap, primary key, atau hubungan antar data.

Syarat:

  • Data disimpan tanpa aturan atau format baku.

  • Terdapat repeating group atau nilai ganda dalam satu kolom.

  • Tidak memiliki struktur tabel relasional, primary key, atau relasi antar entitas.

Tujuan:
Mempersiapkan data mentah agar bisa disusun dalam format tabel relasional yang lebih stabil dan efisien.


2. First Normal Form (1NF)

Pengertian:
First Normal Form (1NF) adalah tahap pertama dalam normalisasi yang mengharuskan data tersusun dalam baris dan kolom, dengan setiap kolom berisi nilai atomik (satu nilai per sel). Tujuan utama dari 1NF adalah menghilangkan grup data berulang dan memastikan bahwa setiap baris dalam tabel dapat dikenali secara unik menggunakan primary key. Ini adalah dasar untuk membangun database yang konsisten dan terstruktur.

Syarat:

  • Tabel harus memiliki bentuk tabular (baris dan kolom).

  • Setiap kolom harus berisi nilai tunggal (tidak ada array, daftar, atau nilai gabungan).

  • Setiap baris harus memiliki primary key sebagai pengenal unik.

  • Tidak boleh ada grup data berulang dalam satu baris.

Tujuan:
Menghilangkan duplikasi dalam satu baris dan membuat data menjadi atomik serta siap diproses lebih lanjut.


3. Second Normal Form (2NF)

Pengertian:
Second Normal Form (2NF) adalah bentuk normalisasi yang meningkatkan struktur data dari 1NF dengan menghilangkan partial dependency, yaitu kondisi ketika sebuah atribut non-prime hanya tergantung pada sebagian dari composite key. 2NF memecah tabel menjadi beberapa tabel terpisah agar setiap atribut benar-benar bergantung pada keseluruhan primary key, bukan sebagian darinya.

Syarat:

  • Tabel sudah memenuhi 1NF (nilai atomik dan memiliki primary key).

  • Jika menggunakan composite key, maka setiap atribut non-prime harus bergantung pada seluruh bagian dari key, bukan hanya sebagian.

  • Tidak boleh ada partial dependency, yaitu atribut non-prime tergantung pada sebagian kunci.

Tujuan:
Mencegah pengulangan data dan memperjelas relasi antar entitas dengan cara memecah tabel menjadi lebih spesifik.


4. Third Normal Form (3NF)

Pengertian:
Third Normal Form (3NF) adalah tahap lanjutan dari 2NF yang menghilangkan transitive dependency, yaitu kondisi di mana atribut non-prime tergantung pada atribut non-prime lain, bukan langsung pada primary key. Tujuan utamanya adalah agar setiap atribut non-prime hanya bergantung langsung pada primary key, sehingga mencegah inkonsistensi data ketika terjadi perubahan.

Syarat:

  • Sudah dalam bentuk 2NF.

  • Tidak ada transitive dependency, yaitu Atribut A bergantung pada B, dan B bergantung pada Primary Key → maka A juga bergantung pada Primary Key (harus dihindari).

  • Setiap atribut non-prime harus memiliki ketergantungan langsung dan penuh pada primary key, bukan melalui atribut lain.

Tujuan:
Menjaga integritas data dan menghindari perubahan tidak langsung yang dapat mempengaruhi data lain.


5. Boyce–Codd Normal Form (BCNF)

Pengertian:
BCNF adalah bentuk normalisasi lanjutan yang memperkuat 3NF dengan memberikan aturan ketat bahwa setiap determinant (atribut penentu dalam fungsi fungsional) harus merupakan superkey. BCNF biasanya dibutuhkan ketika struktur dalam 3NF masih mengandung anomali akibat adanya ketergantungan dari kolom yang bukan superkey.

Syarat:

  • Tabel harus sudah dalam bentuk 3NF.

  • Untuk setiap fungsi fungsional A → B, atribut A harus merupakan superkey.

  • Tidak boleh ada ketergantungan fungsional di mana penentu bukan superkey, bahkan jika struktur sudah bebas dari partial dan transitive dependency.

Tujuan:
Mengatasi anomali fungsional yang masih bisa terjadi di 3NF dan memastikan setiap relasi benar-ben
ar bebas dari ketergantungan tidak valid.

Komentar

Postingan populer dari blog ini

Membuat Database dan Mengisinya Di PHPMYADMIN

ERD

Relasi Database MYSQL