Tato příručka je určena začínajícím uživatelům systému Maccess 1.9
Důležitost databází je všeobecně uznávaná. Informace většinou hledáme v nejrůznějších rozsáhlých tabulkách, které se snažíme propojit, třídit, matematicky upravovat a podobně. Data zahrnující miliony údajů vyžadují specializované programy, které to co potřebujeme vyhledají. Často se ale stává, že výstup není zcela podle našeho přání a chtěli bychom ho upravit. To jde někdy realizovat, ale jedině za pomoci profesionálního programátora. Jindy nezbývá než data pracně přetahovat do nějakého tabulkovéhoh procesoru a zde je upravovat do požadovaného tvaru. Databázové rozhraní Maccess umožňuje i neprogramátorům relativně snadno s databázovými tabulkami pracovat, případně vytvoří prostředí kde i začínající programátor může jiným uživatelům snadno připravit řadu funkcí, které jsou flexibilně využitelné pro další uživatele.
V roce 1998 naprogramoval Marek Chlup první verzi databázového rozhraní Maccess, což umožnilo snadnou tvorbu SQL dotazů a dalo prostředek programátorům rychle reagovat na nekončící požadavky uživatelů. Od roku 1999 byla verze Maccess 1.0 využívána ve společnosti Meopta Přerov, a.s. V průběhu let se Maccess stále zdokonaloval. Dne 1.1.2000 byla zveřejněna verze 1.7.
Maccess je řešen jako projekt GNU, jednotlivé verze jsou zveřejňovány pod licencí GPL.
Po dvouleté odmlce dne 12. 1. 2004 je pod GPL licencí zveřejněna tato zatím poslední verze 1.9. Příručka uživatele je určena začínajícím uživatelům a popisuje základy verze Maccess 1.9.
Koordinaci prací dalšího vývoje databázového rozhraní Maccess zajišťuje malá organizace RNDr. Vladimír Chlup, která uvítá všechny podněty i kritiku případných uživatelů. Své připomínky, náměty a požadavky můžete uvést na specializovaném Foru v systému MyCompany, případně je adresujte na chlup@chlup.net.
Nejprve si vyzkoušíme nejjednosušší práci s jedinou tabulkou. V naší zkušební databázi máme již uloženou tabulku, která se jmenuje Panovníci. Obsahem tabulky Panovníci jsou základní údaje o panovnících a presidentech, kteří stáli v čele států, jejímž pokračovatelem je Česká republika. V roce vstupu naší republiky do EU je výběr takové tabulky vhodný. Tabulky připravila Alena Chlupová, která odpovídá za správnost historických údajů. Jednotlivé sloupce tabulky obsahují vžité označení panovníka, jeho rod, jméno (většinou křestní), datum narození, datum úmrtí, datum zahájení vlády a datum ukončení vlády a základní informace o jeho vládě. Následující screenschot ukázuje jen malou část obsahu tabulky Panovnici. Ukázka zobrazuje jen základní informace o představitelích státu od začátku 20. století po dnešek. Obsah tabulky je bohatší a bude záležet jen na vás zda se k jeho obsahu dostanete.
Přáli bychom si, aby pohled na ukázku části obsahu tabulky vzbudil váš zájem o její další obsah. Je vskutku udivující co všechno se může za sto let stát. A to jsu před námi snad ještě další století. Abychom se dozvěděli více musíme se pustit do dalšího studia systému Maccess.
Po vstupu na úvodní stránku Maccess dostaneme obrazovku, která bude obsahovat i údaje uvedené na následujícím screenschotu:
Z názvů jednotlivých složek vidíme, že Maccess nebude patrně využitelný jen zájemci o historii, ale také hokejovými fanoušky americké (NHL), v podnikových informačních systémech (MyCompany) a mnohde jinde. K vysvětlení základních funkcí použijeme tabulku Panovníci.
Tabulka Panovníci je v ukázkové databázi uložena ve složce Historie. Po jejím rozkliknutí dostanete obrazovku, která odpovídá screenschotu:
Možná, že uvidíte i jiné složky, to bude záležet na aktivitě autorů a době, která uběhla mezi časem, kdy píšeme tento návod a dobou, kdy vy uvedené funkce prohlížíte.
Pod názvem "Historie" vidíme dva možné výběry:
Abyste se nemíchali do již vytvočených dotazů, doporučujeme vám nejprve si vytvořit svoji vlastní složku, ve které budete vytvářet své vlastní dotazy. Tím zajistíte, že nebudete rušit druhé a oni nebudou rušit vás. Navíc máte jistotu, že tuto vaši složku vám nikdo, kromě roota nesmaže. Kdybyste použili složku nějakého vašeho kamaráda, nemůžete si být jisti zda nepřehlédne přítomnost nějakého vašeho speciálního dotazu a složku náhodou smaže zároveň s vnaším jedinečným dotazem. Root bude jednou za čas mazat jen složky, které nebudou obsahovat podstatná data, nebo složky do kterých nebylo delší dobu nahlédnuto. Konec konců jste na zkušebním serveru a věříme, že většina návštěvníků po sobě uklidí stejně, jako když ve škole po sobě student smažetabuli.
Po rozkliknutí Vytvořit složkudostanete obrazovku, kde jste povinni zapsat do příslušné kolonky zvolený název složky.
Doporučujeme volte jasný a srozumitelný text, nebo část vašeho jména, ať je jasné čemu či komu složka náleží. Jestliže vás nic jiného nenapadne, zvolte jméno například nějaké milované bytosti. Jestliže jste zvolili za jméno složky Kája Mařík pak po odkliknutí tlačítka "Vytvořit složku" se ihned dostanete do nitra této složky a vidíte následující obrazovku.
Konečně se dostáváme k tomu, abychom ukázali jak se dotaz tvoří. Klikneme tedy na knoflík Vytvořit dotaz. Obrazovka se změní a dostane tvar, jaký je zchycen na screenschotu:
Obrazovka je rozdělena na dvě části. V levém poměrně úzkém pruhu jsou uloženy informace, které tabulky máme k dispozici a jaké mají sloupce. Pravá širší část je určena pro zápis názvů jmen tabulek, které budeme ve vytvářeném dotazu skutečně potřebovat a k stanovení vzájemných vazeb mezi nimi. Jak se lehce přesvědčíme posunutím pravé lišty dolů, máme k dispozici 7 řádků pro ukládání názvů tabulek. Tento prostor pak pokračuje dalšími 20 řádky, jiného tvaru a zbarvení, kam se zapisují veličiny, které chceme zobrazovat a podmínky na ně kladené.
Našim prvním cílem je vytvořit triviální dotaz, který poskytne vybrané údaje z jedné jediné tabulky. Do řádku "Jméno dotazu" napíšete nějaký vhodný název např. "Zkouška zobrazení". Maccessu musíme dát také jasně na vědomí, kterou z tabulek chceme používat. Jsestliže se od doby pořízení screenschotu nic nezměnilo, máte tam jen jedinou tabulku "Panovnici", tedy tu co potřebujete. Nicméně to je jen informace, že tato tabulka existuje ve složce Historie. Abyste ji mohli použít v dotazu, musíte tuto informaci předat do dotazu. Proto s pomocí myši najedeme na název tabulky Panovníci v levé části obrazovky, název prosvětlíme a tahem myši, při stisknutém levém tlačítku myši, přesuneme do prvního řádku právé části. Jednoduše tak, jak je to vyznačeno na následujícím screenschotu. Vidíme, že jsme nepřenesli jen samotný název tabulky ale i odkaz názvu databaze tedy celkem "Historie.Panovnici". Díky programovému vybavení verze Maccess 1.9 je tato metoda "drag and drop" v případě prohlížeče Mozzilla velmi výhodná. Nemáte-li myš nebo pracujete v textovém prohlížeči, pak název tabulky do příslušné kolonky přesně opíšete.
Mimo tuto přírušku uživatele je vám při tvorbě dotazu kdykoliv k dispozici i help, který se otevře po kliknutí na zeleném otazníku pod logem tučňáka. V helpu je uvedena řada dostupných příkazů.
Pomocí pravé lišty se přsuneme na spodní část vyplňovacího formuláře. V levé časti obrazovky vidíte pod názvem tabulky Panovnícijména jejich jednotlivých sloupců, které dávají tušit co se za nimi skrývá. Zkusíme proto obdobně jako v předchozím případě metodou "drag and drop" přetáhnout do řádků na pravé straně názvy sloupců "jmeno", "rodove" a "vladlod" ,tak jak to ukazuje následující screenschott. Do sloupce, kteý je uvozován slovem "jako" napíšeme pěkně česky nezkratkovité názvy sloupců, do sloubce "zobr." vyznačíme sloupce, které chceme zviditelnit, ve sloupci řadit můžeme vybrat příslušný řádek podle kterého chceme řádky setřídit, a v sloupci podmínka můžeme zvolit podmínku co chceme zobrazit. V našem případě jsme volili zobrazení vládců, kteří začali vládnout po roce 1800.
Pro jistotu ještě sjedeme na spodní část tabulky, kde uvidíme ještě další možnosti voleb:
Pro náš jednoduchý příklad nemá možnost dalších voleb žádný smysl. Můžeme tedy přikročit k zobrazení dotazu. Protože je to náš první dotaz v Maccessu tak no nejprve uložíme. K tomu se přesuneme do horní části stránky, kde v padacím menu nad knoflíkem "Uložit jako" vybereme žluté podbarvení a pak klikneme na "Uložit". Neudělali-li jsme nějakou chyby, ihned po odkliknutí se zobrazí příslušná složka s naším dotazem. Za názvem dotazu následuje vaše přihlašovací jméno. V závorce uvedené slova upravit a smazat dávají naději, že dotaz můžete v budoucnosti upravovat nebo i smazat.
Nyní stačí jen kliknout na názvu "Zkouška zobrazení" a dostanete výsledek:
Díky našemu dlouholetému mocnáři Františku Josefovi přibyli oproti úvodnímu screenschotu jen dva nově nastoupivší panovníci. Vyzkoušejte také další vlastnosti Maccessu. Najeďte myší na slovo "Panovník" a klikněte levým tlačítkem myši. Řádky se přeskládají tak, že panovníci jsou podle abecedy. Klikněte ještě jednou a budou v opačném pořadí. Najeďte do určitého řádku a klikněte. Řádek změní barvu a bude žlutý. Pak najeďte na jiné řádky, přidržte Alt a klikněte a řádek bude červený. Klikněte na tabulce pravým tlačítkem myši a objeví se vám filtrovací nabídka,ze které můžete vybrat zobrazení jen červených nebo jen nebarevných řádků atp. Tímto způsobem můžete tabulce dát nový vzhled. Další zajímavou vlastností je "speciální nastavení", pomocí kterého můžete některé sloupešky skrýt, jiné zvýraznit tučným písmem či užít jiný styl zobrazení. Jestliže zvolenné speciální nastavení uložíte, pak vždy při následném otevření dotazu dostanete výsledek dle tohoto uložení.
Dále vám doporučujeme projít všechny existující dotazy ve složce historie a pomocí odkazu "upravit" analyzovat i jejich vytvoření. Vytvořené dotazy se vám nepodaří uložit pomocí knoflíku "Uložit", protože nejste jejich autoři. Můžete je ale uložit s jiným nebo i stejným názvem pomocí knoflíku "Uložit jako". S využitím padacího menu "Ukládat do složky" můžete také vyrvořený dotaz přesunout do jiné složky.
Vazbu mezi více tabulkami ukážeme na příkladu dvou tabulek ve složce MyCompany. První tabulka "Zamestnanci" obsahuje základní údaje o zaměstnancích podniku, druhá tabulka o jejich funkcích tedy o tom, která funkce byla kdy zaměstnanci přidělena. V obou tabulkách jsou vždy dva primární klíče a to osobní číslo a platnost od. Ve složce MyCompany nalezneme některé dotazy, ale my zkusíme vytvořit dotaz nový v naší složce "Kája Mařík", která je ve vyšší složce "Historie". Poté co zadáme "Vytvořit dotaz" nám najede známý formulář. Za název dotazu zvolíme třeba "Zaměstnanci a jejich funkce". V levé části obrazovky, kde jsou názvy tabulek ale nemáme ty, které potřebujeme. Proto najedeme do levé části a klikneme na "Tabulka".
V levé části obrazovky se nám zobrazí všechny databáze a tabulky, které jsou k dispozici. V nich zatrhneme v databázi "Zamestnanci" požadované tabulky "Zamestnanci" a "Zamestnanci_funkce". Pak najedeme na dolní tlačítko v levé části obrazovky a klikneme na "Zobraz vybrané tabulky".
Tím dojde ke změně v levé části obrazovky, kde se vybrané tabulky zobrazí. Názvy obou tabulek přetáhneme do dvou po sobě jdoucích řádků , které jsou nadepsány slovem "Tabulka". Mezi těmito řádky je uveden název spojení
vše|---- jen vnitřní spojení ----|vše
po kliknutí na tomto textu vybereme radějivše|---- levé vnější spojení ---->vše
Tím zajišťujeme, že se nebudou spojovat pouze data, která jsou jak v tabulce "Zamestnanci" tak i v tabulce "Zamestnanci_funkce", ale že rozhodující je tabulka "Zamestnanci" a budou se zobrazena data této tabulky i když nebudou mít partnera v tabulce "Zamestnanci_funkce". Do druhé části tabulky postupně zapíšeme (přetažením) jednotlivé entity a uvedeme podmínky zobrazení podle následujícího screenschotu. Uvědomme si, že pracujeme s tabulkami, kde velkou roli hraje datum paltnosti (platod a platdo jsou časové údaje od kdy a do kdy co platí). Je tedy nutné vybrat údaje, ze dne který nás zajímá. Funkcí curdate() jsme vybrali datum dne, kdy uživatel bude funkci spouštět.
Význam případně nejasných funkcí najdeme v helpu (zelený otazník).
Navržený dotaz nyní uložíme kliknutím na "Ulož". Tak dostaneme obrazovku:
K vysvětlení grupovacího dotazu užijeme příklad z předchozího dotazu "Zaměstnanci a jejich funkce". Chceme položit dotaz, který by nám dal odpověď na otázku kolik pracovníků pracuje v jednotlivých funkcích. Po kliknutí na slově "upravit" se nám otevře prostor pro úpravu a změnu funkce. Název přepíšeme na "Počet zaměstanců v jednotlivých funkcích". Typ dotazu změníme na "souhrný". Výběr tabulek a jejich vazbu ponecháme beze změny.
Ve spodní tabulce se nám objevil nový sloupec, kde v jednotlivých řádcích máme možnost volit grupování či na ně navázaní funkce. V této jednoduché ukázce budeme grupovat podle funkce pracovníka. V případě použití funkce grup, musí být sloupec jedinečně pojmenován. Pro toto pojmenování jsme použili slovo "funkce" a zapsali jsme ho do sloupce "jako". Protože nás zajímá kolik pracovníků v jednotlivých funkcí pracuje, použijeme u osobního čísla zaměstnance (oc) funkci pro sčítání count. Podmínky pro data platnosti musí zůstat zachovány. Odstraníme také požadavky na zobrazení některých sloupců. Celkový vzhled tak nabude následující podoby:
Vedle obvyklé možnosti "upravit" nám u grupovacího dotazu přibyla další možnost "upravit ungroup". Tuto možnost můžeme ale také nemusíme využít. Jestliže klikneme na našem novém dotazu dostaneme požadovaný výsledek:
Jestliže chceme vědět, kteří pracovníci jsou třeba ti obráběči kovů, pak kliknutím na označenou složku dostaneme.
Zobrazené odgrupování je poněkud nepřehledné a snad nás tolik údajů ani nezajímá. Proto je vhodné nadefinovat ungrup jinak. Toho dosáhneme tak, že dle předcházejícího screenschotu klikneme na "upravit ungroup" a dostaneme výchozí podobu toho jak je ungroup vytvořen:
Vidíme, že do dotazu ungroup se přenesly všechny tabulky a jejich propojení beze změny. Pro zobrazení je vybráno vše, což reprezentuje znak * . V dolní části tabulky pak máme přeneseny podmínky. Podmínka ="[funkce:]" vyjadřuje, že se přenáší část dotazu podle složky na které klikneme. Chceme-li, aby po rozklepnutí složky u určitého pracovníka zobrazilo jen jeho jméno a příjmení, pak místo znaku hvězdička zapíšeme:
Uvedenou variantu ungroupu uložíme prostřednictvím knoflíku "Uložit", čímž zajistíme přepsání původního automaticky vytvářeného zadání našim novým. Po novém zpuštění dotazu "Zaměstnanci a jejich funkce" dostaneme naprosto stejný výsledek jako jsme již dostali, ale po kliknutí na složce u obráběči kovů dostaneme náš nový ungroup.
Využívání ungroup může mít velký význam. Zdůrazňujeme, že se jedná o samostatný dotaz, který můžeme upravit zcela libovolně, včetně dodání nových tabulek a vazeb na ně.
Další významnou vlastností prostředí Maccess je schopnost efektivně využívat řazení xml. K vysvětlení použití vyjdeme z našeho dotazu "Zaměstnanci a jejich funkce". Po rozklepnutí "upravit" přepíšeme název dotazu na "Zaměstnanci a jejich funkce (řazení xml)", abychom ho později mohli pomocí "Uložit jako" uložit.
Tabulky a jejich vazby ponecháme beze změny. Požadavky na zobrazení a podmínky zobrazení napíšeme tak jak je uvedeno na screenschotu:
Všimněte si, že u funkce_nazev jsme z nabízeného menu "Řadit" vybrali "xml group" a pro stanovení počtu dni v zaměstnání jsme použili funkci TO_DAYS(curdate())-TO_DAYS(Zamestnanci_funkce.platod). Znovu odkazujeme na užitečný help - zelený otazník. Po uložení navrženého dotazu a po jeho zpuštění dostaneme v den psaní této příručky obrazovku:
A nyní, když jsme se již naučili základy práce s databázovým rozhraním Maccess, se můžeme pustit do četby tabulky "Panovnici" třeba v následujícím XML grupovacím zobrazení.