Dátový model a databázová dokumentácia

Séria: Ako písať dokumentáciu a manuály v IT projekte

 

Reálny problém z praxe

Admin klienta napísal:

„Pracovníčka omylom zmazala záznam. Dá sa obnoviť?“

Na prvý pohľad jednoduchá otázka.

V testovacom prostredí som zmazala záznam.
V databáze som ho našla.

Lenže:

nevedela som, ako ho obnoviť.

Nakoniec mi vývojár povedal:

Stačí zmeniť hodnotu v stĺpci OMYL z 0 na 1.

Záznam sa znovu objavil.

Bez tejto informácie by som na to neprišla.

Stĺpec sa volal OMYL.
Iné stĺpce mali názvy C1, C2, C3.
Adresár nebol v tabuľke ADRESAR, ale v KLIENTI.

Dáta existovali.
Len im nikto nerozumel.

 

Čo sa tu vlastne pokazilo (analýza systému)

Problém nie je v databáze.
Problém je, že dátový model nie je zrozumiteľný.

V tomto príklade sa stretlo viac chýb naraz:

  • názvy stĺpcov neodrážajú význam
  • nie je jasné, čo pole robí
  • chýba dokumentácia soft delete
  • názvy tabuliek nezodpovedajú doméne
  • význam dát je v hlave vývojára

Z pohľadu systému ide o bežnú vec:

záznam sa nemaže, len sa označí

Lenže z pohľadu tímu:

to vyzerá ako „záhada v databáze“

Dátový model tu neplní svoju základnú funkciu:

vysvetliť, ako systém pracuje s dátami.

 

Skutočné náklady (čas, chaos, riziko)

Takýto stav má veľmi konkrétne dopady:

  • support nevie odpovedať na jednoduchú otázku
  • tester nevie overiť správanie systému
  • admin nevie opraviť chybu bez vývojára
  • vzniká závislosť na konkrétnom človeku

Typická situácia:

funkcionalita existuje
ale nie je použiteľná bez interného know-how

A to je problém kvality.

 

Minimálny model riešenia

Nie je cieľ prepisovať databázu.
Cieľ je spraviť ju čitateľnou.

1. Zmysluplné názvy

  • tabuľky majú odrážať doménu (napr. ADRESAR, nie KLIENTI, ak ide o adresár)
  • stĺpce majú popisovať význam (napr. DELETED_FLAG, nie OMYL)

 

2. Popis významu polí

Pri každom dôležitom poli má byť jasné:

  • čo znamená
  • aké hodnoty nadobúda
  • čo tieto hodnoty spôsobujú

Príklad:

OMYL = 0 → záznam skrytý
OMYL = 1 → záznam aktívny

Bez tohto je pole nepoužiteľné.

 

3. Dokumentácia soft delete

Ak systém používa soft delete, musí to byť explicitne uvedené:

  • ktoré tabuľky ho používajú
  • ktoré pole to riadi
  • ako sa záznam obnovuje
  • či existuje hard delete

Toto je častý zdroj nedorozumení.

 

4. Prepojenie na funkcionalitu

Dátový model nemá byť izolovaný.

Musí byť jasné:

  • ktorá funkcionalita pracuje s ktorou tabuľkou
  • ktoré polia ovplyvňujú správanie systému
  • ktoré zmeny sú bezpečné a ktoré nie

 

Príklad

Bez dokumentácie:

záznam sa „nejako zmaže“

S dokumentáciou:

  • záznam sa nemaže
  • nastaví sa príznak deleted_flag = 0
  • systém ho prestane zobrazovať
  • obnovenie = zmena hodnoty na 1

Zrazu je jasné:

čo sa stalo
ako to opraviť
čo testovať

 

Mini checklist

Majú tabuľky zmysluplné názvy?
Majú stĺpce jasný význam?
Je popísané, čo robia kľúčové polia?
Je zdokumentovaný soft delete?
Je jasné, kde sa nachádzajú konkrétne dáta (napr. adresár)?

Ak nie, databáza síce funguje, ale nie je pochopená.

 

Prepojenie na kvalitu a workflow

Toto je presne moment, kde sa láme kvalita.

Bez dátovej dokumentácie:

  • tester testuje naslepo
  • support háda riešenie
  • admin je odkázaný na vývojára

S dátovou dokumentáciou:

  • vieš rýchlo nájsť príčinu
  • vieš opraviť stav
  • vieš vysvetliť správanie systému

A hlavne:

znalosť sa presunie z hlavy do systému.

 

Krátke zhrnutie

Dátový model nie je len o tabuľkách.

Je o tom, či:

  • názvy dávajú zmysel
  • polia majú jasný význam
  • správanie systému je pochopiteľné

Ak nie:

dáta existujú
ale tím im nerozumie

Ak áno:

systém je čitateľný
a dá sa podľa neho pracovať

A presne o tom je technická dokumentácia.

Pridajte Komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *

Návrat hore