Refactoring Database
Ikhtisar
Code Refactoring merupakan hal yang sudah developer perangkat lunak. Namun, tidak demikian halnya dengan Database Refactoring. Baik Code maupun Database refactoring, keduanya memiliki konsep yang sama, yakni melakukan perbaikan terhadap sebuah desain yang sudah ada dengan mempertahankan semantik behaviournya. Internal sharing yang penulis rencanakan bertujuan untuk memperkenalkan konsep database refactoring. Untuk lebih mempermudah peserta internal sharing dalam memahami konsep Database Refactoring, selain menyampaikan materi (teori) yang penulis peroleh, penulis juga berencana untuk menyajikan beberapa contoh kasus pada database refactoring.
Refactoring
Refactoring [fowler:1999], merupakan teknik dalam pemrograman
untuk melakukan restukturisasi source code. Restrukturisasi ini bertujuan untuk memperbaiki desain
perangkat lunak lunak yang ada, agar lebih mudah dibaca oleh manusia, dan lebih mudah dipelihara
(maintainable). Pelaksanaannya biasanya berlangsung secara iteratif dan incremental.
Aspek penting
dalam refactoring adalah: refactoring dilakukan dengan mempertahankan semantic behaviour, yakni
perubahan pada code tidak ikut mengubah behaviour eksternal.
Refactoring bisa jadi merupakan
kegiatan yang cukup ringan, misalnya mengganti nama method GetJumlah() menjadi GetTotal(). Namun
bisa jadi kegiatan tersebut menimbulkan efek yang cukup kompleks, misal jika method GetJumlah()
telah digunakan di banyak bagian pada source code.
Terkadang, refactoring menjadi suatu keharusan
ketika timbul kebutuhan penambahan fungsionalitas baru.