Langsung ke konten utama

Normalisasi Database

Apa Itu Normalisasi

Normalisasi adalah suatu teknik yang digunakan untuk membuat kumpulan entitas yang sesuai dengan karakteristik atribut entitas sehingga terbentuk entitas yang sederhana, non redundant, fleksibel, dan mudah beradaptasi, Sehingga dapat dipastikan bahwa database yang dibuat berkualitas baik.

Ada Berapa Tahap Normalisasi Database

ada 9 Yaitu
  • 1NF (First Normal Form)
            1NF mensyaratkan bahwa setiap kolom dalam tabel harus berisi nilai atomik (tidak dapat dibagi lagi) dan setiap kolom harus berisi nilai dari jenis data yang sama. Juga, setiap baris dalam tabel harus unik.
  • 2NF (Second Normal Form)
            2NF mensyaratkan tabel berada dalam 1NF dan semua atribut non-primer harus sepenuhnya bergantung pada kunci primer. Ini berarti tidak boleh ada ketergantungan parsial (hanya bagian dari kunci primer).
  • 3NF (Third Normal Form)
            3NF mensyaratkan tabel berada dalam 2NF dan tidak ada atribut non-primer yang bergantung secara transitif pada kunci primer. Artinya, tidak ada kolom non-primer yang bergantung pada kolom non-primer lainnya.
  • BCNF (Boyce-Codd Normal Form)
            BCNF adalah versi yang lebih kuat dari 3NF. Tabel berada dalam BCNF jika, untuk setiap ketergantungan fungsional 
ABA \rightarrow B, AA adalah superkunci.
Contoh: Jika ada tabel dengan kolom (A, B, C), dan ketergantungan fungsional ABA \rightarrow B, maka A harus merupakan superkunci.
  • 4NF (Fourth Normal Form)
            4NF mensyaratkan tabel berada dalam BCNF dan tidak memiliki multi-valued dependencies (ketergantungan multi-nilai).

Contoh: Jika tabel memiliki dua set atribut independen yang bisa muncul lebih dari satu kali untuk satu kunci, maka tabel harus dipecah.

  • 5NF (Fifth Normal Form)

            5NF mensyaratkan tabel berada dalam 4NF dan tidak memiliki join dependency yang tidak bisa direpresentasikan sebagai rangkaian join lebih kecil.

Contoh: Tabel harus dipecah menjadi tabel yang lebih kecil sedemikian rupa sehingga data asli dapat direkonstruksi kembali tanpa kehilangan informasi.

  • DKNF (Domain-Key Normal Form)
            DKNF adalah bentuk normal yang sangat kuat yang menyatakan bahwa tabel berada dalam bentuk normal jika setiap kendala yang berlaku pada tabel adalah implikasi dari kunci domain dan kunci atribut.

Contoh: Tidak ada contoh spesifik untuk DKNF karena ini lebih merupakan konsep teoretis yang sulit diterapkan dalam praktik.

  • 6NF (Sixth Normal Form)
            6NF adalah bentuk normal yang mengatasi masalah yang berkaitan dengan temporal databases. Ini mengharuskan setiap tabel dalam bentuk normal memiliki hanya satu fakta dasar (atomic fact).

Contoh: Tabel dalam 6NF biasanya digunakan dalam basis data temporal yang membutuhkan pelacakan perubahan seiring waktu.

  • EKNF (Elementary Key Normal Form)
            EKNF adalah bentuk normal yang lebih ketat dari BCNF yang mengharuskan tidak ada anomali data bahkan jika ada ketergantungan non-kunci yang rumit.

Contoh: Seperti DKNF, EKNF lebih teoretis dan jarang diterapkan dalam desain basis data praktis.


Apa Perbedaan Normalisasi dan ERD

Normalisasi adalah proses mengorganisasi data dalam sebuah basis data untuk mengurangi redundansi dan ketergantungan data. Tujuan utama dari normalisasi adalah untuk menghindari masalah seperti anomali pembaharuan, penyisipan, dan penghapusan data.

ERD adalah diagram yang digunakan untuk menggambarkan struktur basis data dengan menunjukkan entitas (objek) yang ada dalam sistem, atribut-atribut mereka, dan hubungan antara entitas-entitas tersebut.

