Databázové systémy I Cvičení č. 8 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013
Náplň cvičení Oracle a Java – Připojení k DB – Načtení a vizualizace dat v tabulce – Vyhledavání Databázové systémy I - cvičení č. 8 2
Před připojením Z portálu si stáhněte následující dva soubory – OracleConnector.java - předpřipravená třída usnadňující připojeni a správu připojení. – ojdbc5.jar - knihovna umožňující komunikaci s databází Oracle. Databázové systémy I - cvičení č. 8 3
Připojení k DB Pro připojení ke školní DB použijte třídu OracleConector.java. – Jedná se o statickou třídu, nevytvářejte instance. – Prvotní nastavení připojení proveďte metodou setUpConnection. – Po nastavení připojení je pak možné kdykoliv samotné připojení získat metodu getConnection. Databázové systémy I - cvičení č. 8 4
Provedení dotazu Provedení dotazu se skládá z následujících kroků: 1.Získání připojení k DB. Rozhranní Connection (balíček java.sql) 2.Vytvoření, definice a provedení dotazu. Rozhraní Statement (balíček java.sql) 3.Získání výsledků dotazu. Rozhraní ResultSet (balíček java.sql) Databázové systémy I - cvičení č. 8 5
Zpracování výsledků dotazu Zpracovávání probíhá po jednotlivých řádcích, zpravidla v cyklu. Metoda next() posune kurzor uvnitř výsledkové sady na další řádek. – V případě prvního volání dojde k posunu na první řádek výsledku. – Metoda vrací logickou hodnotu true v případě úspěšného posunu na následující řádek. V případě že metoda vrátí false, byl kurzor umístěn za poslední řádek. Databázové systémy I - cvičení č. 8 6
Zpracování výsledků dotazu V rámci každé iterace cyklu ve kterém procházíme výsledek dotazu můžeme zpřístupnit jednotlivé hodnoty ve sloupcích. – nebo – K jednotlivým hodnotám můžete přistupovat jak přes název sloupce, tak přes jeho pozici (1 = 1. sloupec, 2 = 2. sloupec, …) Databázové systémy I - cvičení č. 8 7
Vizualizace výsledků dotazu Zobrazení do tabulky – Třída JTable Databázové systémy I - cvičení č. 8 8
Vizualizace výsledků dotazu - JTable Jak JTable funguje: Definice vlastní hlavičky tabulky: Databázové systémy I - cvičení č. 8 9
Vizualizace výsledků dotazu Přidání řádku do tabulky. Databázové systémy I - cvičení č. 8 10
Filtrovaní Provádí se standardně ve WHERE klauzuli prováděného dotazu. 2 cesty: – Přirozené, jednoduché, nevýkonné. – Složitější, ale výkonnější řešení. Databázové systémy I - cvičení č. 8 11
Filtrování - třída PreparedStatement Představuje předkompilovaný SQL příkaz. SQL příkaz je předkompilován a uložen v objektu typu třídy PreparedStatement. – Jeden objekt tak může byt pro vykonání příkazu vícekrát. Místo konkrétních hodnot parametrů je možné zadat zástupný symbol ? – Ten je možná nahradit konkrétní hodnotou až těsně před samotným spuštěním dotazu. Databázové systémy I - cvičení č. 8 12
Zdroje informací Připojení k databázi – Vizualizace výsledků dotazu (JTable) – Databázové systémy I - cvičení č. 8 13
Samostatně 1.Zjistěte kolik filmů videopůjčovna současné době nabízí. 2.Zjistěte kolikrát za celou dobu provozu byl vypůjčen film „Pelíšky“. – Z dotazu vytvořte pohled s názvem v_pelisky_pocet_vypujcek, pohled bude obsahovat jeden sloupec pojmenovaný pocet. 3.Zjistěte v kolik filmech nabízených videopůjčovnou hraje herec „Harrison Ford“. – Z dotazu vytvořte pohled s názvem v_ford_pocet_filmu, pohled bude obsahovat jeden sloupec pojmenovaný pocet. 4.Zjistěte kolik DVD bylo vypůjčeno v období až – Z dotazu vytvořte pohled s názvem v_dvd_2009, pohled bude obsahovat jeden sloupec pojmenovaný pocet. Databázové systémy I - cvičení č. 8 14
Samostatně 5.Zjistěte kdy naposledy byl půjčen film Pelíšky na VHS. – Z dotazu vytvořte pohled s názvem v_pelisky_vhs, pohled bude obsahovat jeden sloupec pojmenovaný pocet. 6.Zjistěte jakou nejdelší dobu bylo médium vypůjčeno. – Z dotazu vytvořte pohled s názvem v_nejdelsi, pohled bude obsahovat jeden sloupec pojmenovaný delka. Databázové systémy I - cvičení č. 8 15
Cíl cvičení Vytvořit GUI aplikaci zobrazující všechny filmy půjčované videopůjčovnou. – Využijte vlastní tabulky – Data budou zobrazena v tabulce (JTable). – Kromě tabulky bude aplikace obsahovat i pole, které umožní ve filmech vyhledávat. Aplikaci dokončete do příštího cvičení. Na příštím cvičení budete vaši aplikaci dále rozšiřovat. Databázové systémy I - cvičení č. 8 16