Bergantung pada seberapa jeleknya itu, dan seberapa besar kendali yang Anda miliki atas desain dan apa yang berinteraksi dengannya. Saya harus berinteraksi dengan sejumlah database jelek selama bertahun-tahun di pekerjaan saya saat ini, dan inilah cara saya mengatasinya:
Data karyawan
Ada database yang menyimpan data karyawan. Ini basis data vendor, jadi saya tidak punya kendali atasnya. (Un?) Untungnya, saya tidak punya akses langsung ke sana. Saya mendapatkan dump DTS setiap pagi.
Yang terbaik yang bisa saya kelola adalah menulis skrip yang menggosok input dari dump pagi (ya pilihan kata disengaja) dan memigrasikannya ke dalam format yang lebih bermanfaat, dan bekerja dari data yang digosok.
Bahkan jika saya bisa mengubahnya, saya mungkin tidak akan - hanya karena ada sejumlah besar program lain yang mengandalkannya diatur seperti itu, dan saya tidak bisa memaksakan perubahan di dalamnya.
Data Pelatihan Online
Ini adalah kekacauan desain saya sendiri. Saya membangunnya baru keluar dari perguruan tinggi tanpa mentor untuk membantu saya ... Sejak itu saya telah memperbaikinya sedikit demi sedikit. Karena saya mengendalikan satu-satunya program yang mengakses data, ketika saya memutakhirkan bagian situs saya akan "memutakhirkan" konfigurasi database. Saya akan menulis skrip transformasi dan mengujinya dengan penuh semangat pada salinannya sehingga saya dapat memastikan bahwa semua perubahan yang perlu dilakukan dibuat.
Ini merupakan proses yang panjang, tetapi prosesnya berjalan dengan baik.
Data Pelatihan Kelas
Proyek percontohan saya telah mengintegrasikan data dari 3 basis data yang berbeda, semua dirancang sedikit berbeda oleh pendahulu saya ... yang adalah seorang pendidik perawat yang mengambil satu atau dua kelas pemrograman.
Itu proses lambat lainnya. Karena saya memiliki kendali penuh atas program yang mengakses data, saya telah mengubahnya sedikit demi sedikit seperti data pelatihan online.
Dalam retrospeksi, ini akan menjadi kandidat utama untuk memulai bersih ... pemandangan belakang selalu 20/20.
Pada akhirnya...
Saya tidak tahu seberapa membantu hal ini, dan saya bisa menguraikan lebih lanjut (sampai titik tertentu, hukum perusahaan yada yada dan semuanya). Jawaban terakhir adalah "Tergantung".