Normalisasi DataBase


Normalisasi adalah suatu proses pengelompokan atribut data yang membentuk entitas sederhana, non-redundant, fleksibel, dan mudah beradaptasi. Tujuan utama normalisasi adalah untuk menghilangkan redundansi data, memastikan dependensi data berada pada tempat yang tepat, dan mencegah anomali data.

Tahapan Normalisasi Database

Normalisasi database umumnya melalui beberapa bentuk normal, yaitu:

1. Bentuk Normal Pertama (1NF)

  • Definisi: Setiap sel dalam tabel hanya berisi satu nilai atomik (tidak dapat dibagi lagi).
  • Contoh pelanggaran: Kolom alamat yang berisi kota, provinsi, dan kode pos dalam satu sel.
  • Cara mengatasi: Pisahkan setiap komponen alamat ke dalam kolom yang berbeda.

2. Bentuk Normal Kedua (2NF)

  • Definisi: Tabel harus berada dalam 1NF dan setiap non-key atribut harus secara penuh tergantung pada kunci utama.
  • Contoh pelanggaran: Tabel Pesanan dengan atribut Nomor Pesanan (kunci utama), Nama Pelanggan, dan Nomor Telepon Pelanggan. Nomor Telepon sebenarnya hanya tergantung pada Nama Pelanggan, bukan seluruh kunci utama.
  • Cara mengatasi: Buat tabel terpisah untuk menyimpan data pelanggan, dengan Nomor Pelanggan sebagai kunci utama.

3. Bentuk Normal Ketiga (3NF)

  • Definisi: Tabel harus berada dalam 2NF dan tidak ada ketergantungan fungsional transitif.
  • Contoh pelanggaran: Tabel Produk dengan atribut Nomor Produk (kunci utama), Nama Produk, dan Nomor Kategori. Nomor Kategori hanya tergantung pada Nama Produk, bukan langsung pada Nomor Produk.
  • Cara mengatasi: Buat tabel terpisah untuk menyimpan data kategori produk.

Bentuk Normal yang Lebih Tinggi

  • Bentuk Normal Boyce-Codd (BCNF): Lebih ketat dari 3NF, terutama untuk relasi dengan lebih dari satu kunci kandidat.
  • Bentuk Normal keempat (4NF): Mengatasi masalah ketergantungan multi-nilai.
  • Bentuk Normal kelima (5NF): Mengatasi masalah join yang tidak lossless.

Perbedaan Normalisasi dan ERD

  • Normalisasi:
    • Proses pengorganisasian data dalam tabel untuk menghilangkan redundansi dan anomali.
    • Fokus pada struktur internal tabel.
    • Hasilnya adalah kumpulan tabel yang ternormalisasi.
  • ERD (Entity-Relationship Diagram):
    • Model visual untuk menggambarkan hubungan antara entitas (tabel) dalam database.
    • Menunjukkan entitas, atribut, dan hubungan antar entitas.
    • Digunakan dalam tahap perancangan database sebelum normalisasi.

Singkatnya, normalisasi dan ERD saling melengkapi. ERD memberikan gambaran besar tentang struktur database, sedangkan normalisasi memastikan bahwa struktur tersebut efisien dan bebas dari masalah. Proses normalisasi biasanya dilakukan setelah ERD dibuat.

Contoh Kasus:

Misalnya, kita memiliki database sederhana untuk toko buku. ERD akan menunjukkan entitas seperti Buku, Penulis, Penerbit, dan Pembeli, serta hubungan di antara mereka. Setelah membuat ERD, kita akan melakukan normalisasi pada setiap entitas untuk memastikan tidak ada redundansi data dan setiap atribut berada pada tabel yang tepat.

Kesimpulan

Normalisasi adalah langkah penting dalam perancangan database yang bertujuan untuk menghasilkan database yang efisien, fleksibel, dan mudah dipelihara. Dengan memahami konsep normalisasi dan tahapannya, Anda dapat membangun database yang berkualitas tinggi untuk aplikasi Anda.







Contoh Normalisasi tahap 2

Komentar

Postingan populer dari blog ini

Tugas TRIGGER

ERD rental mobil

Fungsi Agrerat