Maccess - snadná práce s databázemi

Marek Chlup 2. 3. 2001

Název Maccess napovídá o inspiraci produktem Access od jisté známé společnosti. Mým přáním bylo vytvořit prostředek, pomocí kterého by i neprogramátor mohl snadno pokládat různé dotazy na SQL server a vrácená data pohodlně analyzovat. Dále jsem chtěl, aby tento prostředek byl ovládán čistě přes webovský prohlížeč. Webovský přístup má svá negativa, ale má i mnoho pozitiv a ty jsem chtěl využít.

Tento článek si klade za cíl seznámit se základními možnostmi Maccessu pomocí ukázek na jednoduchém příkladu.

Představte si, že jste fandové hokejové soutěže NHL a na SQL serveru máte aktuální statistické údaje z právě probíhající sezóny. Konkrétně tabulku Player_stats, kde každý řádek přísluší jednomu hráči a obsahuje údaje, jako je jméno hráče, v kterém hraje týmu, kolik dal gólů a asistencí a další. Chcete-li zjistit kolik gólů dohromady daly jednotlivé týmy, pak v Maccesu takový dotaz jednoduše vytvoříte:

Tvorba dotazu

I příznivec příkazové řádky občas rád využije metodu drag&drop, která tvorbu dotazu usnadňuje. Nyní zbývá dotaz uložit, aby ho mohl použít i někdo jiný a následně spustit. Výsledný výstup ukazuje obrázek.

Výstup souhrnného dotazu

Někoho asi moc nepotěší, že tým Pittsburgh je zatím až na čtvrtém místě.

Na výstupu je možno různé řádky pro lepší orientaci klepnutím zvýraznit. Je také možné zobrazit jen zvýrazněné řádky, což má okamžitě vliv na přepočítání sumy za celou tabulku (ovšem i na případné mezisoučty). Klepnutím na nadpisu sloupce se řádky seřadí dle hodnot ve sloupci. Je též k dispozici formátování čísel (oddělování tisíců, zobrazení s přesností na zadaný počet desetinných míst) a formátování dat a časů (možnost zobrazit jméno dne v týdnu apod.).

Protože ukázkový dotaz je souhrnný (jeden řádek představující tým shrnuje údaje za všechny jeho hráče), může hned někoho napadnout, kdo že se na těch gólech v Pittsburghu nejvíce podílí. Informaci je možné získat jedním klepnutím na ikoně složky, která se nachází vlevo na řádku Pittsburghu (PIT). Výsledek je na obrázku.

Výstup ungroup dotazu

Ve skutečnosti tento „rozbalený“ („ungroup“) výstup byl již předem upraven. Standardně by Maccess souhrnný řádek rozbalil, ale výstup by nebyl uspořádaný a obsahoval by všechny sloupce tabulky. Aby výstup „ungroup“ dotazu byl podle našeho přání, není třeba vše od začátku definovat – Maccess základní části při návrhu „ungroup“ dotazu převezme z původního souhrnného dotazu.

Klepnutí na ikoně u rozbalených řádků umožňuje řádky na SQL serveru měnit (výstup ale musí obsahovat primární klíče). Maccess umožňuje úpravu hodnot, ale má zde velké rezervy.

V uvedeném výstupu je vidět další možnost Maccessu – pomocí definic CSS upravovat vzhled jednotlivých buněk tabulky. V dotazu bylo definováno, aby jména hráčů, kteří mají záporné hodnoty ve statistice plus/mínus (p/m), byla uvedena červenou barvou a ostatní jména barvou zelenou.

Nyní se ještě vrátím k druhému obrázku, kde jsou vidět hypertextové odkazy (ty byly definovány až po sejmutí prvního obrázku ukazujícího vytvoření dotazu). Ke každé hodnotě na výstupu je v Maccessu možné definovat hypertextový odkaz. V našem případě jsem udělal odkaz na stránky příslušných týmů na Yahoo. Využil jsem toho, že webová adresa je z velké části stejná a až v závěru se liší zkratkou názvu příslušného týmu.

Maccess disponuje také možnostmi seskupovat data na výstupu se zobrazováním mezisoučtů, jak ukazuje obrázek.

Výstup dotazu - report

Předností Maccessu jsou křížové dotazy, kde je možné rozbalit každou hodnotu na výstupu a získat tak řádky, z kterých hodnota souhrnem vznikla.

Všechny textové výstupy jsou řešeny pomocí šablon XSL, které se aplikují na XML výstup, který Maccess produkuje. K transformaci XML dokumentů dochází na serveru nebo až na klientské straně – záleží na typu výstupu a schopnosti prohlížeče. K dispozici jsou i výstupy do grafů a jednoduchý výstup do mapy Evropy.

