Perbedaan Antara Normalisasi Dan Denormalisasi

Perbedaan Antara Normalisasi Dan Denormalisasi
Perbedaan Antara Normalisasi Dan Denormalisasi

Video: Perbedaan Antara Normalisasi Dan Denormalisasi

Video: Perbedaan Antara Normalisasi Dan Denormalisasi
Video: Normalisasi & Denormalisasi 2024, November
Anonim

Normalisasi vs Denormalisasi

Database relasional terdiri dari relasi (tabel terkait). Tabel terdiri dari kolom. Jika tabel berukuran dua besar (yaitu terlalu banyak kolom dalam satu tabel), maka anomali basis data dapat terjadi. Jika tabel berukuran dua kecil (yaitu database terdiri dari banyak tabel yang lebih kecil), maka tidak efisien untuk melakukan kueri. Normalisasi dan Denormalisasi adalah dua proses yang digunakan untuk mengoptimalkan kinerja database. Normalisasi meminimalkan redundansi yang ada dalam tabel data. Denormalisasi (kebalikan dari normalisasi) menambahkan data yang berlebihan atau data grup.

Apa itu Normalisasi?

Normalisasi adalah proses yang dilakukan untuk meminimalkan redundansi yang ada pada data di database relasional. Proses ini terutama akan membagi tabel besar menjadi tabel yang lebih kecil dengan redundansi yang lebih sedikit (disebut "Bentuk normal"). Tabel yang lebih kecil ini akan saling terkait melalui hubungan yang ditentukan dengan baik. Dalam database yang dinormalisasi dengan baik, setiap perubahan atau modifikasi dalam data hanya memerlukan modifikasi satu tabel. Bentuk Normal Pertama (1NF), Bentuk Normal Kedua (2NF), dan Bentuk Normal Ketiga (3NF) dikenalkan oleh Edgar F. Codd. Boyce-Codd Normal Form (BCNF) diperkenalkan pada tahun 1974 oleh Codd dan Raymond F. Boyce. Bentuk Normal Tinggi (4NF, 5NF dan 6NF) telah ditentukan, tetapi jarang digunakan.

Tabel yang memenuhi 1NF memastikan bahwa ia benar-benar mewakili sebuah relasi (yaitu tidak berisi record yang berulang), dan tidak berisi atribut apa pun yang memiliki nilai relasional (yaitu semua atribut harus memiliki nilai atomik). Agar tabel dapat memenuhi 2NF, ia harus dipenuhi dengan 1NF dan atribut apa pun yang bukan merupakan bagian dari kunci kandidat (yaitu atribut non-prima) harus sepenuhnya bergantung pada salah satu kunci kandidat dalam tabel. Menurut definisi Codd, sebuah tabel dikatakan berada dalam 3NF, jika dan hanya jika, tabel itu dalam bentuk normal kedua (2NF) dan setiap atribut dalam tabel yang bukan milik kunci kandidat harus secara langsung bergantung pada setiap kunci kandidat dari tabel itu. BCNF (juga dikenal sebagai 3.5NF) menangkap beberapa anomali yang tidak ditangani oleh 3NF.

Apa itu Denormalisasi?

Denormalisasi adalah proses kebalikan dari proses normalisasi. Denormalisasi bekerja dengan menambahkan data yang berlebihan atau data pengelompokan untuk mengoptimalkan kinerja. Meskipun, menambahkan data yang berlebihan terdengar kontra-produktif, terkadang denormalisasi adalah proses yang sangat penting untuk mengatasi beberapa kekurangan dalam perangkat lunak basis data relasional yang dapat menimbulkan penalti kinerja yang berat dengan basis data yang dinormalisasi (bahkan disetel untuk kinerja yang lebih tinggi). Ini karena menggabungkan beberapa relasi (yang merupakan hasil normalisasi) untuk menghasilkan hasil ke kueri terkadang bisa lambat bergantung pada implementasi fisik aktual dari sistem basis data.

Apa perbedaan antara Normalisasi dan Denormalisasi?

- Normalisasi dan denormalisasi adalah dua proses yang sangat berlawanan.

- Normalisasi adalah proses membagi tabel yang lebih besar menjadi tabel yang lebih kecil untuk mengurangi data yang berlebihan, sedangkan denormalisasi adalah proses menambahkan data yang berlebihan untuk mengoptimalkan kinerja.

- Normalisasi dilakukan untuk mencegah anomali basis data.

- Denormalisasi biasanya dilakukan untuk meningkatkan kinerja baca database, tetapi karena kendala tambahan yang digunakan untuk denormalisasi, penulisan (yaitu operasi penyisipan, pembaruan, dan penghapusan) bisa menjadi lebih lambat. Oleh karena itu, database yang didenormalisasi dapat menawarkan kinerja tulis yang lebih buruk daripada database yang dinormalisasi.

- Seringkali direkomendasikan bahwa Anda harus "menormalkan sampai sakit, menormalkan kembali sampai berhasil".

Direkomendasikan: