Název projektu
Kvalita relační databáze a SQL příkazů
Kód
SP2025/073
Období řešení projektu
1. 1. 2025 - 31. 12. 2025
Předmět výzkumu
Relační databáze dnes představují víceméně standart pro uložení dat strukturovaných dat. Pro
komunikaci s tímto typem databázi pak využíváme jazyk SQL. Databáze je kritickou části každé
aplikace, která uchovává to nejcennější a tím jsou samotná data. Nesprávná rozhodnutí týkající se
návrhu databáze bývá těžké identifikovat a ještě těžší napravit, vzhledem k provázanosti databáze s
aplikací. Kvalita se pak netýká jen návrhu, ale i také samotných SQL příkazů, které bývají v lepším
případě napsány nezkušeným programátorem a v horším případě jsou generovány ORM bez další
verifikace. Takto vzniká v aplikaci softwarový dluh na úrovni databáze.
V tomto projektu se budeme zabývat provedením komplexní analýzy zaměřené na kvalitu databáze a
SQL. Cílem je vytvořit prototyp nástroje, který se bude soustředit na:
1. Kvalitu databáze - nástroj umožní automatickou identifikaci antipaternů [1] v navržené databázi,
jako je jaywalking, polyformní vztahy a další.
2. Kvalitu SQL dotazů - nástroj umožňuje automatickou identifikaci antipaternů v SQL jako jsou
redundantní konstrukce SQL [2,3], nebo vyhledávání s pomocí non-SARGable predikátů.
Členové řešitelského týmu
doc. Ing. Radim Bača, Ph.D.
Ing. Lukáš Moravec
Bc. Sebastian Glumbík
Bc. Filip Jursa
Bc. Jiří Heralt
Specifikace výstupů projektu (cíl projektu)
V rámci tohoto projektu si klademe následující cíle:
• Vytvoření prototypu nástroje, který umožní provést analýzu databáze a jejího vytížení
ve formě SQL příkazů. Nástroj se připojí k vybrané databázi a většinu potřebných
informací přečte přímo ze systémového katalogu.
• Publikace prototypu nástroje na vybrané A/B konferenci jako je EDBT.
Dále budeme připravovat na základě dosažených výsledků publikaci pro jeden indexovaný časopis
nacházející se v Q1. V rámci projektu připravíme zejména srovnání s nástrojem SQLCheck.
Dalším očekávaným výstupem je vytvoření veřejně dostupné implementace, která umožní zopakování
provedených experimentů a tím zjednodušit případné budoucí využití, či rozšíření dosažených
poznatků.
Rozpočet projektu - uznané náklady
|
Návrh |
Skutečnost |
1. Osobní náklady Z toho |
0,- |
0,- |
| 1.1. Mzdy (včetně pohyblivých složek) |
0,- |
0,- |
| 1.2. Odvody pojistného na veřejné zdravotně pojištění a pojistného na sociální zabezpečení a příspěvku na státní politiku zaměstnanosti |
0,- |
0,- |
| 2. Stipendia |
103 000,- |
124 940,- |
| 3. Materiálové náklady |
0,- |
0,- |
| 4. Drobný hmotný a nehmotný majetek |
13 000,- |
0,- |
| 5. Služby |
0,- |
0,- |
| 6. Cestovní náhrady |
10 000,- |
1 060,- |
| 7. Doplňkové (režijní) náklady max. do výše 10% poskytnuté podpory |
14 000,- |
14 000,- |
| 8. Konference pořádané VŠB-TUO k prezentaci výsledků studentského grantu (max. do výše 10% poskytnuté podpory) |
0,- |
0,- |
| 9. Pořízení investic |
0,- |
0,- |
| Plánované náklady |
140 000,- |
| Uznané náklady |
140 000,- |
| Celkem běžné finanční prostředky |
140 000,- |
140 000,- |