Hlavní navigace

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.

Našli jste v článku chybu?

17. 2. 2004 22:48

Marek Chlup (neregistrovaný)

Článek je dosti starý a Maccess je již dál.

- Návrhář dotazů v OOo příliš neznám, co však vím jistě, pro vytvoření a užívání dotazu pro Maccess stačí web prohlížeč. Například můžete užít Links, který běží i na bezdiskovém PC s 8MB RAM. Dále své dotazy můžete oproti OOo jednodušeji sdílet. Nevím zda OOo disponuje takovými bezva nástroji jako je třeba rozbalování dat u souhrných dotazů, či zda umí křížové dotazy (myslím, že to neumí).

- Orientace na MS IE je již minulostí a transfo…

17. 2. 2004 12:37

BoodOk (neregistrovaný)

3 poznamky.

- Hodne z toho co umi Maccess, umi take OO, navic je multiplatformni a nezavisly na databazi a dotazy si muzete take ukladat (ma vizualni navrhar dotazu a formularu).

- Orientace na MSIE je spatna, vyplyva z pochybne myslenky transformace XML na strane klienta v prostredi zmatenych standardu, ktera zpusobuje problemy tez jinde (viz. poznamka o dialupu).

- Orientace na MySQL je take zapor, lepe by bylo orientovat se na unixODBC.

Samozrejme, je-li MAccess vyvijen pro konk…







120na80.cz: Bojíte se encefalitidy?

Bojíte se encefalitidy?

DigiZone.cz: Česká televize mění schéma ČT :D

Česká televize mění schéma ČT :D

Lupa.cz: Slevové šílenství je tu. Kde nakoupit na Black Friday?

Slevové šílenství je tu. Kde nakoupit na Black Friday?

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

DigiZone.cz: Sony KD-55XD8005 s Android 6.0

Sony KD-55XD8005 s Android 6.0

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Vitalia.cz: Tesco: Chudá rodina si koupí levné polské kuře

Tesco: Chudá rodina si koupí levné polské kuře

Lupa.cz: Není sleva jako sleva. Jak obchodům nenaletět?

Není sleva jako sleva. Jak obchodům nenaletět?

Podnikatel.cz: Na poslední chvíli šokuje vyjímkami v EET

Na poslední chvíli šokuje vyjímkami v EET

Vitalia.cz: Baletky propagují zdravotní superpostel

Baletky propagují zdravotní superpostel

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Podnikatel.cz: EET zvládneme, budou horší zákony

EET zvládneme, budou horší zákony