preview

Dokumentacja baz danych

Byłem ostatnio na prezentacji poświęconej dokumentowaniu baz danych. Mówca, Pan Piotr Kononow z firmy Logic Systems, przedstawił trafne argumenty mówiące za tym, żeby prowadzić taką dokumentację.

Sporządzanie dokumentacji odbywa się poprzez wstawianie komentarzy do tabel w bazie danych. W sumie po co kiedy każdy wie że tabela user przechowuje dane o użytkownikach a co przechowuje pole login nawet nie trzeba mówić. Sprawa ma się gorzej kiedy pracujemy z bazą zewnętrzną bądź kiedy dostajemy pod opiekę kilkuletni projekt. Ne jest jeszcze tak źle kiedy program powstawał w naszej firmie. Problem robi się kiedy przejmujemy cały projekt z firmy zewnętrznej.

Kiedy dostajemy pod opiekę projekt po koledze z firmy, najprawdopodobniej każdy problem ze zrozumieniem przepływu danych zostanie szybko wyjaśniony w rozmowie z twórcą. Chodzi tu o to zrozumienie przepływu danych w kodzie i w określaniu czy na przykład dany wpis w bazie można zakwalifikować jako fakturę opłaconą, nieopłaconą czy może częściowo opłaconą.

W sytuacji gdy projekt przychodzi do nas z zewnątrz bądź trzeba odświeżyć bardzo stary kod pojawiają się problemy. Nikt nie wie dlaczego pole ipxd w tabeli fak_arch ma wartości liczbowe w zakresie od 1 do 9. I co te wartości oznaczają? To nie wszystko, nikt nie wie też czy to wszystkie wartości jakie może przechowywać? Może zakres tych danych jest o wiele większy tylko aktualnie nie ma wpisów z wartością 10?

Tabele i kolumny powinny posiadać opisowe nazwy, tak żeby wiadomo było jakie dane przechowują. Ale nawet dobre nazwy nie uchronią nas przed sytuacją, w której nie wiemy jakie wartości może przyjmować dana kolumna. Dodatkowo jeśli kilka osób pracuje nad projektem od dłuższego czasu może nadawać nazwy mówiące wszystko dla członków zespołu ale już nie tak oczywiste dla ludzi z zewnątrz.

Istnieją programy generujące dokumentację baz danych na podstawie komentarzy. Taka dokumentacja może zostać wygenerowana na przykład jako PDF, XLS czy HTML. Nie będzie ona potrzebna w momencie generowana ale na pewno przyda się w przyszłości i oszczędzi sporo czasu osobie, która będzie musiała wgryźć się w projekt. Przykładem takiego programu jest Dataedo firmy LogicSystems.

 

Obrazek z Freepik

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *