Perbezaan Antara Normalisasi dan Denormalisasi

Normalisasi vs Denormalization

Pangkalan data relasi terdiri daripada hubungan (jadual berkaitan). Jadual terdiri daripada lajur. Jika jadual dua besar (iaitu terlalu banyak lajur dalam satu jadual), maka anomali pangkalan data boleh berlaku. Jika jadual dua kecil (iaitu pangkalan data terdiri daripada banyak jadual yang lebih kecil), ia tidak cekap untuk membuat pertanyaan. Normalisasi dan Pengesahan adalah dua proses yang digunakan untuk mengoptimumkan prestasi pangkalan data. Normalisasi meminimumkan redundansi yang terdapat dalam jadual data. Denormalization (pembalikan normalisasi) menambah data atau data kumpulan yang berlebihan.

Apakah Normalisasi?

Normalisasi adalah proses yang dilakukan untuk meminimumkan kelebihan yang ada dalam data dalam pangkalan data hubungan. Proses ini akan membahagikan jadual besar ke jadual kecil dengan redundansi kurang (dipanggil "bentuk Normal"). Jadual-jadual kecil ini akan dikaitkan dengan satu sama lain melalui hubungan yang jelas. Dalam pangkalan data yang baik, sebarang perubahan atau pengubahsuaian dalam data akan memerlukan mengubah hanya satu jadual. Borang Normal Pertama (1NF), Borang Normal Kedua (2NF), dan Formula Ketiga (3NF) diperkenalkan oleh Edgar F. Codd. Borang Normal Boyce-Codd (BCNF) diperkenalkan pada tahun 1974 oleh Codd dan Raymond F. Boyce. Borang yang lebih tinggi (4NF, 5NF dan 6NF) telah ditakrifkan, tetapi ia jarang digunakan.

Jadual yang mematuhi 1NF memastikan bahawa ia sebenarnya mewakili hubungan (iaitu tidak mengandungi sebarang rekod yang mengulangi), dan tidak mengandungi sebarang sifat yang dihubungkan nilai (iaitu semua atribut harus mempunyai nilai atom). Untuk jadual untuk mematuhi 2NF, ia mesti dipatuhi 1NF dan sebarang atribut yang bukan sebahagian daripada mana-mana kunci utama (i.e. bukan atribut utama) harus sepenuhnya bergantung kepada mana-mana kunci calon dalam jadual. Menurut definisi Codd, jadual dikatakan berada dalam 3NF, jika dan hanya jika, jadual itu dalam bentuk normal kedua (2NF) dan setiap atribut dalam jadual yang tidak tergolong dalam kunci calon harus bergantung kepada setiap kunci calon jadual itu. BCNF (juga dikenali sebagai 3.5NF) menangkap beberapa anomali yang tidak ditangani oleh 3NF.

Apa itu Denormalization?

Denormalization adalah proses terbalik proses normalisasi. Kerja penghormatan dengan menambah data atau data pengelompokan yang berlebihan untuk mengoptimumkan prestasi. Walau bagaimanapun, menambahkan data yang berlebihan berbunyi tidak produktif, kadang kala denormalisasi adalah proses yang sangat penting untuk mengatasi beberapa kelemahan dalam perisian pangkalan data relasi yang boleh menimbulkan penalti prestasi berat dengan pangkalan data yang dinormalisasi (bahkan ditala untuk prestasi yang lebih tinggi). Hal ini kerana bergabung dengan beberapa hubungan (yang merupakan hasil menormalkan) untuk menghasilkan hasil untuk pertanyaan kadang-kadang lambat bergantung pada pelaksanaan fisik sebenarnya dari sistem database.

Apakah perbezaan antara Normalisasi dan Denalisasi?

- Normalisasi dan pengistimaran adalah dua proses yang sama sekali bertentangan.

- Normalisasi adalah proses membahagikan jadual yang lebih besar kepada yang lebih kecil yang mengurangkan data yang berlebihan, sementara pengesahan adalah proses menambah data berlebihan untuk mengoptimumkan prestasi.

- Normalisasi dijalankan untuk menghalang anomali pangkalan data.

- Denormalisasi biasanya dilakukan untuk meningkatkan prestasi bacaan pangkalan data, tetapi disebabkan kekangan tambahan yang digunakan untuk denormalisasi, menulis (iaitu memasukkan, mengemas kini dan memadamkan operasi) boleh menjadi lebih lambat. Oleh itu, pangkalan data dinormalkan boleh menawarkan prestasi menulis lebih buruk daripada pangkalan data yang dinormalkan.

- Ia sering disyorkan bahawa anda perlu "menormalkan sehingga sakit, denormalkan sehingga ia berfungsi".