Normalisasi vs Denormalisasi
Pangkalan data hubungan terdiri daripada hubungan (jadual berkaitan). Jadual terdiri daripada lajur. Sekiranya jadual dua besar (iaitu terlalu banyak lajur dalam satu jadual), maka anomali pangkalan data dapat terjadi. Sekiranya jadual terdiri dari dua kecil (iaitu pangkalan data terdiri dari banyak tabel yang lebih kecil), maka tidak efisien untuk membuat pertanyaan. Normalisasi dan Denormalisasi adalah dua proses yang digunakan untuk mengoptimumkan prestasi pangkalan data. Normalisasi meminimumkan kelebihan yang ada dalam jadual data. Denormalisasi (pembalikan normalisasi) menambah data berlebihan atau data kumpulan.
Apakah Normalisasi?
Normalisasi adalah proses yang dilakukan untuk meminimumkan kelebihan yang ada dalam data dalam pangkalan data hubungan. Proses ini terutamanya akan membahagikan jadual besar menjadi meja yang lebih kecil dengan lebih sedikit pengurangan (disebut "Bentuk biasa"). Jadual yang lebih kecil ini akan saling berkaitan melalui hubungan yang jelas. Dalam pangkalan data yang dinormalisasi dengan baik, setiap perubahan atau pengubahsuaian dalam data hanya perlu mengubah satu jadual sahaja. Bentuk Normal Pertama (1NF), Bentuk Normal Kedua (2NF), dan Bentuk Normal Ketiga (3NF) diperkenalkan 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.
Jadual yang mematuhi 1NF memastikan bahawa ia benar-benar mewakili hubungan (iaitu tidak mengandungi rekod yang berulang), dan tidak mengandungi atribut yang dinilai relasional (iaitu semua atribut harus mempunyai nilai atom). Agar jadual mematuhi 2NF, ia harus dipatuhi dengan 1NF dan sebarang atribut yang bukan merupakan sebahagian daripada kunci calon (iaitu atribut bukan prima) harus bergantung sepenuhnya pada mana-mana kunci calon dalam jadual. Menurut definisi Codd, jadual dikatakan dalam 3NF, jika dan hanya jika, jadual itu dalam bentuk normal kedua (2NF) dan setiap atribut dalam jadual yang bukan milik kunci calon harus langsung bergantung pada setiap kunci calon jadual itu. BCNF (juga dikenali 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 berlebihan atau mengelompokkan data untuk mengoptimumkan prestasi. Walaupun, menambahkan data berlebihan terdengar tidak produktif, kadang-kadang denormalisasi adalah proses yang sangat penting untuk mengatasi beberapa kekurangan dalam perisian pangkalan data hubungan yang mungkin dikenakan hukuman prestasi berat dengan pangkalan data yang dinormalisasi (bahkan diselaraskan untuk prestasi yang lebih tinggi). Ini kerana menggabungkan beberapa hubungan (yang merupakan hasil dari menormalkan) untuk menghasilkan hasil untuk pertanyaan kadang-kadang lambat bergantung pada pelaksanaan fizikal sebenar sistem pangkalan data.
Apakah perbezaan antara Normalisasi dan Denormalisasi? - Normalisasi dan denormalisasi adalah dua proses yang bertentangan sama sekali. - Normalisasi adalah proses membagi jadual yang lebih besar ke yang lebih kecil sehingga mengurangi data yang berlebihan, sementara denormalisasi adalah proses menambahkan data yang berlebihan untuk mengoptimumkan kinerja. - Normalisasi dilakukan untuk mengelakkan anomali pangkalan data. - Denormalisasi biasanya dilakukan untuk meningkatkan prestasi membaca pangkalan data, tetapi disebabkan oleh batasan tambahan yang digunakan untuk denormalisasi, penulisan (iaitu operasi memasukkan, kemas kini dan hapus) dapat menjadi lebih lambat. Oleh itu, pangkalan data denormalisasi dapat menawarkan prestasi menulis yang lebih buruk daripada pangkalan data yang dinormalisasi. - Selalunya disarankan agar anda “menormalkan hingga sakit, menyah-nyah-nyah sehingga ia berfungsi”. |