Secara singkat, normalisasi adalah proses untuk mengoptimalkan struktur tabel dalam basis data, sementara ERD adalah alat untuk merancang dan menggambarkan struktur basis data itu sendiri.


CONTOH 1NF DAN 2NF





NORMALISASI TAHAP 1,2,3





Komentar

Postingan populer dari blog ini

Trigger

Apa Itu Trigger Trigger adalah sebuah mekanisme otomatis yang diaktifkan oleh peristiwa tertentu dalam tabel, seperti saat data disisipkan (INSERT), diperbarui (UPDATE), atau dihapus (DELETE). Ketika peristiwa tersebut terjadi, kode yang ada di dalam Trigger akan dijalankan. Ini berguna untuk melakukan tindakan otomatis, seperti memvalidasi data, memperbarui nilai tertentu di tabel lain, atau mencatat perubahan data untuk tujuan audit. Contoh Penggunaan Trigger Misalnya, kita memiliki tabel penjualan. Setiap kali ada penjualan baru (INSERT), kita bisa membuat Trigger yang secara otomatis memperbarui stok barang di tabel inventori. Dengan ini, stok barang akan selalu terjaga konsistensinya tanpa harus melakukan pembaruan secara manual. Apa Perbedaan Trigger Before & Trigger After Before Trigger: Dijalankan sebelum operasi INSERT, UPDATE, atau DELETE. Biasanya digunakan untuk memvalidasi atau mengubah data sebelum dimasukkan ke dalam tabel. After Trigger : Dijalankan setelah operas...

Trigger MYSQL : Mengelola Stok dan Harga Pesanan

Manajemen stok dan harga dalam sistem informasi penjualan berperan penting untuk mengontrol persediaan barang dan penetapan harga jual. Manajemen stok memastikan ketersediaan barang sesuai kebutuhan, menghindari kelebihan atau kekurangan stok. Sementara manajemen harga membantu mengatur harga jual yang optimal untuk mendapatkan keuntungan yang sesuai. Keduanya harus terintegrasi dalam sistem untuk memudahkan pencatatan, pelaporan, dan pengambilan keputusan bisnis yang tepat. 1. Soal Tugas Trigger : Mengupdate Harga di tabel pesanan saat harga barang berubah Mengembalikan stok barang saat pesanan di hapus 1. Trigger Update Harga Trigger ini akan memastikan harga di pesanan_detail selalu sinkron dengan harga di tabel barang. Demostrasi ke Trigger ke -1 Tabel Barang Tabel pesanan_detail Data Awal : Di tabel barang, Laptop (id_barang= 1) memiliki harga Rp. 4.000.000 Di tabel pesanan_detail dengan id_detail  = 1 yang memiliki id_barang = 1, qty = 3 dengan harga Rp. 12.000.000 Sekarang k...

Fungsi Agregat

Fungsi Agregat Fungsi Agregat (aggregate) adalah fungsi yang menerima koleksi nilai dan mengembalikan nilai tunggal sebagai hasilnya. Standar ISO mendefinisikan lima jenis fungsi agregat. Fungsi-fungsi ini sangat bermanfaat ketika kita ingin meringkas atau merangkum data dari tabel. Berikut adalah beberapa fungsi agregat utama yang biasa digunakan: COUNT :  Mengembalikan jumlah (banyaknya atau kemunculannya) nilai di suatu kolom. SUM :  Mengembalikan jumlah (total atau sum) nilai di suatu kolom. AVG :  Mengembalikan rata-rata (average) nilai di suatu kolom. MIN :  Mengembalikan nilai terkecil (minimal) di suatu kolom. MAX :  Mengembalikan nilai terbesar (maximal) di suatu kolom Latihan Soal : Tabel 1 : Tabel Penjualan Barang Tabel 2 : Tabel MataKuliah 1. Berdasarkan tabel 1, dapatkan data buku dengan harga termurah, kelompokkan berdasarkan jenis bukunya! Masukkan Query :   SELECT   jenis_buku ,   nama_buku ,   MIN ( harga )  ...