Apa Itu Denormalisasi?
Denormalisasi adalah proses yang dilakukan pada database yang sudah dinormalisasi, dengan cara memodifikasi struktur tabel dan mengabaikan kerangkapan data (yang terkontrol) untuk meningkatkan kinerja database.
Denormalisasi dapat dilakukan dengan berbagai cara, antara lain:
- Menambahkan atribut turunan ke tabel
- Menambahkan tabel rekapitulasi
- Menambahkan data duplikat ke tabel
Menambahkan atribut turunan ke tabel
Atribut turunan adalah atribut yang nilainya dapat dihitung dari nilai-nilai atribut lain. Misalnya, tabel “pelanggan” memiliki atribut “alamat”. Atribut “alamat” dapat dipecah menjadi beberapa atribut turunan, seperti “jalan”, “kota”, dan “kode pos”. Dengan cara ini, query yang hanya membutuhkan informasi tentang satu bagian dari alamat dapat dilakukan dengan lebih efisien.
Menambahkan tabel rekapitulasi
Tabel rekapitulasi adalah tabel yang berisi data yang telah dikumpulkan dari beberapa tabel. Misalnya, tabel “penjualan” memiliki data tentang barang yang dijual, pelanggan yang membeli, dan jumlah penjualan. Data ini dapat diringkas ke dalam tabel rekapitulasi yang hanya berisi informasi tentang total penjualan untuk setiap barang. Dengan cara ini, query yang membutuhkan informasi tentang total penjualan dapat dilakukan dengan lebih efisien.
Menambahkan data duplikat ke tabel
Data duplikat adalah data yang sama yang disimpan di dua atau lebih tabel. Misalnya, tabel “produk” memiliki data tentang harga produk. Harga produk dapat ditambahkan ke tabel “penjualan” untuk memudahkan perhitungan total penjualan. Dengan cara ini, query yang membutuhkan informasi tentang total penjualan dapat dilakukan dengan lebih efisien.
Keuntungan dan kerugian denormalisasi
Denormalisasi memiliki keuntungan dan kerugian berikut:
Keuntungan
- Meningkatkan kinerja database
- Memudahkan penulisan query
Kerugian
- Meningkatkan kerangkapan data
- Mengurangi fleksibilitas database
Kerangkapan data
· Kerangkapan data adalah kondisi di mana data yang sama disimpan di dua atau lebih tabel. Kerangkapan data dapat meningkatkan ukuran database dan mempersulit pemrosesan data.
Fleksibilitas database
· Fleksibilitas database adalah kemampuan database untuk berubah seiring dengan kebutuhan bisnis. Denormalisasi dapat mengurangi fleksibilitas database karena membuat data lebih sulit untuk diubah.
Kapan denormalisasi harus dilakukan?
· Denormalisasi harus dilakukan jika peningkatan kinerja database lebih penting daripada kerugian yang ditimbulkan oleh kerangkapan data dan berkurangnya fleksibilitas database.
Denormalisasi penting dalam desain database. Jika terjadi proses pengaksesan yang dilakukan pada database ketika data pada tabel berjumlah 5000 baris x 30000 baris maka proses tersebut akan memakan waktu yang cukup lama untuk mengakses data tersebut apalagi jika user mengaksesnya dari beberapa tabel dan hanya user yang perlu mengaksesnya. melihat sebagian data. Oleh karena itu, denormalisasi diperlukan untuk menjaga stabilitas kinerja sistem. Untuk menentukan apakah suatu sistem harus didenormalisasi untuk mengoptimalkan kinerjanya, beberapa masalah harus dipertimbangkan.