IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
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í.

23. diel - DerbyDB - prehliadanie databázy cez Squirrel

V dnešnom tutoriále si ukážeme inštaláciu a prácu so správcom (prehliadačom) databázy Squirrel SQL.

Ide o rozšírený univerzálny nástroj pre pripojenie k databázam a prácu s nimi. Je free a celý naprogramovaný v Jave. Správca Squirrel má v sebe podporu pre viac databáz. Jedná sa o užitočný nástroj pre prácu s databázami.

Stiahnutie programu Squirrel

Squirrel sa nachádza na tomto odkaze. Vyberieme si verziu vhodnú pre náš operačný systém:

stazeni Squirrel - DerbyDb

Keďže sa jedná o JAVA aplikáciu, je nutné mať nainštalovanú JAVU (prípadne OpenJDK alebo jej implementácia) konkrétne JRE vo verzii 8,9,10 a vyššej a nastavenú PATH.

Inštalácia programu

Po stiahnutí a spustení sa objaví okno s inštaláciou. Hoci to vyzerá ako inštalácia, nejedná sa o inštaláciu, iba o nastavení a kopírovanie. Teda sa Squirrel neodinstalovává, stačí ho len zmazať. Do ďalších krokov tzv. Inštalácia sa dostaneme cez tlačidlo NEXT:

StartInstalace - DerbyDb

Druhý krok je informatívny a môžeme ho preskočiť. V treťom kroku vykonáme nastavenie cesty inštalácie programu (kopírovanie s nastaveniami). Vo štvrtom kroku nastavíme jazyk a podpory (plug-iny) pre rôzne databázy. Tu si vyberieme DERBY DB a voliteľný plugin Čeština a ďalšie podľa potreby:

Nastaveni pluginu informačných miest - DerbyDb

V ďalšom kroku dôjde ku kopírovaniu do zvoleného adresára. V poslednom kroku ide o začlenenie do Windows a vytvorenie ikony na ploche.

Spustenie programu

Ak máme nainštalovanú Javu 09,10,11, a vyššie môžeme mať problém so spustením cez ikonu na ploche. To možno vyriešiť spustením priamo cez súbor squirrel-sql.jar. Súbor squirrel-sql.jar nájdeme v adresári, kde sme Squirrel nechali nakopírovať, alebo v nastavení PATH. Po spustení je nutné vykonať tri kľúčové kroky:

  1. Vytvorenie databázy a tabuľky s dátami
  2. Nastaveni driveru k databáze
  3. Nastaveni účtu (alias) k databáze

Jednotlivé kroky si postupne preberieme.

Vytvorenie databázy a tabuľky s dátami

Databázu databazeE01 a tabuľku tabulkaE01 by sme mohli založiť cez príkaz IJ. My si ich založíme týmto kódom:

