Я сподіваюся, що це питання з коротшою відповіддю, ніж «Прочитайте книгу на 1000 сторінок», але тоді, якщо це реальна ситуація, то вразить мене цим.
Я не справжній DBA, я розробник програмного забезпечення, який розуміє, що нам потрібна DBA, і все ж у магазині, в якому я працюю, є нульові DBA. Однак наш дизайн бази даних MS SQL, що включає декілька основних збережених процедур, є великим безладом. Зберігаються процедури повільні, ми підозрюємо, що вони мають помилки, але ми навіть не знаємо, як вони очікують на роботу, тому ми не знаємо, як їх виправити.
Для початку я вирішив, що ми задокументуємо, як це все має працювати, потім розпочнемо тестування одиниць та створимо набір тестових одиниць, які допоможуть довести, що збережені процедури насправді працюють. Логіка, яку вони виконують, є ключовою частиною нашої програми, можна сказати, це "коронні коштовності" основного продукту нашої компанії, а спосіб її роботи абсолютно не підтверджений.
Я шукаю конкретну технічну документацію, яку, можливо, очікує, що професійна DBA може існувати, або, можливо, написати самостійно, якщо це доведеться, щоб зрозуміти гігантську мережу зберігаються процедур, які дзвонять один одному.
Який звичайний формат документування великої збереженої процедури? Опис очікуваних значень для кожного параметра Параметри (тобто "передумови", "пост-умови", тобто для булевих параметрів, що змінюється, коли ви вмикаєте або вимикаєте і т.д.?)
Як зазвичай це документується? Лише коментарі SQL? Зовнішній інструмент, специфічний для цілі? Зовнішня "документація"? У нас немає інших інструментів SQL, окрім студії MS SQL Management, але нам цікаво, чи є інструмент, який би покращив розуміння, документування та тестування нашого середовища. Можливо, це кращий спосіб задати моє запитання; Який інструмент мені потрібен, щоб вирішити наш безлад?
Наша мета - вміти:
A. Використовуйте створену нами документацію або будь-які інструменти, які ми додаємо до нашого середовища, щоб зрозуміти, як повинні працювати процедури, тож ми можемо продовжити створення покриття тестування блоку для збережених процедур.
B. Покажіть розробникам програми клієнт-додаток, як правильно викликати кожну з цих складних процедур, що зберігаються.
C. Випробування блоку наших збережених процедур.