Maccess je hojně používán v naší společnosti, která nemá s NHL téměř nic společného (to jen aby nevznikla nějaká mýlka). Snad jen, že v NHL musí neustále chladit ledovou plochu a my musíme přes zimu zase vytápět naše prostory. V poslední ukázce jsem proto zvolil spotřebu páry v naší společnosti po měsících v různých letech. Jde o křížový dotaz s výstupem do sloupcového grafu.

Výstup dotazu do grafu

Hlavní aplikace Maccessu v naší společnosti jsou však v oblasti obchodu, ekonomie, personalistiky a výroby.

Jako příjemnou vlastnost Maccessu ještě uvedu dotazové proměnné – při definici dotazu je možné téměř kdekoliv vložit dotazovou proměnou, na kterou se pak Maccess při spuštění zeptá vygenerováním formuláře. V dotazové proměnné může být již nabízena nějaká hodnota, nebo může jít o výběrová menu (a to třeba generovaná z SQL tabulek).

Serverová část Maccessu běží na Linuxu a je napsána jako CGI skript v Perlu (přesněji v ePerlu) a využívá mnoha knihoven různých autorů, které jsou volně k dispozici. Jako SQL server je nyní vyžadována databáze MySQL. Maccess předpokládá dostatečně rychlé spojení klienta se serverem – při použití dialup spojení se vše vleče…

Pokud jde o klientskou část, předpokládá Maccess hlavně použití prohlížeče MS IE 5.5. To proto, že hojně využívá zpracování XML na klientské straně. Použití jiných prohlížečů je možné, ale komfort již je mnohem menší. Pro textové terminály je vhodným prohlížečem links.

Maccess je šířen pod licencí GPL.

V případě zájmu o další informace odkazuji na domácí stránku Maccessu, kde jsou k dispozici další obrázky a také online demo. Pro ještě detailnější informace odkazuji na stručný help.

Ohodnoťte jako ve škole:

Průměrná známka 3,44

Našli jste v článku chybu?
Zasílat nově přidané příspěvky e-mailem
120na80.cz: 10 nejprodáva­nějších homeopatik

10 nejprodáva­nějších homeopatik

Lupa.cz: Online supermarkety už mají srovnávač: Atoto

Online supermarkety už mají srovnávač: Atoto

Podnikatel.cz: 10 novinek u přiznání k dani za rok 2015

10 novinek u přiznání k dani za rok 2015

Podnikatel.cz: Asociace podnikatelů: Souhlas i odpor k EET

Asociace podnikatelů: Souhlas i odpor k EET

120na80.cz: V zákulisí farmafirmy: růžový, ale i bílý Ibalgin

V zákulisí farmafirmy: růžový, ale i bílý Ibalgin

Lupa.cz: Lepší než Google: proč používat DuckDuckGo?

Lepší než Google: proč používat DuckDuckGo?

Lupa.cz: Pokud chcete být špičkový programátor…

Pokud chcete být špičkový programátor…

Podnikatel.cz: Registr všech účtů. Konec daňovým únikům?

Registr všech účtů. Konec daňovým únikům?

Měšec.cz: Velký jističový podfuk

Velký jističový podfuk

Měšec.cz: Velký jističový podfuk

Velký jističový podfuk

Vitalia.cz: Fuck you, rakovino

Fuck you, rakovino

Podnikatel.cz: Plaťte první 3 dny nemoci, snížíme pojistné

Plaťte první 3 dny nemoci, snížíme pojistné

Root.cz: EU chce zrušit anonymní platby

EU chce zrušit anonymní platby

Podnikatel.cz: Legální fotka za cenu kávy. Na to máte, ne?

Legální fotka za cenu kávy. Na to máte, ne?

Podnikatel.cz: Podal přiznání, má přeplatek. Nevrátí mu ho

Podal přiznání, má přeplatek. Nevrátí mu ho

Podnikatel.cz: Nechtějí vrátit odpočet DPH? Chtějte úrok

Nechtějí vrátit odpočet DPH? Chtějte úrok

Podnikatel.cz: Hlasovat o EET se bude 10. února

Hlasovat o EET se bude 10. února

Root.cz: Orange Pi Plus: malý počítač s Wi-Fi a SATA

Orange Pi Plus: malý počítač s Wi-Fi a SATA

Vitalia.cz: Čínská medicína: Citron při chřipce ne

Čínská medicína: Citron při chřipce ne

Vitalia.cz: Pro otrlé: 42 obrázků, které budou na cigaretách

Pro otrlé: 42 obrázků, které budou na cigaretách

Ušetřete