Saya harap ini adalah pertanyaan dengan jawaban yang lebih pendek dari "Baca buku 1000 halaman", tetapi kemudian, jika itu situasi sebenarnya, maka pukul saya dengan itu.
Saya bukan DBA sungguhan, saya pengembang perangkat lunak yang menyadari bahwa kami membutuhkan DBA, namun toko tempat saya bekerja tidak memiliki DBA nol. Namun desain database MS SQL kami termasuk beberapa prosedur tersimpan inti, adalah kekacauan besar. Prosedur yang disimpan lambat, kami menduga mereka memiliki bug, tetapi kami bahkan tidak tahu bagaimana mereka diharapkan bekerja, jadi kami tidak tahu bagaimana cara memperbaikinya.
Sebagai permulaan, saya telah memutuskan bahwa kita akan mendokumentasikan bagaimana seharusnya semua ini bekerja, kemudian kita akan memulai pengujian unit, dan membangun serangkaian tes unit yang membantu membuktikan bahwa prosedur yang tersimpan benar-benar berfungsi. Logika yang mereka lakukan adalah bagian kunci dari aplikasi kita, bisa dibilang, ini adalah "permata mahkota" dari produk utama perusahaan kami, dan cara kerjanya benar-benar tidak berdokumen.
Saya mencari dokumentasi teknis khusus yang mungkin diharapkan DBA profesional, atau mungkin menulis sendiri, jika mereka harus, untuk memahami jaringan raksasa prosedur tersimpan yang saling memanggil.
Apa format yang biasa untuk mendokumentasikan prosedur tersimpan yang besar? Deskripsi nilai yang diharapkan untuk setiap Parameter Dalam (yaitu "prekondisi", "postkondisi", yaitu, untuk parameter boolean apa yang berubah ketika Anda menghidupkan atau mematikannya, dll?)
Bagaimana biasanya orang mendokumentasikannya? Hanya komentar SQL? Perkakas eksternal yang spesifik untuk tujuannya? "Dokumentasi" eksternal? Kami tidak memiliki alat SQL, selain studio MS SQL Management, tetapi kami bertanya-tanya apakah ada alat yang akan membuat pemahaman, dokumentasi, dan pengujian lingkungan kita lebih baik. Mungkin itu cara yang lebih baik untuk mengajukan pertanyaan saya; Alat apa yang saya butuhkan untuk menyelesaikan kekacauan kami?
Tujuan kami adalah untuk dapat:
A. Gunakan dokumentasi yang kami hasilkan, atau alat apa pun yang kami tambahkan ke lingkungan kami, untuk membantu memahami bagaimana prosedur seharusnya bekerja, sehingga kami kemudian dapat membuat cakupan uji unit untuk prosedur yang tersimpan.
B. Perlihatkan pengembang aplikasi-klien cara memanggil setiap prosedur tersimpan yang rumit ini dengan benar.
C. Unit menguji prosedur tersimpan kami.