Umíme to s Delphi: 89. díl – databáze Interbase: úvod a instalace

V minulých dílech seriálu jsme se zabývali databázemi realizovanými pomocí Borland Database Engine. Dnes se dostáváme k progresivnější platformě – k databázi InterBase (resp. Firevird). Obsahem článku je podrobný popis těchto databázových platforem a základní informace k jejich využití při programování v Delphi. Společně provedeme také instalaci a konfiguraci Interbase serveru.

Před týdnem jsme prozatím dokončili velké databázové téma týkající se technologie Borland Database Engine. Ukázali jsme si řadu činností, které s BDE můžeme provádět, naučili jsme se instalovat a šířit BDE aplikace, dokážeme si poradit s několika nejčastějšími nástrahami, které nám tato platforma (zůstaňme spíše u označení „technologie“) přináší. Nyní nadešel čas postoupit o krok dál.

Platforma Interbase je odnepaměti v Delphi velmi dobře podporována. Delphi disponují řadou komponent, které umožňují přímý přístup k databázím Interbase. Interbase poskytuje zase další možnosti oproti BDE a já věřím, že si tuto platformu oblíbíte.

Interbase/Firebird

Než začneme s popisem databázových aplikací v Delphi pomocí Interbase, resp. Firebird, stojí za to stručně uvést několik základních informací a historických souvislostí k těmto dvěma zajímavým platformám.

Firma Borland se k databázové platformě Interbase dostala v roce 1991. Od toho okamžiku se Interbase stávala stále víc a víc známou; Borland ji totiž distribuoval společně s Delphi a postupně zdokonaloval její podporu. Borland ovšem čelil kritice za pomalé tempo tohoto zdokonalování a integrace Interbase do svého RAD obecně. Firma Borland se nakonec rozhodla uvolnit platformu Interbase pro open-source komunitu; stalo se tak 25.7.2000. Podpora Interbase je však v Delphi samozřejmě nadále zachována.

Platforma Firebird je open-source relační databázová platforma vzniklá na základě zdrojových kódů Interbase. Firebird zaručuje zpětnou kompatibilitu s Interbase, proto Delphi komponenty, které pracují s Interbase, můžeme používat i pro práci s Firebirdem.

Firebird je obecně zajímavou alternativou např. k MySQL, neboť je také volně dostupný, nabízí v podstatě všechny vlastnosti MySQL, ale navíc disponuje např. podporou vnořených dotazů nebo transakcí. Nevýhodou Firebirdu je dosud jeho horší podpora, např. skriptovací jazyk PHP disponuje ohromným množstvím funkcí pro MySQL, ale jen zhruba dvacítkou funkcí pracujících s Firebirdem.

Zajímají-li vás podrobnosti o platformách Interbase nebo Firebird, doporučuji navštívit http://www.borland.com/interbase/ a www.firebirdsql.com.

Jak používat Interbase/Firebird?

Především: práce v Delphi (na naší úrovni) se pro obě platformy nikterak neliší, takže bude-li kdekoliv v následujícím textu uvedeno „Firebird“, můžete si tam ekvivalentně dosadit „Interbase“ a naopak.

Řada aplikací, které vytváříme v Delphi pro Interbase, začínají tak, že zákazník/zadavatel řekne: „používáme Interbase a chtěli bychom novou front-endovou aplikaci, pokud možno v Delphi, pomocí níž bychom chtěli…“. V tomto případě by se zdálo, že si nemusíme lámat hlavu s instalací platformy Interbase, protože zákazník ji má již v provozu. V každém případě je ale nutné, abychom Interbase „rozběhali“ alespoň na svých vývojových počítačích. Proto si nejprve uvedeme, jakým způsobem Interbase nainstalovat a rozchodit.

Instalace Interbase/Firebird

Vzhledem k tomu, že Borland dodává Interbase s Delphi, není problém s instalací. Možná jste dokonce Interbase již nainstalovali v rámci instalace Delphi. Pokud ne, stačí vzít instalační CD Delphi a z automaticky spuštěné nabídky (Autorun) zvolit příslušnou položku. Pokud vám instalační program nabídne možnosti „Interbase Server“ a „Interbase Desktop Edition“, doporučuji zvolit druhou z nich, neboť kromě serveru dojde k nainstalování i dalších nástrojů.

Projdeme nyní společně instalačním procesem. Následující text se bude týkat produktu Interbase 6.5 Desktop Edition, který se dodává s Delphi 7. U ostatních (starších) verzí však nebude postup příliš odlišný.

Po zahájení instalace, po potvrzení úvodní instalační obrazovky (Next) a po odsouhlasení licenčního ujednání (Yes) si můžete přečíst zobrazené důležité poznámky. Po přečtení klepněte na Next a instalace může začít.

