GUI pro MySQL. Téma na několik článků. Dnes
proklepneme projekt Knoda.
21.7.2004 08:00 | Petr Zajíc | přečteno 11143×
Knoda je
zkratkou pro Knorr's Datebank a jak už název napovídá, vznikla v
Německu. Na oficiálních stránkách
tohoto projektu se především dozvíme, že probíhá aktivním vývojem (v
době psaní článku byla k dispozici verze 0.7-test3 z 15. června tohoto
roku). Taky se dozvíme, že to je "database frontend for KDE" a že je
licencována pod GNU/GPL. Je založena na projektu hk_classes od stejného
týmu autorů a zatímco hk_classes je skupina knihoven v C++, je Knoda
hotovou aplikací.
SUSE 9.1 obsahuje balíček s verzí 0.6.2a tohoto programu, Mandrake
10.0
jej v nabídce nemá. Já jsem však byl zvědavý na nejnovější verzi, proto
jsem si stáhl zdrojové soubory ze stránky projektu a přeložil.
Instalace mě lehce potrápila, nebyla to však úplně chyba programu.
Knoda totiž vyžaduje ony hk_classes, které se musejí přeložit a
nainstalovat předem. Hk_classes pro spolupráci s MySQL zase vyžadují
mysql-devel, který jsem bůhví proč neměl nainstalován. Jinak se vše
odehrávalo v duchu configure, make, make install, takže nemá smysl se o
tom déle rozepisovat. Samozřejmě, že pro SUSE se musí počítat s tím, že
configure je nutno spustit s parametrem --prefix=/opt/kde3. Na Mandraku
probíhala instalace úplně stejně, jen balíček pro vývoj pod MySQL se
nejmenuje mysql-devel, ale libmysql.
Po spuštění program vyvolá přihlašovací okno:
Bohužel nelze mít něco jako přihlašovací profily, takže pokud se
budete chtít hlásit k několika zdrojům dat, budete to při přihlašování
muset pokaždé vypisovat. Po přihlášení a výběru databáze je zobrazeno
hlavní okno, které vám nabídne možnost pracovat s tabulkami, dotazy,
formuláři a sestavami.
Definovat tabulku můžete pomocí jednoduchého rozhraní, které vypadá
následovně:
Tomuto rozhraní pro tvorbu tabulky bych
vytknul snad jen dvě věci: Jednak dovoluje zadat velikost pole typu
Autoincrement, aby jej vzápětí zcela igorovalo, a jednak se zde polím
typu varchar říká text. To může mást uživatele některých databází, kde
pole typu text je totéž co BLOB. Ale jsou to maličkosti, které se dají
přežít.
Rozhraní pro zadávání dat vypadá tímto
způsobem:
a na první pohled vypadá docela šmrncovně. Umí například jako
vstupní provek pole použít ComboBox, a to dokonce combo vázané na data
v jiném sloupci a/nebo tabulce. V tabulce lze třídit, vyhledávat a
filtrovat. Knodě budiž rovněž řečeno ke cti, že má možnost nastavit český formát data pro pole obsahující údaje o datu/čase. Ovšem stisknutí Delete mi ve většině případů nabídlo
odstranit nikoli buňku, ani řádek, ale hned celou tabulku (!). Jedná se
sice o testovací verzi, ale tohle mě opravdu dostalo. Stačila by malá
nepozornost a neštěstí je na světě.
K dotazům. Aplikace umí sestavovat a ukládat dotazy, dokonce i ve
vizuálním
režimu. Vypadá to takto:
a je to intuitivní, elegantní a poměrně
dopracované. Vadila mi zase pouze jedna maličkost - že pro každý zdroj
dat, byť by to byla tabulka a byť by tam byla poprvé, je vytvořen
alias. Takže pro tabulku lidi je vytvořen alias "lidi0" a tak dále.
Když se má s výsledným sql příkazem dál pracovat, tak je to zbytečně
složité.
Knoda se snadno instaluje a běží poměrně stabilně. Kromě MySQL se
může připojit prakticky k jakékoli jiné databází - nativně k MySQL a
PostgreSQL, pomocí UnixODBC prakticky k čemukoli, co obsahuje data.
Ovládání je poměrně přímočaré, ale ta věc s delete je MÓÓÓC záludná,
takže pozor, ať nepřijdete o svoje tabulky.
Z funkcí obsahuje ještě tvorby formulářů a sestav - ty poběží pouze
pokud budete mít k dispozici Python. Naokpak kromě možnosti změnit si
heslo zcela chybí příkazy pro administraci databáze (zčásti asi proto,
že se Knoda "umí" připojit k mnoha různým databázím). Ze závislostí
potřebuje kromě KDE ještě knihovnu hk_classes od téhož autora.
Abych byl upřímný - tak nějak jsem se nemohl ubránit dojmu, že
podobnost s MS Accessem je až příliš blízká. Ale k tomu, co jsme
vytýčili
- základní práce s MySQL v okenním režimu - určitě dobře poslouží.