Hlavní navigace

Linuxová kancelář a správci databází

16. 11. 2008
Doba čtení: 5 minut

Sdílet

Ve chvíli, kdy dojde na kancelářské programy, jistá skupina lidí se neobejde bez těch, které by jim pomohly lépe zacházet s větším množstvím dat. Někteří se uchýlí k tabulkovému procesoru, v určité chvíli to však už není možné, protože to přestává být únosné a pohodlné. Pak přicházejí pomoci databázoví správci.

Pod pojmem větší množství dat obvykle rozumíme strukturu, která čítá několik desítek tisíc řádků. Na každém řádku pak ukládáme několik jednotlivých údajů. Představte si třeba sklad náhradních dílů, kde evidujete jednotlivé řádky neboli položky a u každé položky pak evidujete např. její jméno, popis nebo umístění ve skladu. Určitě pak budete chtít v této struktuře vyhledávat, tisknout sestavy pro např. inventuru nebo jen obyčejný ceník pro zákazníky. V domácím prostředí si představte třeba katalog hudebních CD nebo DVD. Pokud je vaše sbírka obsáhlá a množství sledovaných údajů velké, můžete k tomu využít databázové správce také.

Synonymem pro programy tohoto typu je dnes nejspíše Microsoft Access. Jedná se o program z balíku Microsoft Office. Často uslyšíte, že jej skalní programátoři nepoužívají a volí raději jiné produkty. V podnikové sféře se však používá hodně a díky tomu se stal standardem. Tento program přišel totiž s tím, že i relativně méně zkušeným uživatelům bez patřičného programátorského pozadí jednoduše umožní vytvářet i docela rozsáhlé aplikace s velmi pokročilými funkcemi. Podstatnou část prvků rozhraní si můžete doslova „naklikat“ a využít předpřipravené moduly.

Microsoft Access však rozhodně není prvním produktem svého druhu. Již na konci šedesátých let byly k dispozici systémy, které označujeme jako DBMS (Database Management System – systémy pro správu databází). Počítače byly samozřejmě nasazovány na správu dat a databáze informací byly v kurz vždy. Nemá smysl se moc rozepisovat o prvních programech, zaměřme se spíše na legendy. Také záměrně nezmiňuji žádnou teorii a příklady implementací databází, neboť je to nad rámec tohoto začátečnického článku (pro zájemce – zkuste např. SQL a další implementace v podobě MySQL, PostgreSQL a např. Firebird).

Pro spoustu lidí je prvním masověji rozšířeným DBMS ten, který se jmenuje dBase. Na trh jej uvedla firma Ashton-Tate. Jednalo se o systém, který fungoval na systémech s operačním systémem MS-DOS a na počátku devadesátých let jste se s ním mohli setkat opravdu všude. V roce 1991 byl Ashton-Tate zakoupen společností Borland. To že o tomto systému dnes skoro nic nevíte je způsobeno tím, že výrobce úplně nezvládl příchod Microsoft Windows a jeho tržní podíl převzali jiní. Nicméně s formátem souborů dbf (které jsou výchozími tohoto DBMS) se lze setkat celkem běžně a stal se synonymem pro ukládání jednoduše strukturovaných dat.

Další legendou je FoxPro. Objevil se později, ale v devadesátých letech dominoval. Přišel s mnoha revolučními prvky (např. indexové soubory, které výrazně optimalizovaly práci s daty v databázi či celkem povedené textové grafické rozhraní) a od původního tvůrce jej nakonec odkoupil i samotný Microsoft, který produkt přejmenoval a plně převedl do Microsoft Windows. Paralelně s teď již Microsoft Visual FoxPro však existoval i Microsoft Access.

Pokud se začneme bavit o alternativních produktech, které mohou nahradit Microsoft Access, skončíme patrně u dvou projektů, které bych začátečníkům s klidným srdcem mohl doporučit. První z nich je součástí kancelářského balíku KOffice a jmenuje se Kexi. Jedná se o velmi povedený projekt, který je opravdovou alternativou k Microsoft Accessu. Můžeme jej označit jako tzv. RAD (z angličtiny Rapid Application Development – rychlý vývoj aplikace) a pohodlné používání z něj docela čiší. Uživatel tak může celkem snadno vytvářet tabulky s daty, nad kterými může vytvářet formuláře či obrazovky, které budou zobrazovat data z tabulek. Následně můžete nad tabulkami spouštět tzv. dotazy, které z vašich dat vytvoří nové datové sestavy, použitelné ve vaší aplikaci. K jejich provozu navíc nepotřebujete specializovaný databázový server (i když i ten umí Kexi používat), data jsou ukládána přímo do souboru na disk. Je k tomu využíván databázový stroj SQLite.

