Správci databázového stroje Interbase či Firebird velmi záhy zjistí, že součástí balení vlastně není nic, co by se dalo alespoň vzdáleně přirovnat k administračnímu nástroji. Pro seriózní práci proto musí použít produkty třetích stran, ze kterých zřejmě nejopěvovanějším je IBExpert.
Práce s IBExpertem je velmi jednoduchá a intuitivní. Na začátku je
potřeba každou databázi, se kterou chcete pracovat, zaregistrovat. To
spočívá kromě zadání hodnot potřebných k připojení jako je jméno,
heslo, znaková sada a další, v určení jména, pod kterým bude databáze
vystupovat v seznamu databází. Můžete takto mít např. i několik
připojení k jediné databázi pod různými uživatelskými jmény.
Po připojení k databázi je v databázovém stromě (viz obrázek) seznam
všech databázových objektů — tabulky, pohledy, uložené procedury apod.
a s každým objektem lze náležitě pracovat.
Nejzákladnějším databázovým objektem je tabulka. IBExpert nabízí
několik pohledů. Prvním z nich jsou informace o struktuře dat, datových
typech jednotlivých sloupců, integritní omezení a další. Představte si
situaci, kdy chcete např. přidat podmínku, která bude říkat, že hodnota
ve sloupci nesmí být NULL. Není nic jednoduššího, než poklepat na
sloupec, zaškrtnout odpovídající políčko a IBExpert vygeneruje
odpovídající skript, který vám ukáže a vy se sami rozhodnete, zda jej
necháte provést či nikoliv. Podobné věci lze samozřejmě provádět i pro
primární klíče, indexy a ostatní. Další vlastností je nejen
prohlížení, ale i editování uložených dat. Pro obojí je použita
datová mřížka či formulář, pro prohlížení navíc je možné vše
vytisknout nebo uložit do souborů různých formátů (pdf, rtf, …).
Pro každý objekt, u kterého to má význam, lze sledovat závislosti.
Pohled např. závisí na tabulkách, tabulky mohou záviset na dalších
tabulkách (díky cizím klíčům) a tak dále. Vše je umístěno
v přehledné tabulce a dablklikem se dostanete na zobrazený objekt. Podobně
je možné u objektů sledovat jejich zdrojový kód a není žádný problém
jej upravit a aktualizovat na serveru (např. lze takto upravit a znovu
přeložit uloženou proceduru).
U objektů, vracející datovou množinu (pohledy, uložené procedury a
tabulky, resp. výběr dat z nich) IBExpert dokáže zobrazit plán jejich
vykonání v přehledné stromové struktuře, ovšem co je velmi zajímavé
nejen pro administrátory, ale i pro databázové vývojáře, je analýza
výkonu daného příkazu. Představte si, že ladíte nějaký složitější
SELECT příkaz, který je značně pomalý. Kromě již uvedeného plánu je
dobré také zjišťovat, kolikrát SQL server přistoupí na disk např. kvůli
čtení na základě indexu. Na obrázku je vidět výstup, který napovídá,
že nejproblémovější může (ale nemusí, je nutné sledovat i již
zmíněný vykonávací plán) být tabulka s největším počtem přístupů
na disk.
Čím je administrátor zkušenější, tím má větší potřebu
zálohovat. IBExpert opět přichází na pomoc a velmi jednoduše dokáže
zazálohovat či obnovit databázi, to vše s podrobným výpisem průběhu
operace.
Zajímavou vlastností IBExperta je možnost vyhledávat v metadatech. Máte
hodně tabulek a nedokážete si vzpomenout, jak se přesně jmenuje ta, která
někde uprostřed jména má slovo BOOK? Nebo procedury, jejichž parametr se
jmenuje SURNAME? Není problém. IBExpert všechny relevantní objekty najde a
zobrazí. S metadaty lze ovšem nakládat i jinak. Např. vytvořit
inicializační skript pro všechny tabulky nebo pro celou databázi. Stačí si
vybrat objekty, které vás zajímají a během chvilky máte např.
vytvářecí skript pro jednotlivé pohledy.
Častou noční můrou databázových administrátorů je přidělování
práv na jednotlivé objekty. Manažer práv (Grant manager) se snaží tuto
činnost maximálně ulehčit. V pravém sloupci lze určit uživatele či
roli, které se práva budou udělovat či odebírat a na zbytku okna se
určují práva na jednotlivé objekty (viz obrázek). Stačí mít v ruce
pouze myš.
Potřebujete-li zadat SQL příkaz přímo, je k dispozici editor se
zvýrazněnou syntaxí, možností definic maker a nápověda v podobě seznamu
dostupných databázových objektů v podobě Code Insightu. Pokud ovšem SQL
není zrovna vaším koníčkem (pak se divím, že jste dočetli až sem),
IBExpert nabízí editor dotazů v podobě QBE (Query By Example), kde si dotaz
v podstatě „naklikáte“ myší.
Opravdová lahůdka přichází až na konec a tou je plnohodnotné datové
modelování. Ano, IBExpert, původem administrační nástroj, umožňuje
vytvářet datové modely. Kromě modelování nových relací a vztahů
můžete např. přetáhnout ze seznamu tabulek každou z nich a umístit ji do
modelu. Nebo si můžete nechat provést kompletní reverse engeneering. Vše
dle libosti.
Shrnutí
IBExpert je skvělý nástroj. Pro administrátora je nepostradatelný, pro
vývojáře velmi nápomocný. Pokud navíc vytváříte aplikace pouze nad
databázovými stroji Interbase či Firebird, nemusíte kupovat žádný CASE
nástroj, dostáváte vše v jednom. Nemohu jinak než doporučit.
Obrázky
|
|
Analýza výkonu dokáže odhalit spoustu nedokonalostí v dotazech, ale
i návrhu tabulek. |
|
|
Definování práv je klikací záležitost. |
Plusy, mínusy, závěr
Plusy
- Kvalitní nástroj
- Datové modelování
- Sledování závislostí
- Analýza výkonu příkazů
Mínusy
- Nic, co by stálo za zmínku.
Závěr
- Administrační nástroj pro databáze InterBase a FireBird.
Kontakt, cena
Tento článek byl napsán pro časopis Softwarové noviny 11/2002.
Upozornění: tento text neprošel redakční úpravou, takže je
tak, jak byl napsán včetně případných chyb. Žádná část tohoto
článku nesmí být použita bez předchozího souhlasu autora.
Seznam mých dalších článků je v tomto přehledu.