Normalisasi dalam ERD (Entity-Relationship Diagram)

Normalisasi dalam ERD (Entity-Relationship Diagram) adalah proses desain database yang bertujuan untuk mengorganisasi data dalam basis data relasional dengan cara yang optimal, efisien, dan mengurangi redundansi data. Normalisasi menghindari duplikasi data dan memastikan bahwa hubungan antara entitas (tabel) dalam database terstruktur dengan baik. Tujuan utama normalisasi adalah untuk mencapai tiga hal utama:

 

  1. Mengurangi Redundansi Data: Normalisasi mengidentifikasi dan menghilangkan duplikasi data yang tidak perlu dalam database. Ini mengurangi penggunaan penyimpanan dan memastikan bahwa data konsisten dan akurat.

 

  1. Meningkatkan Efisiensi: Normalisasi memungkinkan database untuk memproses dan mengambil data dengan lebih cepat, karena tidak perlu mencari data yang tersebar di seluruh tabel.

 

  1. Mempertahankan Integritas Data: Normalisasi membantu dalam mempertahankan integritas referensial, yang memastikan bahwa ketergantungan antara entitas (tabel) adalah konsisten dan tidak melanggar integritas data.

 

Normalisasi dalam ERD mengikuti serangkaian aturan yang dikenal sebagai bentuk normal. Ada berbagai bentuk normal yang berbeda, yang disebut sebagai "normalisasi tingkat pertama" hingga "normalisasi tingkat kelima" (1NF hingga 5NF). Proses normalisasi biasanya dimulai dengan normalisasi tingkat pertama (1NF) dan berlanjut ke tingkat normalisasi berikutnya sesuai kebutuhan.

 

Berikut adalah beberapa konsep utama dalam normalisasi ERD:

1.     1NF (First Normal Form): Dalam 1NF, setiap kolom dalam tabel harus berisi data atomik (data yang tidak dapat dipecah lagi) dan tidak boleh ada duplikasi baris.

 

2.     2NF (Second Normal Form): Dalam 2NF, tabel harus memenuhi syarat 1NF, dan setiap non-key kolom harus sepenuhnya tergantung pada kunci utama (primary key).

 

3.     3NF (Third Normal Form): Dalam 3NF, tabel harus memenuhi syarat 2NF, dan setiap non-key kolom tidak boleh memiliki ketergantungan transitif pada kunci utama.

 

4.     BCNF (Boyce-Codd Normal Form): BCNF adalah bentuk normal yang lebih ketat daripada 3NF dan digunakan untuk memastikan bahwa setiap ketergantungan fungsional dalam tabel adalah superkey.

 

5.     4NF (Fourth Normal Form dan 5NF (Fifth Normal Form): Bentuk normal ini mengatasi kasus khusus yang melibatkan multivalued dependencies dan join dependencies.

 

Proses normalisasi tidak selalu menghasilkan struktur yang paling efisien, dan dalam beberapa kasus, over-normalisasi dapat mengakibatkan kinerja yang buruk. Oleh karena itu, pemahaman yang baik tentang kebutuhan aplikasi dan pemilihan bentuk normal yang sesuai sangat penting dalam merancang basis data yang efisien.

 

mari kita lihat contoh normalisasi pada sebuah database sederhana yang berhubungan dengan informasi pelanggan dan pesanan. Database ini terdiri dari dua tabel: tabel "Pelanggan" dan tabel "Pesanan".

 

Tabel Pelanggan (Customer):

ID (PK)

Nama Pelanggan

Alamat

1

Alice         

Jl. A       

2

Bob           

Jl. B       

3

Carol         

Jl. C

 

Tabel Pesanan (Order):

Nomor Pesanan (PK)

Tanggal Pesanan

Pelanggan (FK)

101

2023-01-15     

1

102

2023-01-16

2

103

2023-01-16

1

 

Ini adalah bentuk awal (belum dinormalisasi) yang dapat kita sebut sebagai bentuk "0NF" karena ada beberapa masalah:

1.     Duplikasi Data: Nama pelanggan dan alamatnya diulang di setiap pesanan yang dibuat oleh pelanggan yang sama.

2.     Ketergantungan Parsial: Tanggal pesanan bergantung pada nomor pesanan, tetapi juga pada pelanggan. Jika alamat pelanggan berubah, tanggal pesanan sebelumnya juga dapat menjadi tidak konsisten.

 

Mari normalisasi data ini:

1NF (First Normal Form):

Mengatasi duplikasi data dengan memisahkan data unik ke dalam tabel terpisah.

Tabel Pelanggan (Customer):

ID (PK)

Nama Pelanggan

Alamat

1

Alice

Jl. A

2

Bob

Jl. B

3

Carol

Jl. C

 

Tabel Pesanan (Order):

Nomor Pesanan (PK)

Tanggal Pesanan

Pelanggan (FK)

101

2023-01-15

1

102

2023-01-16

2

103

2023-01-16

1

 

2NF (Second Normal Form):

Memastikan bahwa setiap non-key kolom tergantung sepenuhnya pada kunci utama.

Tabel Pelanggan (Customer):

ID (PK)

Nama Pelanggan

Alamat

1

Alice

Jl. A

2

Bob

Jl. B

3

Carol

Jl. C

Tabel Pesanan (Order):

Nomor Pesanan (PK)

Tanggal Pesanan

Pelanggan (FK)

101

2023-01-15

1

102

2023-01-16

2

103

2023-01-16

1

Dalam contoh ini, tidak ada ketergantungan parsial, karena tanggal pesanan sepenuhnya bergantung pada nomor pesanan.

 

3NF (Third Normal Form):

Memastikan bahwa tidak ada ketergantungan transitif dalam tabel.

ID (PK)

Nama Pelanggan

Alamat

1

Alice

Jl. A

2

Bob

Jl. B

3

Carol

Jl. C

 

Tabel Pesanan (Order):

Nomor Pesanan (PK)

Tanggal Pesanan

Pelanggan (FK)

101

2023-01-15

1

102

2023-01-16

2

103

2023-01-16

1

Tabel ini juga memenuhi 3NF karena tidak ada ketergantungan transitif dalam tabel.

 

Dengan normalisasi ini, kita memiliki struktur database yang lebih efisien dan data yang konsisten. Ini adalah contoh normalisasi sederhana dalam ERD. Dalam situasi nyata, proses normalisasi dapat lebih kompleks dengan banyak tabel terkait dan aturan yang lebih rumit.

 

post ini di buat untuk memnuhi tugas Basis Data dari bapa Adi Rizky Pratama Universitas Buana Perjuangan Karawang

Share:

0 comments