Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 1 - Derby DB - Informace, nastavení prostředí

Proč Apache Derby? Jedná se o velmi jednoduchou, řekl bych až triviální databázi. Je funkční, prakticky bez chyb a hlavně je zdarma. Tato databáze má výhodu, že v ní již neprobíhá bouřlivý vývoj a tudíž změny mezi jednotlivými verzemi, subverzemi, téměř nestojí za povšimnutí. To v případě požadování stabilního prostředí považuji za drastickou výhodu. V tomto online kurzu si předvedeme práci s touto jednoduchou databází a to jak z pohledu programátora (developera), tak i její administrování. Protože i vývojář si ji musí nastavit a zprovoznit. K úspěšnému používání je samozřejmě nutná základní znalost relačních databází, syntaxe SQL a pokročilé znalosti z Javy.

Derby je vždy součástí JDK Javy. Najít ji můžete ve svém adresáři instalovaného JDK, je to adresář db, v mém případě je cesta C:\Program Files\JavaJDK\db\ nebo si ji můžete stáhnout z webu Apache Derby DB. Pokud ji máte v JDK, pak v ní vidíte dva adresáře \bin a \lib . Adresář \bin obsahuje příkazy pro: spuštění a vypnutí databáze, spuštění konfiguračního příkazu ij, a také zde budou uloženy vaše databáze, až si je vyrobíte. Adresář \lib obsahuje externí *.jary, které se přidávají do CLASSPATH, pokud budete potřebovat objekty v nich obsažené. Pouze připomenu, že Derby DB obsažená v JDK není aktuální. Derby DB se vyskytuje pouze v JDK a nikoliv JRE. Pokud chcete pracovat s tou nejnovější, tak si ji vždy stáhněte s webu. Mimochodem, na jednom stroji lze mít spoustu Derby databází, ale jen jedna může mít nastavenou cestu DERBY_HOME a PATH.

Pokud se rozhodneme stáhnout si ji z webu a vybereme požadovanou verzi. Dole na stránce lze vidět i seznam chyb a příklady, opravy z daných chyb (bug fixes). Zde se dají stáhnout vcelku přehledné manuály , které budete v některých případech potřebovat. Samozřejmě jsem během psaní tohoto kurzu převzal dost informací z těchto manuálů. Adresář, kam si ji nahrajete (rozbalíte), je zcela libovolný, nicméně poté upravte cesty u DERBY_HOME a PATH. Derby je relační databází pouze pro jazyk Java. Derby DBMS (database management system) je přístupná přes JDBC konektor.

Pozn.: od verze Java 9 nebude Apache Derby součástí JDK.

Technické parametry Derby Databáze

Derby Databáze umožňuje funkčnost ve dvou režimech:

  • Plnohodnotný Databázový server: Jedná se o serverovou verzi běžící na vlastním JVM. K připojení je nutný nástroj ij nebo klient JDBC běžící na vlastních JVM. Připojování lze jak z localhostu, tak i ze sítě. Jako vlastní databázové servery běží i řada konkurentů, např. MySQL, MS-SQL, PostGRE SQL, apod..
  • Vestavěnou databázi (Embedded): Jedná se prakticky vložení databázového enginu do našeho projektu (programu). S danou databází pracujeme přes vytvořenou instanci. Což znamená, že různým Java programům můžete vložit vlastní databázi a nemusíte klíčová data ukládat do externích datových či konfiguračních souborů.

Takže co to vlastně ta Derby databáze je? Jedná se pouze o program databázového serveru, který se spustí. Pokud to přirovnám k Excelu, tak databázový server je něco jako samotný Excel. Databázový program umožňuje mít ve správě několik databází, stejně tak Excel může mít otevřeno více excelovských souborů. Z nich každá databáze disponuje tabulkami, stejně tak každý Excel soubor má lišty (záložky), což jsou taky tabulky.

