Akce! Dobij si body, napiš nám do zpráv "Přes léto se to naučím!" a dobijeme ti ještě navíc 50% z této částky! Sleva na výuku platí do 22.6.2018.

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

Java Databáze Apache Derby Derby DB - Informace, nastavení prostředí

ONEbit hosting Unicorn College Tento obsah je dostupný zdarma v rámci projektu IT lidem. Vydávání, hosting a aktualizace umožňují jeho sponzoři.

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.

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ý se logger 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

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

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


 

 

Článek pro vás napsal Robert Michalovič
Avatar
Jak se ti líbí článek?
Ještě nikdo nehodnotil, buď první!
Programuji převážně v Javě SE,EE a trochu nativním C a CUDA. více viz.https://cz.linkedin.com/in/robert-michalovi%C4%8D-8a9b9498
Miniatura
Všechny články v sekci
DerbyDb
Aktivity (6)

 

 

Komentáře

Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zatím nikdo nevložil komentář - buď první!