Baru-baru ini saya dipekerjakan sebagai satu-satunya IT Guy di Perusahaan X tertentu dan saya ditugaskan untuk memperbaiki aplikasi mereka, dan menurut saya, cara terbaik untuk memulai adalah dengan memahami database.
Database mereka saat ini adalah database MySQL dengan 186 tabel (perlu diketahui bahwa beberapa tabel kosong karena hanya Tuhan yang tahu mengapa). Dan aplikasi berkomunikasi dengan database melalui antarmuka basis data MS Access. (Saya bertanya pada diri sendiri mengapa pengembang juga melakukannya)
Pertanyaannya adalah, Bagaimana cara saya mulai menangani basis data besar tanpa dokumen ini? Ya, itu tidak berdokumen karena pengembang aplikasi tidak mau memberi saya ERD atau kamus data atau informasi apa pun tentang database untuk memudahkan hidup saya. Bagaimana Anda menyarankan untuk mengambil upaya berbahaya ini untuk memahami setiap sudut dan celah dari database yang agak besar?
Pertanyaan Terkait: Bagaimana cara menyelam ke dalam database yang jelek?
Jawaban:
Jawaban tertaut menangani masalah bottom-up, database terlebih dahulu. Karena tanggung jawab Anda mencakup aplikasi dan basis data, saya akan cenderung menyerang top-down ini mulai dari aplikasi.
Fokuskan perhatian Anda pada pemahaman fitur-fitur aplikasi yang paling sering digunakan melalui konsultasi dengan basis pengguna. Lacak interaksi basis data dari fitur-fitur tersebut melalui profiling / alat logging sehingga Anda dapat mengidentifikasi tabel dan prosedur utama.
Dengan cara ini, upaya awal Anda dibatasi pada "hal-hal yang penting", daripada membuang waktu untuk mendokumentasikan tabel dan kueri yang mungkin jarang atau tidak pernah digunakan. Fokusnya juga harus membawa Prinsip Pareto pada upaya memperbaiki bug Anda ( demikian kata Microsoft pula ).
sumber
Saya mungkin akan mencoba mendapatkan MySQL Workbench dan kemudian membuat model EER dari database. Ini berarti Anda dapat melihat tautan apa ke apa dan mencari tahu apa yang dipikirkan pengembang. Semua tergantung pada aplikasi juga untuk bagaimana terstruktur.
sumber
Saya menemukan DBLint berguna untuk identifikasi masalah dengan database. Ini memiliki sifat-sifat baik berikut:
Untuk identifikasi cepat hotspot pada database MySQL, Neor Profile SQL adalah proksi segel yang berada di antara aplikasi dan database. Keindahannya adalah bahwa ia cepat untuk dipasang.
Untuk penemuan kunci primer dan asing faktual dalam database, yang, bagaimanapun, tidak didefinisikan dalam database, Anda dapat menggunakan Linkifier . Untuk ERD plotting, estimasi dapat diekspor ke yEd , yang memiliki banyak algoritma tata letak untuk penentuan posisi tabel. BPMN adalah favorit saya untuk ERD.
sumber
Ada alat oracle (My SQl workbench) untuk mengakses database Sql saya, itu adalah antarmuka yang bisa memberi Anda ERD database.
sumber