Naši partneři
BMI SYSTEM CZECH
Informační systémy budoucnosti

Jak se vyznat v cizím schématu


Reverzování bez prostředků

Často se přihodí, že vývojář nebo správce má k dispozici nějakou klientskou aplikaci, k ní databázi bez dokumentace (nebo jen s nějakou slabou), a přesto se nějak potřebuje vyznat v datech.

 

Samozřejmě existuje celá řada prostředků pro datové modelování, které umějí i reverzní inženýrink dat, ale ty často stojí (nemalé) peníze, a navíc se zabývají strukturami. A co když jsou názvy databázových objektů všelijak zkrácené, a ještě k tomu třeba španělsky?

 

Takže ještě jednou je třeba se zamyslet - vidím obrazovku aplikace, a na obrazovce nějakou hodnotu (třeba příjmení). Jak zjistit, kde v celé komplikovaně navržené databázi je hodnota uložena?

 

Já jsem si pro takovéto situace vyrobil velmi jednoduchý skriptík, který nabízím ke stažení zde.

 
Jak to funguje

Skript je opravdu jednoduchý, tvořil jsem jej svého času jako ukázku při školení databází. Základem celého skriptu je SELECT použitý v kurzoru. Tento SELECT generuje seznam všech tabulek a sloupců řetězcového typu (char, varchar, ...).

 

Ve smyčce kurzoru je potom pro každou položku popsaného seznamu dynamicky sestaven příkaz SELECT, který spočítá, kolik výskytů hledaného řetězce je v daném sloupci dané tabulky. Pokud je hodnota nalezena alespoň jednou, je do výsledku vypsáno jméno tabulky a sloupce, pokud ne, jde kurzor na další položku seznamu.

 

Tato metoda je velice účinná, protože propátrá opravdu celou databázi během pár desítek vteřin.

 
Sdílejte tuto položku se svými přáteli
 
Související články
TOPlist