Vše je samozřejmě podřízeno tomu, aby bylo možno co nejvíce prvků a vlastností nastavovat vizuálně pomocí myši, což je pro uživatele velmi příjemné. Zároveň je však zachována možnost plného přístupu ke zdrojové části, kterou můžete využívat jako zdatný programátor. Tvorba jednoduchých aplikací je tak otázkou několika minut, rozsáhlé projekty lze samozřejmě vytvářet také. Protože je Kexi svobodným projektem, je jasné, že využívá velké množství otevřených řešení od podporovaných skriptovacích jazyků až po formáty načítaných a ukládaných souborů. Navíc disponuje i možností otevírat soubory mdb, což jsou databáze vytvořené v Microsoft Accessu. Přímo v Kexi je zabudována podpora pro vícejazyčné aplikace. Z pohledu pokročilého programátora pak trochu zamrzí množství podporovaných databázových strojů, když není zatím k dispozici podpora tzv. ODBC. V porovnání s Microsoft Accessem není Kexi tak bohatý na funkce, je to dáno především dobou vývoje. Pokud se rozhodnete používat Kexi, nezáleží, zda jste začátečník nebo pokročilý, Kexi svému účelu vyhovuje velmi dobře a je účelně navržen.

Druhým hráčem na poli alternativ je OpenOffice.org Base. Záměrně jej uvádím až na druhém místě. Jeho historie sahá do října roku 2005, kdy byla uvedena verze 2.0 celého balíku OpenOffice.org. Jednou z největších novinek byl právě tento modul. Je vyvíjen v Javě a jeho velkým vzorem je samozřejmě Microsoft Access. Stejně jako Kexi podporuje ukládání databází do souboru, tvůrci se k tomu rozhodli využít HSQLDB. Navíc má oproti Kexi podporu ODBC a pak opět MySQL a PostgreSQL. ODBC podpora pak přidává další a další možnosti v napojení na všemožné databáze. Protože je však projekt poměrně mladý, trpí mnoha nedostatky a nedodělky, které vás mohou v některých chvílích limitovat. Verze od verze je však produkt stabilnější a funkčně úplnější. Základní věci ovšem fungují (tj. vytváření tabulek, formulářů, obrazovek či dotazů) a bez hlubších znalostí můžete vytvářet podobné aplikace jako třeba v Kexi. Samozřejmostí je integrace do balíku OpenOffice.org a tak mohou všechny moduly využívat databáze v OpenOffice.org Base vytvořené. Když začnete procházet dostupné funkce, zjistíte, že se Kexi podobá a je tedy vhodnou alternativou i k Microsoft Accessu. Osobně se mi však (v tuto chvíli) více zamlouvá Kexi, i když vývoj OpenOffice.org Base samozřejmě probíhá.

root_podpora

Oba projekty mají samozřejmě oproti MS Accessu výhodu ve více podporovaných platformách, své otevřenosti a především nulové ceně. Stojí za to jeden z projektů nainstalovat a vyzkoušet v něm zpracovat svou vlastní databázi. Jen tak zjistíte, zda vašim potřebám postačuje, či zda se alternativní programy nevyplatí. Pod Linuxem vám samozřejmě nic jiného nezbývá. Microsoft Access samozřejmě vítězí množstvím dostupného materiálu ať už studijního, příkladového nebo dokumentačního. Uživatelská základna je samozřejmě mnohem širší. Na druhou stranu nebudete při použití alternativ tolik limitováni, jak by se na první pohled mohlo zdát. Microsoft Access si s sebou bere zátěž z minulosti, alternativy jsou naprogramovány s ohledem na modernější počítače a za použití modernějších postupů.

Sluší se ještě zmínit i další projekty. Zkuste se podívat na projekt Knoda, Datakiosk nebo Rekall. Jedná se však spíše jen programy nabízející možnost vytvořit uživatelské rozhraní nad v systému nainstalovanými databázovými servery – sami totiž žádné neobsahují. Tím se od dvou prvně jmenovaných liší.

Byl pro vás článek přínosný?

Autor článku

Pracuje na pozici IT architekta pro firmu zabývající se zpracováním ropy a výrobou produktů z ní. Navrhuje rozličná řešení a jejich integraci do firemní infrastruktury na základě firemních standardů bezpečnosti nebo plánů obnovy.