package e_zaloha;
import java.sql.*;
import javax.swing.JOptionPane;
public class E01_TvorbaDatabaze {
    static {
        try {
            Class.forName("org.apache.derby.jdbc.ClientDriver").newInstance();  }
        catch (InstantiationException e) {
            e.printStackTrace();    }
        catch (IllegalAccessException e) {
            e.printStackTrace();    }
        catch (ClassNotFoundException e) {
            e.printStackTrace();    }   }
    private static Connection connect=null;
    private static Statement statement = null;
    private static void pripojeniKDatabazi(){
        try {
            connect = DriverManager.getConnection("jdbc:derby:D:\\JavaProjekty\\Java.DB.Derby\\X_DerbyDB\\bin\\databazeE01"
                    + ";create=true;user=zaloha1;password=heslo1");
            System.out.println("Podarilo se pripojit databazeE01");
        }
        catch (Exception e) {
            JOptionPane.showMessageDialog(null," Nepodarilo se pripojit databazeE01 ");
            e.printStackTrace();
        }
    }
    private static void odpojimeDatabazi()  {
        try {
            if (connect != null)  connect.close();
            System.out.println("\nPodarilo se odpojit od databaze databazeE01");
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
    private static void vytvoreniTabulkySDaty(){
        //  Vytvorime tabulku pro data
        if(connect == null) return;
        try {
            statement = connect.createStatement();
            statement.executeUpdate("create table tabulkaE01 (id INT not null primary key GENERATED ALWAYS AS IDENTITY(START WITH 1, INCREMENT BY 1),"
                    + "firstName VARCHAR(20), lastName VARCHAR(20), title VARCHAR(20), hodnota INT )");
            System.out.println("Podarilo se vytvorit tabulku tabulkaE01");
        }
        catch (SQLException e) {
            System.out.println("Nepovedlo se vytvorit tabulku tabulkaE01");
            e.printStackTrace();    }
        //  Vytvorime data a naplnime jimi tabulku
        if(statement == null) return;
        try {
            statement.executeUpdate("INSERT INTO tabulkaE01 (firstName,lastName,title,hodnota) VALUES ('Jmeno1','Prijmeni01','Text001',111111)");
            statement.executeUpdate("INSERT INTO tabulkaE01 (firstName,lastName,title,hodnota) VALUES ('Jmeno2','Prijmeni02','Text002',222222)");
            statement.executeUpdate("INSERT INTO tabulkaE01 (firstName,lastName,title,hodnota) VALUES ('Jmeno3','Prijmeni03','Text003',333333)");
            statement.executeUpdate("INSERT INTO tabulkaE01 (firstName,lastName,title,hodnota) VALUES ('Jmeno4','Prijmeni04','Text004',444444)");
            statement.executeUpdate("INSERT INTO tabulkaE01 (firstName,lastName,title,hodnota) VALUES ('Jmeno5','Prijmeni05','Text005',555555)");
            statement.executeUpdate("INSERT INTO tabulkaE01 (firstName,lastName,title,hodnota) VALUES ('Jmeno6','Prijmeni06','Text006',666666)");
            statement.executeUpdate("INSERT INTO tabulkaE01 (firstName,lastName,title,hodnota) VALUES ('Jmeno7','Prijmeni07','Text007',777777)");
            System.out.println("Podarilo se ulozit data databazeE01");
            statement.close();
        }
        catch (SQLException e) {
            System.out.println("Nepovedlo se ulozit data databazeE01");
            e.printStackTrace();    }
    }
    public static void main(String[] args) {
        System.out.println("Start Programu ");
        pripojeniKDatabazi();
        vytvoreniTabulkySDaty();
        odpojimeDatabazi();
        System.out.println("Konec Programu ");
    }
}

Do cesty k databáze si vložíme cestu k našej databáze. Do user a password vložíme svojho používateľa a heslo.

Nastaveni driveru k databáze

Nastavenie driveru predstavuje pridanie konektora pre databázu. V ľavom stĺpci klikneme na Drivers. V zobrazenom zozname vyberieme Apache Derby Client a klikneme na ikonu ceruzky (editácia). Potom v záložke Java Class Path vyberieme driver:

Nastaveni driverov informačných miest - DerbyDb

Drivers dá zobraziť aj cez menu Window - View drivers, alebo klávesovou skratkou CTRL + SHIFT + D.

Môžeme tiež vytvoriť nový driver cez ikonu +. Potom prepneme na záložku Extra Class Path a stlačíme Add. Otvorí sa okno, v ktorom nájdeme cestu k derbyclient.jar, alebo označíme všetky jar súbory, ktoré sú v adresári db/lib/.. k dispozícii:

DerbyDb

Potom stlačíme Open a OK. Červený krížik u driveru sa zmení na zelenú fajku. Podobne postupujeme aj v prípade iných databázových serverov (napr. MSSQL, MySQL, PostgreSQL, ..):

DerbyDb

Nastaveni účtu (alias) k databáze

Najskôr spustíme databázový server cez súbor startNetworkServer.bat. Potom sa prepneme na záložku Aliases. Potom musíme vytvoriť nové pripojenie. Klikneme na tlačidlo +. Otvorí sa nám okno, do ktorého vložíme naše údaje:

DerbyDb

K databáze sa môžeme pripojiť napr. Cez adresárovú štruktúru tak, že do URL vložíme cestu k našej databáze databazeE01.

Stlačením tlačidla Test vyskúšame pripojenia k databáze.

Nakoniec stlačíme OK a alias sa vytvorí. Teraz sa pripojíme. Dvakrát klikneme na náš alias. V otvorenom okne Connect to: ... stlačíme Connect:

DerbyDb

Po úspešnom pripojení klikneme na záložku Metadáta, ktorá nám zobrazí informácia o našej databáze:

DerbyDb

Tieto informácie môžeme získať aj programovo cez objekt DatabaseMetaData. Ukážeme si v ďalších článkoch.

V záložke Content vidíme dáta, ktoré sme vložili do tabuľky pri založení databázy:

DerbyDb

V budúcej lekcii, Derby DB - Schémy a tabuľky , si vysvetlíme rozdiel medzi tabuľkami a schémami. Vvyzkoušíme si tvorbu a odstránenie schém.


 

Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 4x (6.82 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Java

 

Predchádzajúci článok
Derby DB - Bezpečnosť - Šifrovaná komunikácia SSL / TLS 4
Všetky články v sekcii
DerbyDb
Preskočiť článok
(neodporúčame)
Derby DB - Schémy a tabuľky
Článok pre vás napísal Robert Michalovič
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
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