Pokud se  vám nyní instalace odmítne spustit a zobrazí se chybové hlášení (viz obrázek), znamená to s největší pravděpodobností, že na vašem počítači je již server Interbase instalován a dokonce běží. Možná jste jej nainstalovali nevědomky společně s Delphi, možná jste třeba instalovali Firebird, možná jste však pouze instalovali nějakou aplikace, která již Interbase používá a která vyžadovala instalaci databázového serveru. Důvodů může být řada, na vás nyní je, jak se k situaci postavíte.

Klepněte pro větší obrázek

První možnost, kterou bych asi zkusil nejdříve, je přerušit instalační proces a tvářit se, že je vše v pořádku (a že Interbase skutečně běží). Je to také nejpravděpodobnější varianta. Pokud později (při vytváření aplikace používající Interbase) narazíte na problémy, je pravděpodobně ve vaší instalaci Interbase nějaká chyba. Potom by bylo nutné nainstalovat server znovu.

Pokud byste z nějakého důvodu chtěli instalovat server znovu i přes to, že vám již v počítači cosi (tvářící se jako Interbase server) běží, povím vám, jak na to. Následující odstavec mohou tedy přeskočit všichni čtenáři,

  • kteří dosud server Interbase nemají instalován (nezobrazila se jim chybová hláška z předchozího obrázku), nebo
  • kteří sice instalaci Interbase již mají, ale nehodlají si vynutit novou instalaci za každou cenu (budou používat svůj stávající server).

Podmínkou je ukončení běžící služby IBGuard (Interbase Guardian Service, příp. Firebird Guardian Service). Zobrazte si tedy seznam služeb (v závislosti na verzi Windows se postup mírně liší, např. ve Win 2000 zvolte postupně Start – Ovládací panely – Nástroje pro správu – Služby) a nalezněte v seznamu služeb Firebird Guardian Server (příp. Interbase Guardian Service). Ve sloupci „Stav“ vidíte pravděpodobně „Spuštěno“, klepněte tedy na službu pravým tlačítkem a zvolte „Zastavit“. Nápis „Spuštěno musí zmizet“, viz následující obrázek:

Klepněte pro větší obrázek

Nyní je možné pokračovat v instalaci. Klepněte tedy na Next a zvolte umístění, do něhož má býti Interbase nainstalován.

Po dalším klepnutí na Next se zobrazí seznam komponent, z nichž je nutné vybrat požadovanou instalaci. Doporučuji zvolit z rozbalovacího seznamu položku „Typical Installation“ (viz následující obrázek), případně můžete ze studijních důvodů přidat instalaci příkladů (Examples).

Klepněte pro větší obrázek

Klepněte na Next, zadejte umístění ve Start menu, klepněte na Next, zkontrolujte všechny údaje a tlačítkem Install proveďte instalaci. Pokud by se náhodou stalo, že v průběhu instalace bude hlášena chyba při konfiguraci služby Interbase Guardian Service, klepněte na Ignorovat (jedná se pouze o singulární případy popsané výše).

Po skončení instalace klepněte na Finish – jsme hotovi.

Tvorba databáze

Nyní máme instalován Interbase server a nic nám nebrání ve vytvoření první aplikace. Skutečně nic? Tak jednoduché to zase nebude: abychom mohli vytvořit aplikaci pracující s databází, musíme nejprve mít příslušnou databázi.

Předpokládejme, že nic takového zatím nemáme. V praxi se občas stane, že databázi dostaneme již k dispozici, ale velmi často je součástí zadání i návrh a vytvoření databáze. Následující odstavce ukáží, jak na to.

Tím, že jsme nainstalovali server Interbase i s dalšími nástroji, získali jsme výbornou aplikaci sloužící právě ke správě databází Interbase: nástroj IBConsole. Rád bych podotkl, že pro správu databází Interbase existuje celá řada nástrojů, z nichž mnohé jsou velmi kvalitní (např. IBExpert). Kromě toho nacházíme i mnohé webové administrační nástroje (např. Interbase WebAdmin). S každým z nich můžeme poměrně komfortně a snadno pracovat s databázemi Interbase/Firebird.

My však zůstaneme u nástroje, který se nainstaloval společně se serverem Interbase, tedy s nástrojem IBConsole. Naleznete jej v nabídce Start v umístění, které jste zvolili v předchozí instalaci.

Spusťte tedy IBConsole. Zpočátku je nástroj „prázdný“ (viz obrázek), neobsahuje žádné servery ani databáze a předtím, než jej můžeme začít plnohodnotně využívat, je nutné provést několik jednoduchých konfiguračních kroků.

Klepněte pro větší obrázek

Nejprve je nutné zaregistrovat databázový server. Budeme samozřejmě registrovat přesně ten server, který jsme právě nainstalovali. Zvolte z hlavní nabídky Server – Register... Otevře se dialog, v němž nastavte údaje takto:

  • Server Information: Local Server
  • Description: libovolný popis, můžete ponechat i prázdné
  • Save Alias Information: nechte beze změny zatržené
  • Login Information: User Name „SYSDBA“, Password: „masterkey“