Popis vlastnosti Parametry(limity)
Počet tabulek v dané databázi je roven maximu java.lang.Lon­g.MAX_VALUE tedy (263)-1
Počet indexů v každé tabulce 32767
Počet sloupců v každé tabulce 1012
Počet sloupců s indexovými klíči 16
Řádků v každé tabulce bez limitu
Velikost tabulky bez limitu - pozor, OS může mít limit na velikost souboru
Velikost řádku bez limitu - opětovně, limity OS na velikost souboru mohou mít vliv na velikost tabulky a řádku

Pokud si vyrobíme databázi s tabulkou nebo bez, daná databáze se objeví v adresáři ..\db\bin. Adresář se bude jmenovat stejně jako daná databáze. Daný adresář bude obsahovat adresáře a soubory.

  • \db\bin\jmeno databaze\log - tento adresář obsahuje soubory, které tvoří logy transakcí používané pro interní data v případě potřeby obnovení (neobsahuje logy v případě vzniku erroru, tzv. neprotokoluje chyby vzniklé při práci s databází).
  • \db\bin\jmeno databaze\seg0 - tento adresář obsahuje jeden soubor pro každou tabulku uživatelů, systémovou tabulku a index.
  • \db\bin\jmeno databaze\services.properties - tento textový soubor obsahuje informace s interními informacemi o nastaveních (konfiguraci) dané databáze.
  • \db\bin\jmeno databaze\tmp - tento adresář nemusí vzniknout, dočasný adresář který slouží pro úschovu dočasných dat při třídění, mazání a updatu.
  • \db\bin\jmeno databaze\jar - tento adresář nemusí vzniknout, adresář, ve kterém jsou uloženy *.jar soubory používané databází v případě jejich použití.

Pozn. Indexy nejsou podporované u datových typů CLOB, BLOB, LONG VARCHAR, a XML.

Pozn. Derby databázový program spadne v případě, že databázový logger se nemůže rozšířit pro ukládání nových logů.

Nástroje a utility Derby

Tyto nástroje se nachází v adresáři ..\db\bin. Jsou to nástroje příkazového řádku, tedy bez GUI implementace. Práci s databází můžeme řešit programátorsky přes Javu nebo přes interpret JDBC jako ij příkaz.

  • ij - klíčový JDBC skriptovací nástroj. Tento interpret příkazů se používá pro práci s DB. Budeme často používat.
  • sysinfo - zobrazuje systémové informace o JVM, Derby apod..
  • dblook - je Derby Data Definition Language (DDL) nástroj. Umožňuje vytvářet dokumentaci databázových schémat.
  • signatureChecker - nástroj pro identifikaci SQL funkcí a procedur nesplňujících SQL standardy.

Vytvoření nové systémové proměnné DERBY_HOME a nastavení PATH

Nejdříve si vytvoříme novou systémovou proměnnou DERBY_HOME. Její cesta je ..\JavaJDK\db. Zvolené cesty pro DERBY_HOME a PATH jsou pouze ilustrativní pro můj případ. Ve vašem případě budou cesty samozřejmě odlišné a závislé na tom, kde danou Derby máte nakopírovanou.

Nastavení DERBY_HOME - Derby DB

Abychom se nemuseli stále zdržovat s příkazy v ..\db\bin, provedeme nastavení PATH v operačním systému. Její cesta je ..\JavaJDK\db\bin. Po nastavení obou proměnných doporučuji restartovat počítač.

Nastaveni DERBY_PATH - Derby DB

Příště, Derby DB - Spuštění a vypnutí databáze, si předvedeme spuštění a vypnutí databáze.


 

Všechny články v sekci
Derby DB
Přeskočit článek
(nedoporučujeme)
Derby DB - Spuštění a vypnutí databáze
Článek pro vás napsal Robert Michalovič
Avatar
Uživatelské hodnocení:
6 hlasů
Programuji převážně v Javě SE,EE a trochu nativním C a CUDA. více viz.https://cz.linkedin.com/in/robert-michalovic
Aktivity