Perbezaan antara normalisasi dan denormalisasi

Perbezaan antara normalisasi dan denormalisasi

Normalisasi vs denormalization

Pangkalan data hubungan terdiri daripada hubungan (jadual yang berkaitan). Jadual terdiri daripada lajur. Sekiranya jadualnya dua besar (i.e. Terlalu banyak lajur dalam satu jadual), maka anomali pangkalan data boleh berlaku. Sekiranya jadualnya dua kecil (i.e. pangkalan data terdiri daripada banyak jadual yang lebih kecil), tidak cekap untuk menanyakan. Normalisasi dan denormalisasi adalah dua proses yang digunakan untuk mengoptimumkan prestasi pangkalan data. Normalisasi meminimumkan kelebihan yang terdapat dalam jadual data. Denormalization (terbalik normalisasi) menambah data berlebihan atau data kumpulan.

Apa itu normalisasi?

Normalisasi adalah proses yang dijalankan untuk meminimumkan kelebihan yang terdapat dalam data dalam pangkalan data relasi. Proses ini terutamanya akan membahagikan jadual besar ke jadual yang lebih kecil dengan kelebihan yang lebih sedikit (dipanggil "bentuk normal"). Jadual -jadual yang lebih kecil ini akan berkaitan antara satu sama lain melalui hubungan yang jelas. Dalam pangkalan data yang dinormalisasi dengan baik, sebarang perubahan atau pengubahsuaian dalam data memerlukan perubahan hanya satu jadual. Bentuk normal pertama (1NF), bentuk normal kedua (2NF), dan bentuk normal ketiga (3NF) diperkenalkan oleh Edgar F. Codd. BORYCE-CODD Borang Normal (BCNF) diperkenalkan pada tahun 1974 oleh CODD dan Raymond F. Boyce. Bentuk normal yang lebih tinggi (4nf, 5nf dan 6nf) telah ditakrifkan, tetapi ia jarang digunakan.

Jadual yang mematuhi 1NF menjamin bahawa ia sebenarnya mewakili hubungan (i.e. ia tidak mengandungi sebarang rekod yang mengulangi), dan tidak mengandungi sebarang atribut yang dihargai (i.e. Semua atribut harus mempunyai nilai atom). Untuk jadual untuk mematuhi 2NF, ia harus dipatuhi dengan 1NF dan mana -mana atribut yang bukan sebahagian daripada mana -mana kunci calon (i.e. atribut bukan perdana) harus sepenuhnya bergantung pada mana-mana kekunci calon dalam jadual. Menurut definisi CODD, jadual dikatakan berada dalam 3nf, jika dan hanya jika, jadual itu berada dalam bentuk normal kedua (2nf) dan setiap atribut dalam jadual yang tidak tergolong dalam kunci calon harus secara langsung bergantung pada 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. Denormalization berfungsi dengan menambahkan data yang berlebihan atau mengumpulkan data untuk mengoptimumkan prestasi. Walaupun, menambah data yang berlebihan terdengar tidak produktif, kadang-kadang denormalization adalah proses yang sangat penting untuk mengatasi beberapa kekurangan dalam perisian pangkalan data relasi yang mungkin menanggung penalti prestasi berat dengan pangkalan data yang dinormalisasi (bahkan ditala untuk prestasi yang lebih tinggi). Ini kerana menyertai beberapa hubungan (yang hasil menormalkan) untuk menghasilkan hasil kepada pertanyaan kadang -kadang boleh perlahan bergantung kepada pelaksanaan fizikal sebenar sistem pangkalan data.

Apakah perbezaan antara normalisasi dan penentuan?

- Normalisasi dan denormalization adalah dua proses yang bertentangan sepenuhnya.

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

- Normalisasi dijalankan untuk mengelakkan anomali pangkalan data.

- Denormalization biasanya dijalankan untuk meningkatkan prestasi bacaan pangkalan data, tetapi disebabkan oleh kekangan tambahan yang digunakan untuk denormalization, menulis (i.e. masukkan, mengemas kini dan memadam operasi) boleh menjadi lebih perlahan. Oleh itu, pangkalan data denormalized boleh menawarkan prestasi menulis yang lebih buruk daripada pangkalan data yang dinormalisasi.

- Selalunya disyorkan bahawa anda harus "menormalkan sehingga ia menyakitkan, denormalize sehingga ia berfungsi".