Přihlašovací údaje SYSDBA / masterkey jsou standardními přednastavenými hodnotami všech Interbase/Firebird databází; uživatel SYSDBA je uživatel s nejvyššími právy, který může se serverem dělat v podstatě cokoliv. V praxi se doporučuje ihned po instalaci vytvořit nové uživatelské účty a především změnit heslo uživatele SYSDBA. Tím se ovšem nemusíme zdržovat, proto v celé další práci budeme k Interbase databázím přistupovat přes uživatelské jméno SYSDBA (nezapomeňte psát všechna písmena velká) a heslo masterkey (všechna písmena pro změnu malá).

Klepněte pro větší obrázek

Klepněte na OK. Server je nyní přidán, není však dosud aktivován (nejsme k němu přihlášeni). Klepněte na nově vytvořený název serveru (Local Server) pravým tlačítkem a z nabídky vyberte Login... (případně server označte myší a z menu vyberte Server – Login...).

V otevřeném dialogu zadejte heslo masterkey a potvrďte klávesou Enter. Zelené zatržítko označuje úspěšné připojení k serveru. Nyní můžete klepnout na tlačítko „+“, které se objevuje vedle názvu serveru. Zobrazí se možnosti, které lze se serverem provádět. Klepněte například pravým tlačítkem na „Databases“ a zvolte „Create Database“. Otevře se dialog pro zadání údajů nové databáze.

V otevřeném dialogu můžete například změnit kódování (Default Character Set) na WIN1250, aby byla bezproblémová čeština. Kromě toho zvolte nový databázový alias, v našem příkladu napíšeme třeba „Platy“.

Nutné je také nastavení cesty k databázovému souboru, proto do položky Files zadejte nějaký dostupný adresář a soubor, v němž chcete databázi uchovávat. Rád bych podotkl dvě maličkosti:

  • Databázové soubory platforem Interbase a Firebird mají implicitně přípony GDB. Nemáte-li žádný dobrý důvod tuto zvyklost nerespektovat, zadejte právě příponu GDB. Ne že by soubory s jinými příponami odmítaly fungovat, ale řada nástrojů Interbase (včetně samotného Delphi) je připravena tak, že očekávají databázové soubory GDB a v případě jiných přípon se mohou vyskytnout jisté problémy.
  • Na rozdíl od databází BDE, s nimiž jsme pracovali dosud, je celá databáze v Interbase uložena v jediném souboru, a to bez ohledu na to, kolik tabulek tato databáze má. Nyní nás to jistě nepřekvapí, ale později, až budeme definovat nové databázové tabulky, bychom marně hledali nově vznikající soubory na disku. Pokud vytvoříme databázi „Platy.gdb“, budou všechny tabulky a veškerá data uložena právě v tomto souboru. To může vést k myšlence snadné přenositelnosti této databáze (prostě tento soubor zkopírujete a přenesete jinam). Tento postup se však nedoporučuje, neboť může vést k tzv. přetržení databáze.

Dialog (viz obrázek) potvrďte, tím vytvoříte novou databázi.

Klepněte pro větší obrázek

Databáze je nyní sice vytvořena, ale rád bych připomněl, že vytvoření databáze je něco trochu jiného než vytvoření databázových (datových) tabulek. Následující srovnání je zcela nepřesné, nicméně použiji jej pro ilustraci toho, jak daleko nyní jsme: vytvoření databáze v Interbase je cosi jako registrace databázového aliasu v BDE. Při práci s BDE jsme následně museli vytvářet jednotlivé tabulky s daty (např. pomocí Database Desktop), nyní budeme muset dělat totéž – jen zůstaneme v prostředí IBConsole.

Tabulky však nebudeme vytvářet dnes. Myslím, že ideální doba bude za týden: v příštím dílu seriálu tímto úkolem začneme.

Na závěr

Dnešní díl byl zaměřen na úvodní seznámení s platformou Interbase, resp. Firebird. Pověděli jsme si, jak tyto platformy vznikli, společně jsme nainstalovali databázový server, spustili a nakonfigurovali administrační nástroj IBConsole a vytvořili databázi PLATY.GDB.

Za týden budeme pokračovat: v rámci databáze Platy vytvoříme několik málo tabulek a naplníme je daty. Následně se již budeme moci bez obav pustit v Delphi do vytváření aplikace pracující s databází Interbase.

Diskuze (9) Další článek: HP notebook za 12 000 Kč zatím v Thajsku, brzy u nás

Témata článku: Software, Programování, Dialog, Finish, Login, Databáze, Guardian, Díl, Pomalé tempo, Následující aplikace, Next, Předchozí odstavec, Platforma, Popsaná kritika, Ohromná obrazovka, Delphi, Instalace

Určitě si přečtěte


Aktuální číslo časopisu Computer

Zachraňte nefunkční Windows

Jak nakupovat a prodávat kryptoměny

Otestovali jsme konvertibilní notebooky

Velký test 14 herních myší