Perbedaan antara normalisasi dan denormalisasi

Perbedaan antara normalisasi dan denormalisasi

Normalisasi vs denormalisasi

Database relasional terdiri dari hubungan (tabel terkait). Tabel terdiri dari kolom. Jika tabelnya dua besar (i.e. terlalu banyak kolom dalam satu tabel), maka anomali basis data dapat terjadi. Jika tabelnya dua (i.e. Database terdiri dari banyak tabel yang lebih kecil), itu tidak efisien untuk meminta. Normalisasi dan denormalisasi adalah dua proses yang digunakan untuk mengoptimalkan kinerja database. Normalisasi meminimalkan redudansi 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 redudansi yang ada dalam data dalam database relasional. Proses ini terutama akan membagi tabel besar ke dalam tabel yang lebih kecil dengan redudansi lebih sedikit (disebut "bentuk normal"). Tabel yang lebih kecil ini akan terkait satu sama lain melalui hubungan yang didefinisikan dengan baik. Dalam database yang dinormalisasi dengan baik, setiap perubahan atau modifikasi dalam data hanya perlu memodifikasi satu tabel tunggal. Bentuk normal pertama (1NF), bentuk normal kedua (2NF), dan bentuk normal ketiga (3NF) diperkenalkan oleh edgar f. Codd. Bentuk normal Boyce-Codd (BCNF) diperkenalkan pada tahun 1974 oleh Codd dan Raymond F. Boyce. Bentuk normal yang lebih tinggi (4NF, 5NF dan 6NF) telah didefinisikan, tetapi jarang digunakan.

Tabel yang sesuai dengan 1NF memastikan bahwa itu sebenarnya mewakili hubungan (i.e. itu tidak mengandung catatan apa pun yang berulang), dan tidak mengandung atribut apa pun yang bernilai relasional (i.e. Semua atribut harus memiliki nilai atom). Agar tabel mematuhi 2NF, itu harus dipatuhi dengan 1NF dan atribut apa pun yang bukan bagian dari kunci kandidat apa pun (i.e. Atribut non-Prime) harus sepenuhnya bergantung pada salah satu kunci kandidat dalam tabel. Menurut definisi CODD, tabel dikatakan berada di 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 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 terbalik dari proses normalisasi. Denormalisasi berfungsi dengan menambahkan data yang berlebihan atau mengelompokkan data untuk mengoptimalkan kinerja. Meskipun, menambahkan data redundan terdengar kontra-produktif, kadang-kadang denormalisasi adalah proses yang sangat penting untuk mengatasi beberapa kekurangan dalam perangkat lunak database relasional yang dapat menimbulkan hukuman kinerja berat dengan database yang dinormalisasi (bahkan disetel untuk kinerja yang lebih tinggi). Ini karena bergabung dengan beberapa hubungan (yang merupakan hasil normalisasi) untuk menghasilkan hasil untuk kueri terkadang lambat tergantung pada implementasi fisik aktual dari sistem database.

Apa perbedaan antara normalisasi dan denormalisasi?

- Normalisasi dan denormalisasi adalah dua proses yang benar -benar berlawanan.

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

- Normalisasi dilakukan untuk mencegah anomali database.

- Denormalisasi biasanya dilakukan untuk meningkatkan kinerja baca dari database, tetapi karena kendala tambahan yang digunakan untuk denormalisasi, tulis (i.e. masukkan, perbarui dan hapus operasi) bisa menjadi lebih lambat. Oleh karena itu, database yang didenormalisasi dapat menawarkan kinerja penulisan yang lebih buruk daripada database yang dinormalisasi.

- Seringkali disarankan agar Anda "menormalkan sampai sakit, mendenormali sampai berhasil".