Java Database Connectivity with JDBC

Rozměr: px
Začít zobrazení ze stránky:

Download "Java Database Connectivity with JDBC"

Transkript

1 Java Database Connectivity with JDBC Obsah 1 Úvod 2 Relační-databázový model 3 Relační databaze přehled: databáze knih 4 SQL 4.1 Základní SELECT Query 4.2 klauzule WHERE 4.3 klauzule ORDER BY 4.4 Výběr dat (Merging Data) z více tabulek: INNER JOIN 4.5 příkaz INSERT 4.6 příkaz UPDATE 4.7 příkaz DELETE 5 Práce s databází pomocí JDBC 5.1 Připojení a dotazy v databázi 5.2 Dotazy v databázi (knihy) books 6 Uložené procedury 7 Objektově relační mapování 1

2 1 Úvod 2 Databáze Kolekce dat DBMS Systém řízení databáze (Database management system) Ukládá a řídí data SQL Relational database Structured Query Language (strukturovaný dotazovací jazyk)

3 1 Úvod 3 RDBMS Relational database management system Cloudscape JDBC Java Database Connectivity JDBC driver

4 2 Relační databázový model 4 Relační databáze Tabulka Řádky, sloupce Primární klíč jedinečná data SQL příkaz dotaz (query)

5 2 Relační databázový model 5 Number Name Department Salary Location Jones New Jersey Kerwin New Jersey Row Larson Los Angeles Myers Orlando Neumann New Jersey Stephens Orlando Primary key Column Obr. 1 Tabulka Employee vzorek dat

6 2 Relační databázový model 6 Department Location 413 New Jersey 611 Orlando 642 Los Angeles Obr. 2 Výsledek vyběru rozdílných Department a Location z tabulky Employee.

7 3 Relační databáze přehled: databáze books 7 Vzorek databáze books Čtyři tabulky authors, publishers, authorisbn a titles Relace (vztahy) mezi tabulkami

8 3 Relační databáze přehled: databáze books 8 Sloupec Popis authorid AuthorID je číselna identifikace autora v databázi. V databázi books je to celé číslo, které je definované jako autoinkrementovatelné. Tím je dosaženo jedinečnosti tohoto čísla. Sloupec představuje primární klíč. firstname Jméno autora (string). lastname Přijmení autora ( string). Obr. 3 tabulka authors databáze books. authorid firstname lastname 1 Harvey Deitel 2 Paul Deitel 3 Tem Nieto 4 Sean Santry Obr. 4 Vzorek dat z tabulky authors.

9 3 Relační databáze přehled: databáze books 9 Sloupec Popis publisherid PublisherID je celé autoinkrementovatelné číslo v databázi books. Sloupec je využit jako primární klíč. publishername Jméno nakladatele ( string). Obr. 5 publishers tabulka z databáze books. publisherid publishername 1 Prentice Hall 2 Prentice Hall PTG Obr. 6 Data z tabulky publishers.

10 3 Relační databáze přehled: databáze books 10 Sloupec Popis isbn ISBN knihy ( string). Primární klíč v tabulce. title Název knihy ( string). editionnumber Ediční číslo knihy ( integer). copyright Copyright rok knihy ( string). publisherid Číslo publisherid ( integer). Cizí klíč k tabulce publishers. imagefile Jméno souboru obsahujícího obrázek titulní strany knihy (string). price Doporučená cena knihy ( real number). Obr. 7 tabulka titles z databáze books.

11 3 Relační databáze přehled: databáze books 11 isbn title edition- Number right imagefile price erid C How to chtp3.jpg Program C++ How to cpphtp4.jpg Program Java Web jwsfep1.jpg Services for Experienced Programmers Java How to jhtp5.jpg Program The Complete javactc5.jpg Java 2 Training Course Advanced Java advjhtp1.jpg Platform How to Program Obr. 8 Vzorek dat z tabulky titles databáze books.

12 3 Relační databáze přehled: databáze books 12 Sloupec Popis authorid AuthorID je číslo, cizí klíč k tabulce authors. isbn ISBN knihy je cizí klíč k tabulce titles.. Obr. 9 tabulka authorisbn databáze books. authorid isbn authorid isbn Obr. 10 Vzorek dat z tabulky authorisbn databáze books.

13 81 3 Relační databáze přehled: databáze books 13 authors authorid authorisbn authorid 1 titles isbn firstname lastname isbn publishers publisherid 18 8 title editionnumber copyright publisherid imagefile publishername price Obr. 11 Tabulka relací v databázi books.

14 4 SQL 14 SQL přehled SQL klíčová slova SQL klíčová slova Popis SELECT Dodá data z jedné nebo více tabulek. FROM Specifikuje tabulky zahrnuté do dotazu. Vyžaduje SELECT. WHERE Kritéria pro výběr který určí, kteréřádky mají být dodány zpět, rušeny nebo aktualizovány. GROUP BY Kritéria pro seskupovánířádků. ORDER BY CKritéria pro řazenířádků. INNER JOIN Výběr řádků z více tabulek. INSERT Vlořenířádků do dané tabulky. UPDATE Aktualizace řádků v dané tabulce. DELETE Rušenířádků z dané tabulky. Obr. 12 SQL klíčová slova dotazů.

15 4.1 Základní SELECT Query 15 Nejjednodušší forma SELECT query SELECT * FROM jménotabulky SELECT * FROM authors Vybere specifikované položky z tabulky SELECT authorid, lastname FROM authors authorid lastname 1 Deitel 2 Deitel 3 Nieto 4 Santry Obr. 13 Vzorek authorid a lastname data z authors tabulky.

16 4.2 Klauzule WHERE 16 určuje kritéria výběru SELECT jménosloupce1, jménosloupce2, FROM jménotabulky WHERE kritéria SELECT title, editionnumber, copyright FROM titles WHERE copyright > 2000 klauzule WHERE podmínkové operátory <, >, <=, >=, =, <> LIKE znaky wildcard % a _

17 4.2 Klauzule WHERE 17 title editionnumber copyright C How to Program C++ How to Program The Complete C++ Training Course Internet and World Wide Web How to Program Java How to Program XML How to Program Perl How to Program Advanced Java 2 Platform How to Program Obr. 14 Vzorek názvů s copyrights po roce after 2000 z tabulky titles.

18 4.2 Klauzule WHERE 18 SELECT authorid, firstname, lastname FROM authors WHERE lastname LIKE D% authorid firstname lastname 1 Harvey Deitel 2 Paul Deitel Obr. 15 Autoři jejichž přijmení začíná D z tabulky authors.

19 4.2 Klauzule WHERE 19 SELECT authorid, firstname, lastname FROM authors WHERE lastname LIKE _i% authorid firstname lastname 3 Tem Nieto Obr. 16 Jediný autor z tabulku authors jehož přijmení obsahuje i jako druhé písmeno.

20 4.3 Klauzule ORDER BY 20 Volitelná klauzule ORDER BY SELECT jménosloupce1, jménosloupce2, FROM jménotabulky ORDER BY sloupec ASC SELECT jménosloupce1, jménosloupce2, FROM jménotabulky ORDER BY sloupec DESC ORDER BY více položek ORDER BY column1 sortingorder, column2 sortingorder, Kombinace klauzulí WHERE a ORDER BY

21 4.3 Klauzule ORDER BY 21 SELECT authorid, firstname, lastname FROM authors ORDER BY lastname ASC authorid firstname lastname 2 Paul Deitel 1 Harvey Deitel 3 Tem Nieto 4 Sean Santry Obr. 17 Vzorek dat z tabulky authors v vzestupném pořadí podle lastname.

22 4.3 Klauzule ORDER BY 22 SELECT authorid, firstname, lastname FROM authors ORDER BY lastname DESC authorid firstname lastname 4 Sean Santry 3 Tem Nieto 2 Paul Deitel 1 Harvey Deitel Obr.18 Vzorek dat z tabulky authors v sestupném pořadí podle lastname.

23 4.3 Klauzule ORDER BY 23 SELECT authorid, firstname, lastname FROM authors ORDER BY lastname, firstname authorid firstname lastname 1 Harvey Deitel 2 Paul Deitel 3 Tem Nieto 4 Sean Santry Obr. 19 Vzorek dat tabulky authors v vzestupném pořadí podle lastname a podle firstname.

24 4.3 Klauzule ORDER BY 24 SELECT isbn, title, editionnumber, copyright, price FROM titles WHERE title LIKE %How to Program ORDER BY title ASC isbn title edition- copyright price Number Advanced Java 2 Platform How to Program C How to Program C++ How to Program Internet and World Wide Web How to Program Perl How to Program Visual Basic 6 How to Program XML How to Program x e-business and e-commerce How to Program Obr. 20 Vzorek knih z tabulky titles, jejíž názvy končí s textem How to Program v vzestupném pořadí řazeném. podle názvů (titulů)

25 4.4 Výběr dat z více tabulek Merging Data from Multiple Tables: Joining 25 Rozdělit příbuzná data do oddělených tabulek Spojit tabulky Vybrat data z více tabulek do jednoho pohledu (přehledu) INNER JOIN SELECT sloupecjméno1, sloupecjméno2, FROM tabulka1 INNER JOIN tabulka2 ON tabulka1.sloupecjméno = table2.sloupecjméno2 SELECT firstname, lastname, isbn FROM authors, authorisbn INNER JOIN authorisbn ON authors.authorid = authorisbn.authorid ORDER BY lastname, firstname

26 4.4 Výběr dat z více tabulek Merging Data from Multiple Tables: Joining 26 firstname lastname isbn firstname lastname isbn Harvey Deitel Paul Deitel Harvey Deitel Paul Deitel Harvey Deitel Paul Deitel Harvey Deitel Paul Deitel Harvey Deitel Paul Deitel Harvey Deitel Paul Deitel Harvey Deitel Tem Nieto Harvey Deitel Tem Nieto x Paul Deitel Sean Santry Obr. 21 Vzorek authors a ISBN pro knihy, které autoři napsali, autoři sjou uvedeni ve vzestupném pořadí podle lastname a firstname.

27 4.5 Příkaz INSERT 27 Vkládářádek do tabulky INSERT INTO tablename ( columnname1,, columnnamen ) VALUES ( value1,, valuen ) INSERT INTO authors ( firstname, lastname ) authorid VALUES firstname ( Sue, Smith lastname ) 1 Harvey Deitel 2 Paul Deitel 3 Tem Nieto 4 Sean Santry 5 Sue Smith Obr. 22 Vzorek dat z tabulky Authors po operaci INSERT.

28 4.6 Příkaz UPDATE 28 Modifikuje data v tabulce UPDATE tablename SET columnname1 = value1,, columnnamen = valuen WHERE criteria UPDATE authors SET lastname = Jones WHERE lastname = Smith AND firstname = Sue authorid firstname lastname 1 Harvey Deitel 2 Paul Deitel 3 Tem Nieto 4 Sean Santry 5 Sue Jones Obr. 23 Vzorek dat tabulky authors po operaci update.

29 4.7 Příkaz DELETE 29 Odstranění dat z tabulky DELETE FROM tablename WHERE criteria DELETE FROM authors WHERE lastname = Jones AND firstname = Sue authorid firstname lastname 1 Harvey Deitel 2 Paul Deitel 3 Tem Nieto 4 Sean Santry Obr. 24 Vzorek dat z tabulky authors po operaci DELETE.

30 5 Práce s databází pomocí rozhraní JDBC 30 Navázání spojení s databází Zaslání dotazů a příkazů pro aktualizaci databázi Zobrazení výsledků dotazu

31 Connection con = DriverManager.getConnection ( jdbc:mydriver:wombat jdbc:mydriver:wombat, mylogin mylogin, mypassword mypassword ); Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery( SELECT a, b, c FROM Table1 ); while(rs.next()) ()) { int x = rs.getint( a ); String s = rs.getstring( b ); float f = rs.getfloat( c ); } Osnova Fragment kódu - názorný příklad uvedených kroků

32 Fragment kódu 32 vytváří instanci (objekt) od třídy DriverManager pro připojení ke driveru databáze a logování do databáze vytváří instanci od třídy Statement, která provádí zadaný dotaz SQL v databázi vytváří instanci od třídy ResultSet, která získá zpět výsledky dotazu a zobrazí je

33 5. Ovladače JDBC 33 Nejdůležitější součástí balíčku java.sql je kolekce jeho rozhraní tato rozhraní definují způsob, jakým aplikace s relačními DB komunikují jedním z rozhraní je i rozhraní Driver obsahuje metodu pro databázové připojení ovladač JDBC souhrnné označení skupiny souvisejících souborů, které poskytují přístup k DBMS (obsahují nejen implementaci rozhraní java.sql, ale i podpůrné třídy napojení na DB)

34 Typy ovladačů 1. Připojení prostřednictvím zdroje dat ODBC 34 Ovladač přemostění JDBC/ODBC (Open Database Connectivity od Microsoft) JDBC-ODBC bridge driver ODBC součást systému Windows nastavení ovládací panely, nástroje pro správu, datové zdroje ODBC není příliš robustní dostatečný pro provádění testů a jednoduchých aplikací Nevýhoda nutnost instalace ovladačů ODBC na klientském počítači (ve Windows není problém, v jiných platformách ano)

35 Typy ovladačů 2. Připojení prostřednictvím kódu nativního klienta pro přístup k síti Většina DB systémů poskytuje klientské rozhraní umožňující uživatelům komunikovat s DB serverem Ovladač JDBC 2. typy obsahuje jednak kód v jazyce Java, jednak nativní kód a komunikuje s klientským softwarem příslušného DB systému. Nabízí lepší výkon než ovladače typu 1, ale může ztížit distribuci aplikace na cílovém počítači musí být nainstalován rovněž klientský síťový software daného systému (Oracle) 35

36 Typy ovladačů 3. Připojení prostřednictvím vrstvy aplikačního serveru Tento typ ovladače napsán kompletně v Javě odesílá databázové požadavky serverové komponentě za přenos databázových požadavků do formátu vhodného pro daný databázový systém odpovědna serverová komponenta nevýhoda nutnost existence serverové komponenty výhoda možnost změny DB serveru bez ovlivnění funkcí klientského kódu 36

37 Typy ovladačů 4. Přímé připojení k databázovému systému 37 Ovladač napsán celý v jazyce Java komunikuje přímo s DB serverem a komu používá protokol určený právě pro tento typ serveru ve stejném balíčku vaše aplikace a ovladač nevyžaduje žádný další klientský ani serverový software

38 5.1 Připojení a tvorba dotazů v databázi 38 Zobrazení autorů (DisplayAuthors) Získání celé tabulky authors Zobrazení dat v JTextArea

39 // zobrazi obsah tabulky authors package paket1; import java.sql.connection; import java.sql.statement; import java.sql.drivermanager; import java.sql.resultset; import java.sql.resultsetmetadata; import java.sql.sqlexception; Osnova public class DisplayAuthors { // JDBC jmeno driveru a URL databaze static final String JDBC_DRIVER = "com.mysql.jdbc.driver " com.mysql.jdbc.driver"; static final String DATABASE_URL = "jdbc:mysql://localhost/books " jdbc:mysql://localhost/books"; // spusteni aplikace public static void main( String args[] ) { Connection connection = null; Statement statement = null; // pripojeni do databaze books a dotazovani databaze try { Class.forName( JDBC_DRIVER ); // načten tení ovladače databaze mysql

40 // vytvoreni pripojeni k databazi connection = DriverManager.getConnection( ( DATABASE_URL, "jhtp6", "jhtp6" ); Osnova // vytvoreni instance Statement pro dotazovani v databazi statement = connection.createstatement(); // databazove dotazy ResultSet resultset = statement.executequery( "SELECT authorid, firstname, lastname FROM authors" ); // zpracovani vysledku dotazu ResultSetMetaData metadata = resultset.getmetadata(); int numberofcolumns = metadata.getcolumncount(); System.out.println( "Authors Table of Books Database:" ); for ( int i = 1; i <= numberofcolumns; i++ ) System.out.printf( "%-8s 8s\t", metadata.getcolumnname( i ) ); System.out.println(); while ( resultset.next() ) { for ( int i = 1; i <= numberofcolumns; i++ ) System.out.printf( "%-8s 8s\t", resultset.getobject( i ) ); System.out.println(); } // end while } // end try

41 catch ( SQLException sqlexception ) { sqlexception.printstacktrace(); System.exit( 1 ); } // end catch catch ( ClassNotFoundException classnotfound ) { classnotfound.printstacktrace(); System.exit( 1 ); } // end catch finally // test, zda statement a connection jsou spravne uzavreni { try { statement.close(); connection.close(); } // end try catch ( Exception exception ) { exception.printstacktrace(); System.exit( 1 ); } // end catch } // end finally } // end main } // end class DisplayAuthors Osnova

42 Authors Table of Books Database: authorid firstname lastname 1 Harvey Deitel 2 Paul Deitel 3 Tem Nieto 4 Sean Santry Osnova

43 Navázání spojení s databází 43 k navázání spojení s databází se používá rozhraní Driver metody tohoto rozhraní se nepoužívají přímo, ale prostřednictvím statické třídy DriverManager a její statické metody getconnection() ta vrací objekt typu Connection metoda getconnection() předává argumenty všem registrovaným ovladačům, dokud nenajde ten, jehož prostřednictvím se mu podaří navázat spojení s uvedenými argumenty

44 Navázání spojení s databází 44 ovladač není explicitně registrovaný ovladač se vytvoří explicitně vytvořením jehi instance: Class.forName( JDBC_DRIVER);

45 Formáty adres URL ovladačů JDBC 45 metoda getconnection() má tři varianty (podle zadaných argumentů) 1. adresa URL ovladače ODBC 2. ID uživatele pro darabázi 3. heslo pro databázi adresa URL specifikuje databázi hodnota typu String identifikující konkrétní ovladač JDBC a databázi tvar: jdbc:<podprotokol>:<podnázev>

46 Formáty adres URL ovladačů JDBC 46 hodnoty <podprotokol> a <podnázev> jsou závislé na databázi a použitém ovladači "jdbc:mysql://localhost/books"; navázání spojení: connection = DriverManager.getConnection( DATABASE_URL, "jhtp6", "jhtp6" );

47 Rozhraní DatabaseMetaData 47 definované metody umožňují zjistit: možnosti DB systému a příslušného ovladače, popis obsahu databáze (seznam schémat DB, seznam tabulek, seznam sloupců v jednotlivých tabulkách, datový typ sloupců

48 Struktura metod rozhraní DatabaseMetaData metody sloužící k popisu funkcí a vlastností BD systému vrací většinou boolean, int String supportouterjoins(), getmaxconnections() 2. metody popisující obsah DB vrací objekt typu ResultSet (rozhraní) getschemas(), gettables()

49 Třída Statement 49 po připojení k DB objekt typu Statement umožňuje vykonávat příkazy jazyka SQL instanci třídy Statement se vytvoří metodou createstatement() metody: executequery(a String); executeupdate(a String); execute(a String);

50 Třída ResultSet 50 instance této třídy mohou být výsledkem spuštění metody executequery(), nebo execute() vrací více instancí třídy ResultSet vrácená data je možné zpracovat po řádcích, záznamech aktuální záznam current row / current record po vytvoření instance ResutlSet její kurzor nastaven na 1. záznam (objekt) objekty ResultSet většinou zůstávají v databázovém serveru, pouze aktuální záznam je přenesen

51 Práce s objektem ResultSet 51 Navigace mezi záznamy: next() vrací boolean, zda existuje další záznam Načítání dat: getxxx() načítání dat z aktuálního záznamu pro každý typ (třídu) existuje speciální metoda getobject() každá getxxx() obsahuje dvě implementace: celočíselný argument index sloupce String argument název sloupce Úprava dat: metody prefix updatexxx()

52 Rozhraní ResultSetMetaData 52 použití k dalšímu získání informací o databázi ve výsledku dotazu popis jednotlivých sloupců název sloupců typ dat sloupců počet sloupců

53 Zobrazení autorů 53 Aplikace musí nahrát DB driver před připojením k databázi 25ř. statická metoda forname - nahrávání třídy DB ovladače je nutné přidat mysql-connector-java production-bin.jar do adresáře: C:\mysql-connertor-java production java classpath c:\mysql-connector-java production\mysql-connector-java productionbin.jar;.displayauthors

54 5.2 Dotazování (Querying) v databázi books 54 Dovoluje uživateli v programu zadat libovolný dotaz Zobrazí výsledky dotazu v JTable

55 // TableModel, ktery dodava ResultSet data do JTable. package paket2; import java.sql.connection; import java.sql.statement; import java.sql.drivermanager; import java.sql.resultset; import java.sql.resultsetmetadata; import java.sql.sqlexception; import javax.swing.table.abstracttablemodel; Osnova // Radky a sloupce ResultSet jsou cislovany od 1 a radky a // sloupce JTable jsou cislovany od 0. Pri zpracovani radku nebo // sloupcu ResultSet pro pouziti v JTable, je nutne // pricist 1 k cislu radku nebo sloupce k tomu, aby se s radky a sloupci // ResultSet spravne manipulovalo (napr napr. sloupec 0 JTable je // sloupec 1 ResultSet a radek 0 JTable je radek 1 ResultSet). public class ResultSetTableModel extends AbstractTableModel { private Connection connection; private Statement statement; private ResultSet resultset; private ResultSetMetaData metadata; private int numberofrows; // sledovani statusu pripojeni databaze private boolean connectedtodatabase = false;

56 // konstruktor inicializuje resultset a ziska jeho meta data object; // k urceni poctu radku public ResultSetTableModel( String driver, String url, String username, String password, String query ) throws SQLException, ClassNotFoundException { // nahrani tridy databazoveho driveru Class.forName( driver ); Osnova // pripojeni k databazi connection = DriverManager.getConnection( url, username, password ); // vytvoreni Statement k dotazum v databazi statement = connection.createstatement( ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY ); // aktualizace statusu pripojeni databaze connectedtodatabase = true; // nastaveni dotazu a jeho provedeni setquery( query ); } // end constructor ResultSetTableModel

57 // ziskani tridy, ktera predstavuje typ sloupce public Class getcolumnclass( int column ) throws IllegalStateException { // zjisteni, zda je pripojeni k DB platne if (!connectedtodatabase! ) throw new IllegalStateException( "Not Connected to Database" ); Osnova // urceni tridy sloupce try { String classname = metadata.getcolumnclassname( ( column + 1 ); // vraceni objektu tridy, ktera predstavuje classname return Class.forName( classname ); } // end try catch ( Exception exception ) { exception.printstacktrace(); } // end catch return Object.class; } // end method getcolumnclass

58 // ziskani tridy, ktera predstavuje typ sloupce public Class getcolumnclass( int column ) throws IllegalStateException { // zjisteni, zda je pripojeni k DB platne if (!connectedtodatabase! ) throw new IllegalStateException( "Not Connected to Database" ); Osnova // urceni tridy sloupce try { String classname = metadata.getcolumnclassname( ( column + 1 ); // vraceni objektu tridy, ktera predstavuje classname return Class.forName( classname ); } // end try catch ( Exception exception ) { exception.printstacktrace(); } // end catch return Object.class; } // end method getcolumnclass

59 // ziskani jmena konkretniho sloupce v ResultSet public String getcolumnname( int column ) throws IllegalStateException { // zjisteni, zda je DB dostupna if (!connectedtodatabase! ) throw new IllegalStateException( "Not Connected to Database" ); Osnova // urceni jmena sloupce try { return metadata.getcolumnname( column + 1 ); } // end try catch ( SQLException sqlexception ) { sqlexception.printstacktrace(); } // end catch return ""; // pri problemech vraci prazdny retezec misto jmena //sloupce } // end method getcolumnname

60 // vraci pocet radku v ResultSet public int getrowcount() throws IllegalStateException { // zjisteni, zda je DB pripojena if (!connectedtodatabase! ) throw new IllegalStateException( "Not Connected to Database" ); Osnova return numberofrows; } // end method getrowcount // ziskani hodnoty z konkretniho radku a sloupce public Object getvalueat( int row, int column ) throws IllegalStateException { // zjisteni, zda je DB dostupna if (!connectedtodatabase! ) throw new IllegalStateException( "Not Connected to Database" ); // ziskani hodnoty v konkretnim radku a sloupci v ResultSet try { resultset.absolute( row + 1 ); return resultset.getobject( column + 1 ); } // end try

61 catch ( SQLException sqlexception ) { sqlexception.printstacktrace(); } // end catch Osnova return ""; // pri problemech vraci prazdny retezec } // end method getvalueat // nastaveni noveho retezce databazoveho dotazu public void setquery( String query ) throws SQLException, IllegalStateException { // zjisteni, zda je DB dostupna if (!connectedtodatabase! ) throw new IllegalStateException( "Not Connected to Database" ); // specifikace dotazu a jeho vykonani resultset = statement.executequery( query ); // ziskani meta dat z ResultSet metadata = resultset.getmetadata(); // urceni poctu radku v ResultSet resultset.last(); // presun na posledni radek numberofrows = resultset.getrow(); // ziskani cisla radku

62 // uvedomeni JTable, ze se model zmenil firetablestructurechanged(); } // end method setquery Osnova // uzavreni Statement a Connection public void disconnectfromdatabase() { if (!connectedtodatabase! ) return; try { statement.close(); connection.close(); } // end try catch ( SQLException sqlexception ) { sqlexception.printstacktrace(); } // end catch finally // update database connection status { connectedtodatabase = false; } // end finally } // end method disconnectfromdatabase } // end class ResultSetTableModel

63 Třída ResultSet - pokračování 63 jednosměrná nebo obousměrná sada záznamů forward-only-recordset scrollable recordset vlastnosti třídy uvedeny v tabulkách

64 5.2 Dotazování v databázi books 64 Statický typ konstanty ResultSet TYPE_FORWARD_ONLY TYPE_SCROLL_INSENSITIVE TYPE_SCROLL_SENSITIVE Obr. 28 Popis Specifikuje, že kurzor ResultSet se může posunout pouze směrem dopředu (např. Od mprvního řádku k poslednímu řádku v ResultSet). Specifikuje, že kurzor ResultSet může rolovat v libovolném směru a že změny vytvořené v ResultSet během zpracování ResultSet nejsou reflektovány v ResultSet do doby než se program opět dotáže databáze. Specifikuje, že kurzor ResultSet může rolovat v libovolném směru a že změny udělané v ResultSet během zpracování ResultSet jsou okamžitě reflektovány v ResultSet. Konstanty ResultSet pro specifikaci typu ResultSet.

65 5.2 Dotazování v databázi books 65 Statické Popis concurrency constant ResultSet CONCUR_READ_ONLY Specifikuje, že ResultSet nemůže být aktualizován (např. Změny v obsahu ResultSet nemohou být reflektovány v databázi s ResultSet update methodami). CONCUR_UPDATABLE Specifikuje, že ResultSet může být aktualizován (např. Změny v obsahu ResultSet mohou být reflektovány v databázi s ResultSet update methodami). Obr. 29 Konstanty ResultSet pro specifikaci vlastností result.

66 // zobrazi obsah tabulky Authors v databazi Books package paket2; import java.awt.borderlayout; import java.awt.event.actionlistener; import java.awt.event.actionevent; import java.awt.event.windowadapter; import java.awt.event.windowevent; import java.sql.sqlexception; import javax.swing.jframe; import javax.swing.jtextarea; import javax.swing.jscrollpane; import javax.swing.scrollpaneconstants; import javax.swing.jtable; import javax.swing.joptionpane; import javax.swing.jbutton; import javax.swing.box; Osnova public class DisplayQueryResults extends JFrame { // JDBC driver, database URL, username and password static final String JDBC_DRIVER = "com.mysql.jdbc.driver " com.mysql.jdbc.driver"; static final String DATABASE_URL = "jdbc:mysql://localhost/books " jdbc:mysql://localhost/books"; static final String USERNAME= "jhtp6"; static final String PASSWORD= "jhtp6";

67 // standardni dotaz - ziska vsechna data z tabulky authors static final String DEFAULT_QUERY = "SELECT * FROM authors"; Osnova private ResultSetTableModel tablemodel; private JTextArea queryarea; // vytvoreni ResultSetTableModel a GUI public DisplayQueryResults() { super( "Displaying Query Results" ); // vytvoreni ResultSetTableModel a zobrazi tabulku databaze try { // vytvoreni TableModel pro vysledky dotazu SELECT * FROM authors tablemodel = new ResultSetTableModel( JDBC_DRIVER, DATABASE_URL, USERNAME, PASSWORD, DEFAULT_QUERY ); // nastaveni JTextArea ve ktere uzivatel zapise dotazy queryarea = new JTextArea( DEFAULT_QUERY, 3, 100 ); queryarea.setwrapstyleword( ( true ); queryarea.setlinewrap( true );

68 JScrollPane scrollpane = new JScrollPane( queryarea, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER ); Osnova // nastaveni JButton pro odeslani (submitting) dotazu JButton submitbutton = new JButton( "Submit Query" ); // vytvoreni Box k umisteni queryarea a // submitbutton do GUI Box box = Box.createHorizontalBox(); box.add( scrollpane ); box.add( submitbutton ); // vytvoreni JTable pro tablemodel JTable resulttable = new JTable( tablemodel ); // umisteni komponent GUI co obsahu pane add( box, BorderLayout.NORTH ); add( new JScrollPane( resulttable ), BorderLayout.CENTER );

69 // vytvoreni event listener pro submitbutton submitbutton.addactionlistener( Osnova new ActionListener() { // predani dotazu modelu table public void actionperformed( ActionEvent event ) { // vykonani noveho dotazu try { tablemodel.setquery( queryarea.gettext() ); } // end try catch ( SQLException sqlexception ) { JOptionPane.showMessageDialog( ( null, sqlexception.getmessage(), "Database error", JOptionPane.ERROR_MESSAGE ); // blok try pro osetreni neplatneho uzivatelskeho dotazu // pomoci vykonani standardniho dotazu try { tablemodel.setquery( DEFAULT_QUERY ); queryarea.settext( DEFAULT_QUERY ); } // end try

70 catch ( SQLException sqlexception2 ) { JOptionPane.showMessageDialog( ( null, sqlexception2.getmessage(), "Database error", JOptionPane.ERROR_MESSAGE ); Osnova // zjisteni, zda je pripojeni k DB uzavrene tablemodel.disconnectfromdatabase(); System.exit( 1 ); // ukonceni aplikace } // end inner catch } // end outer catch } // end actionperformed } // end ActionListener inner class ); // end call to addactionlistener setsize( 500, 250 ); // nastaveni velikosti okna setvisible( true ); // zobrazeni okna } // end try catch ( ClassNotFoundException classnotfound ) { JOptionPane.showMessageDialog( ( null, "MySQL driver not found", "Driver not found", JOptionPane.ERROR_MESSAGE ); System.exit( 1 ); // ukonceni aplikace } // end catch

71 catch ( SQLException sqlexception ) { JOptionPane.showMessageDialog( ( null, sqlexception.getmessage(), "Database error", JOptionPane.ERROR_MESSAGE ); Osnova // zjisteni, zda je pripojeni k DB zavreno tablemodel.disconnectfromdatabase(); System.exit( 1 ); // ukonceni aplikace } // end catch // uvolneni okna, kdyz uzivatel ukonci aplikaci (toto zastini // (overrides) standardni HIDE_ON_CLOSE) setdefaultcloseoperation( ( DISPOSE_ON_CLOSE );

72 // zjisteni, zda je uzavreno pripojeni k DB, kdyz uzivatel ukonci aplikaci addwindowlistener( Osnova new WindowAdapter() { // odpojeni od databaze a ukonceni, kdyz je uzavreno okno public void windowclosed( WindowEvent event ) { tablemodel.disconnectfromdatabase(); System.exit( 0 ); } // end method windowclosed } // end WindowAdapter inner class ); // end call to addwindowlistener } // end DisplayQueryResults constructor // spusteni aplikace public static void main( String args[] ) { new DisplayQueryResults(); } // end main } // end class DisplayQueryResults

73 Osnova Výstup programu s využitím GUI

74 6 Uložené procedury 74 Uložené procedury (Stored procedures) Uloží příkazy SQL v databázi Vyvolání SQL příkazů pomocí programu, který zpřístupní databázi Rozhraní CallableStatement Obdrží argumenty Výstup parametry

75 Internet a zdroje na webu 75 Sun Microsystems JDBC home page Java.sun.com/products/jdbc SQL materials Cloudscape database home page

76 7 Objektově relační mapování 76 Význam objektově relačního mapování (ORM) Dědičnost Strukturovaná data Vztahy mezi objekty Nástroje pro ORM JDO (Java Data Object) Hibernate (databáze pro J2EE)

77 Význam ORM 77 Indepance mismatch nesoulad mezi objektovými technologiemi a relačním uložením dat Vrstva ORM odděluje logický a fyzický datový model Mapování objektového modelu na fyzické databázové schéma manuální automatizované smíšené Mapování má velký vliv na efektivitu aplikací

78 Dědičnost 78 Sdílení společné struktury a chování Možnost opakovaného využitíčásti implementace společných částí Možnosti generického přístupu k částem hierarchie objektů Např. provedení akce nad všemi osobami Abstraktní / konkrétní třídy

79 Příklad hierarchie tříd 79

80 Mapování dědičnosti 80 Horizontální mapování Tabulka pro každou konkrétní třídu Obsahuje atributy všech bázových tříd Vertikální mapování Tabulka pro každou konkrétní i abstraktní třídu Získání informací o objektu vyžaduje přístup do více tabulek Mapování pomocí unie Společná tabulka pro více tříd Neefektivní uložení dat

81 Horizontální mapování 81 B id a b D id a C d E id a C e Vyber všechny hodnoty a (např. login a jméno všech osob) (SELECT a FROM B) UNION (SELECT a FROM D) UNION (SELECT a FROM E) Vyber konkrétní hodnotu typu D SELECT * FROM D WHERE id=100; Vytvoř nový objekt typu B INSERT INTO B(id, a, b) VALUES(100, a, b );

82 Vertikální mapování 82 A C E id a... id c... id e Vyber všechny hodnoty a (např. login a jméno všech osob) SELECT * FROM A; Vyber všechny hodnoty typu E SELECT * FROM (A JOIN C JOIN E) WHERE A.id=100; Vytvoř nový objekt typu B INSERT INTO A(id,a) VALUES(100, a ); INSERT INTO B(id,b) VALUES(100, b );

83 Mapování pomocí unie 83 T id type a b c d e Vyber všechny hodnoty a (např. login a jméno všech osob) SELECT a FROM T Vyber konkrétní hodnotu typu E SELECT a,c,e FROM T WHERE id=100; Vyber všechny hodnoty typu E SELECT id,a,c,e FROM T WHERE type= E ; Vytvoř nový objekt typu B INSERT INTO T(id, type, a, b) VALUES(100, B, a, b );

84 T1 id type a b Mapování pomocí unie 84 T2 id type a c d e Vyber všechny hodnoty a (např. login a jméno všech osob) (SELECT id, a FROM T1) UNION (SELECT id, a FROM T2) Vyber konkrétní hodnotu typu E SELECT a, c, e FROM T2 WHERE id= 100; Vyber všechny hodnoty typu E SELECT id, a, c, e FROM T2 WHERE type= E ; Vytvoř nový objekt typu B INSERT INTO T1(id, type, a, b)values(100, B, a, b );

85 Dědičnost - hodnocení 85 Horizontální mapování Složité dotazy nad abstraktními třídami (union) Vertikální mapování Složitější výběr konkrétního objektu (union) Příliš mnoho tabulek Flexibilita vhodné pro návaznost na existující data Mapování pomocí unie Rozumné množství tabulek Nutnost zavedení informace o typu Větší prostorové nároky

86 Strukturovaná data 86 Zanořený objekt (např. adresa osoby) Kolekce (např. kontakty osoby)

87 Zanořené objekty 87 Vložení atributů do vnějšího objektu id ulice psč obec adresa Osamostatnění zanořeného objektu id id_adr id ulice psč obec

88 Vztahy 88 1:1 přímá reference na objekt cizí klíč = primární klíč druhého objektu může být obousměrný vztah 1:N reference na straně N vazební tabulka není nutná M:N vazební tabulka cizí klíče do obou svázaných tabulek

89 Vztah 1:1 89 A B a b id b id Vyber hodnotu A příslušnou konkrétní hodnotě B SELECT B.* FROM A,B WHERE A.b=B.id AND A.id=100 Vyber hodnotu A příslušnou konkrétní hodnotě B SELECT A.* FROM A,B WHERE A.b=B.id AND B.id=100

90 Vztah 1:N 90 A B a a a A B id id a Vyber všechny hodnoty B příslušné konkrétní hodnotě A SELECT B.* FROM A,B WHERE B.a=A.id AND A.id=100

91 Vztah M:N 91 A B A AB B id a b id Vyber všechny hodnoty B příslušné konkrétní hodnotě A SELECT B.* FROM A,AB,B WHERE AB.a=A.id AND AB.b=B.id AND A.id=100

92 Použití nástrojů pro ORM Návrh objektového modelu např. UML 2. Implementace modelu např. Java 3. Doplnění podpůrných metod Perzistence vytvoření, uložení, načtení, zrušení objektu Transakce Referenční integrita

93 Přístupy k automatizaci ORM 93 Modifikace na úrovni zdrojového textu Dědičnost rozšíření o metody zajišťující perzistenci J2EE CMP (Container Managed Persistence) Modofikace vygenerovaných tříd JDO (Java Data Objects) Sun JSR 12 Mapování za běhu pomocí reflexe Hibernate

94 Další informace

Typ 2 - připojení prostřednictvím kódu nativního klienta pro přístup k síti

Typ 2 - připojení prostřednictvím kódu nativního klienta pro přístup k síti Práce s databází Specifikace JDBC Pro práci s relačními databázemi poskytuje Java rozhraní JDBC Java Database Connectivity. Specifikace tohoto rozhraní má několik verzí. Verze 1.x je součástí SDK již od

Více

Semináˇr Java X JDBC Semináˇr Java X p.1/25

Semináˇr Java X JDBC Semináˇr Java X p.1/25 Seminář Java X JDBC Seminář Java X p.1/25 Úvod JDBC API poskytuje základní rozhraní pro unifikovaný přístup k databázím Programátor je odstíněn od specifického API databáze Jednotné rozhraní JDBC pro všechny

Více

Návrh a tvorba WWW stránek 1/14. PHP a databáze

Návrh a tvorba WWW stránek 1/14. PHP a databáze Návrh a tvorba WWW stránek 1/14 PHP a databáze nejčastěji MySQL součástí balíčků PHP navíc podporuje standard ODBC PHP nemá žádné šablony pro práci s databází princip práce s databází je stále stejný opakované

Více

Použití databází na Webu

Použití databází na Webu 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2010/11/18 11:33:52 $ Obsah Co nás čeká... 3 Architektura webových databázových aplikací... 4 K čemu se používají databázové

Více

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev

Úvod do databází. Modelování v řízení. Ing. Petr Kalčev Úvod do databází Modelování v řízení Ing. Petr Kalčev Co je databáze? Množina záznamů a souborů, které jsou organizovány za určitým účelem. Jaké má mít přínosy? Rychlost Spolehlivost Přesnost Bezpečnost

Více

Databázové systémy. Cvičení 6: SQL

Databázové systémy. Cvičení 6: SQL Databázové systémy Cvičení 6: SQL Co je SQL? SQL = Structured Query Language SQL je standardním (ANSI, ISO) textovým počítačovým jazykem SQL umožňuje jednoduchým způsobem přistupovat k datům v databázi

Více

4. lekce Přístup k databázi z vyššího programovacího jazyka

4. lekce Přístup k databázi z vyššího programovacího jazyka 4. lekce Přístup k databázi z vyššího programovacího jazyka Studijní cíl Tento blok popisuje základní principy přístupu k databázi z vyššího programovacího jazyka. Doba nutná k nastudování 2-3 hodiny Průvodce

Více

Java a Caché IV: Manipulace s objekty

Java a Caché IV: Manipulace s objekty 1 z 6 11.1.2007 11:13 přihlašovací jméno heslo Registrace Přihlásit články odkazy aktuality CZJUG konference o portálu přidejte se o nás Vyhledávání Text: najdi Oborový filtr J2ME J2SE J2EE Enterprise

Více

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4. Základy programování 4 - C# - 9. cvičení Radek Janoštík Univerzita Palackého v Olomouci 10.4.2017 Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 10.4.2017 1 / 13 Reakce na

Více

Platforma Java. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, / 15

Platforma Java. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, / 15 Platforma Java Objektově relační mapování II Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/PJA: Seminář V. 27. říjen, 2016 1 / 15 Dotazování vyhledání objektu podle

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký 1, Miroslav Beneš 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký, Miroslav Beneš Tvorba informačních

Více

Databázové a informační systémy

Databázové a informační systémy Databázové a informační systémy doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Jak ukládat a efektivně zpracovávat

Více

Datová vrstva informačního systému. Miroslav Beneš

Datová vrstva informačního systému. Miroslav Beneš Datová vrstva informačního systému Miroslav Beneš Obsah přednášky JDBC architektura ovladače použití ODBC architektura ovladače a zdroje dat použití PHP & MySQL Datová vrstva informačního systému 2 Java

Více

Bridge. Známý jako. Účel. Použitelnost. Handle/Body

Bridge. Známý jako. Účel. Použitelnost. Handle/Body Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době

Více

Databáze I. Přednáška 4

Databáze I. Přednáška 4 Databáze I Přednáška 4 Definice dat v SQL Definice tabulek CREATE TABLE jméno_tab (jm_atributu typ [integr. omez.], jm_atributu typ [integr. omez.], ); integritní omezení lze dodefinovat později Definice

Více

Java - výjimky. private void vstup() throws IOException {... }

Java - výjimky. private void vstup() throws IOException {... } Java - výjimky Tato kapitola ukazuje na několika příkladech práci s výjimkami v Javě. Klíčové pojmy: Výjimka, hierarchie výjimek, zachytávání výjimek, blok try-catch, tvorba vlastních výjimek, propagace

Více

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata

Databáze. Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu. Bedřich Košata Databáze Velmi stručný a zjednodušený úvod do problematiky databází pro programátory v Pythonu Bedřich Košata K čemu jsou databáze Ukládání dat ve strukturované podobě Možnost ukládat velké množství dat

Více

TÉMATICKÝ OKRUH TZD, DIS a TIS

TÉMATICKÝ OKRUH TZD, DIS a TIS TÉMATICKÝ OKRUH TZD, DIS a TIS Číslo otázky : 20. Otázka : Datová vrstva informačního systému. Nezávislý přístup k datům - standardy ODBC/JDBC. Architektura a použití ADO.NET. Obsah : 1. ODBC 2. JDBC 2.1

Více

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc.

Kurz Databáze. Obsah. Dotazy. Zpracování dat. Doc. Ing. Radim Farana, CSc. 1 Kurz Databáze Zpracování dat Doc. Ing. Radim Farana, CSc. Obsah Druhy dotazů, tvorba dotazu, prostředí QBE (Query by Example). Realizace základních relačních operací selekce, projekce a spojení. Agregace

Více

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června 2007. krovacek@students.zcu.cz

Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky. 9. června 2007. krovacek@students.zcu.cz Databáze čajových sáčků Martina Málková Západočeská univerzita v Plzni Katedra informatiky a výpočetní techniky Databázové systémy 2 9. června 2007 krovacek@students.zcu.cz 1 1 Datová analýza V původním

Více

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5);

Třídy a objekty. Třídy a objekty. Vytvoření instance třídy. Přístup k atributům a metodám objektu. $z = new Zlomek(3, 5); Programovací jazyk PHP doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah Třídy a objekty Výjimky Webové aplikace

Více

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE

2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE 2. blok část B Základní syntaxe příkazů SELECT, INSERT, UPDATE, DELETE Studijní cíl Tento blok je věnován základní syntaxi příkazu SELECT, pojmům projekce a restrikce. Stručně zde budou představeny příkazy

Více

Datová vrstva informačního systému. Java Database Connectivity JDBC. Obsah přednášky JDBC. Datová vrstva informačního systému

Datová vrstva informačního systému. Java Database Connectivity JDBC. Obsah přednášky JDBC. Datová vrstva informačního systému Datová vrstva informačního systému Miroslav Beneš Obsah přednášky JDBC architektura ovladače použití ODBC architektura ovladače a zdroje dat použití PHP & MySQL Datová vrstva informačního systému 2 Java

Více

8.2 Používání a tvorba databází

8.2 Používání a tvorba databází 8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam

Více

Databázové systémy Cvičení 5.2

Databázové systémy Cvičení 5.2 Databázové systémy Cvičení 5.2 SQL jako jazyk pro definici dat Detaily zápisu integritních omezení tabulek Integritní omezení tabulek kromě integritních omezení sloupců lze zadat integritní omezení jako

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 8 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování Entita Entitní typ

Více

O Apache Derby detailněji. Hynek Mlnařík

O Apache Derby detailněji. Hynek Mlnařík O Apache Derby detailněji Hynek Mlnařík Agenda Historie Vlastnosti Architektura Budoucnost Historie 1997 Cloudscape Inc. - JBMS 1999 Informix Software, Inc. odkoupila Cloudscape, Inc. 2001 IBM odkoupila

Více

Object-relational mapping (JPA, Hibernate)

Object-relational mapping (JPA, Hibernate) Vysoká škola báňská - technická univerzita Ostrava 17. března 2010 Obsah 1 2 3 4 namapovat chování objektového světa do relačních struktur a naopak, tak aby spolu mohli jednoduše komunikovat většina moderních

Více

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce

Databázové systémy II. KIV/DB2 LS 2007/2008. Zadání semestrální práce Databázové systémy 2 Jméno a příjmení: Jan Tichava Osobní číslo: Studijní skupina: čtvrtek, 4 5 Obor: ININ SWIN E-mail: jtichava@students.zcu.cz Databázové systémy II. KIV/DB2 LS 2007/2008 Zadání semestrální

Více

RMI Remote Method Invocation

RMI Remote Method Invocation 2. cvičení RMI Remote Method Invocation 2007/09 ver.2.0 1 RMI co to je? vyvolání metody z jiné JVM lokalizace vzdáleného objektu komunikace se vzdálenými objekty přenos objektu v bytecode typicky klient

Více

Semestrální práce z DAS2 a WWW

Semestrální práce z DAS2 a WWW Univerzita Pardubice Fakulta elektrotechniky a informatiky Semestrální práce z DAS2 a WWW Databázová část Matěj Trakal 8.12.2009 Kapitola 1: Obsah KAPITOLA 1: OBSAH 2 KAPITOLA 2: ZÁKLADNÍ CHARAKTERISTIKA

Více

Michal Krátký, Miroslav Beneš

Michal Krátký, Miroslav Beneš Databázové a informační systémy Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava 5.12.2005 2005 Michal Krátký, Miroslav Beneš Databázové a informační systémy 1/24 Obsah

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

Více

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant

Základy informatiky. 06 Databázové systémy. Kačmařík/Szturcová/Děrgel/Rapant Základy informatiky 06 Databázové systémy Kačmařík/Szturcová/Děrgel/Rapant Problém zpracování dat důvodem je potřeba zpracovat velké množství dat, evidovat údaje o nějaké skutečnosti: o skupině lidí (zaměstnanců,

Více

Teoretické minimum z PJV

Teoretické minimum z PJV Teoretické minimum z PJV Pozn.: následující text popisuje vlastnosti jazyka Java zjednodušeně pouze pro potřeby výuky. Třída Zavádí se v programu deklarací třídy což je část programu od klíčových slov

Více

Základy informatiky. 08 Databázové systémy. Daniela Szturcová

Základy informatiky. 08 Databázové systémy. Daniela Szturcová Základy informatiky 08 Databázové systémy Daniela Szturcová Problém zpracování dat Důvodem je potřeba zpracovat velké množství dat - evidovat údaje o nějaké skutečnosti. o skupině lidí (zaměstnanců, studentů,

Více

Ukládání a vyhledávání XML dat

Ukládání a vyhledávání XML dat XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2014/12/04 19:41:24 $ Obsah Ukládání XML dokumentů... 3 Ukládání XML do souborů... 4 Nativní XML databáze... 5 Ukládání

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz Ostrava, 2014 Opakování 4 fáze vytváření

Více

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal

Databázové systémy. - SQL * definice dat * aktualizace * pohledy. Tomáš Skopal Databázové systémy - SQL * definice dat * aktualizace * pohledy Tomáš Skopal Osnova přednášky definice dat definice (schémat) tabulek a integritních omezení CREATE TABLE změna definice schématu ALTER TABLE

Více

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška

Databázové systémy. Datová integrita + základy relační algebry. 4.přednáška Databázové systémy Datová integrita + základy relační algebry 4.přednáška Datová integrita Datová integrita = popisuje pravidla, pomocí nichž hotový db. systém zajistí, že skutečná fyzická data v něm uložená

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2007/2008 c 2005 2008 Michal Krátký Tvorba informačních systémů 1/39 Konceptuální

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd.

PL/SQL. Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. PL/SQL Jazyk SQL je jazykem deklarativním, který neobsahuje procedurální příkazy jako jsou cykly, podmínky, procedury, funkce, atd. Rozšířením jazyka SQL o proceduralitu od společnosti ORACLE je jazyk

Více

Jazyk SQL databáze SQLite. připravil ing. petr polách

Jazyk SQL databáze SQLite. připravil ing. petr polách Jazyk SQL databáze SQLite připravil ing. petr polách SQL - úvod Structured Query Language (strukturovaný dotazovací jazyk 70. léta min. století) Standardizovaný dotazovací jazyk používaný pro práci s daty

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006-2007 Michal Krátký, Miroslav Beneš Tvorba informačních

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2005/2006 c 2006 Michal Krátký Tvorba informačních systémů 1/35 Konceptuální

Více

Informační systémy ve zdravotnictví. 6. cvičení

Informační systémy ve zdravotnictví. 6. cvičení Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Informační systémy ve zdravotnictví 6. cvičení Ing. Petr Lukáš petr.lukas@nativa.cz Ostrava, 2014 Opakování Relace

Více

George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu

George J. Klir. State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu A Tutorial Advances in query languages for similarity-based databases George J. Klir Petr Krajča State University of New York (SUNY) Binghamton, New York 13902, USA gklir@binghamton.edu Palacky University,

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek 5 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Jazyk SQL, Spojení tabulek, agregační dotazy, jednoduché a složené

Více

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013

OBJECT DEFINITION LANGUAGE. Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013 OBJECT DEFINITION LANGUAGE Jonáš Klimeš NDBI001 Dotazovací Jazyky I 2013 ODL a OQL ODL Objektové Object Definition Language popis objektového schéma SQL DDL Relační Data Definition Language příkazy CREATE,

Více

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS 7. Integrita a bezpečnost dat v DBS 7.1. Implementace integritních omezení... 2 7.1.1. Databázové triggery... 5 7.2. Zajištění bezpečnosti dat... 12 7.2.1. Bezpečnostní mechanismy poskytované SŘBD... 13

Více

7. Integrita a bezpečnost dat v DBS

7. Integrita a bezpečnost dat v DBS 7. Integrita a bezpečnost dat v DBS 7.1. Implementace integritních omezení... 2 7.1.1. Databázové triggery... 5 7.2. Zajištění bezpečnosti dat... 12 7.2.1. Bezpečnostní mechanismy poskytované SŘBD... 13

Více

Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D. http://siret.cz/hoksza

Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hoksza, Ph.D. http://siret.cz/hoksza Databáze 2011/2012 SQL DDL (CREATE/ALTER/DROP TABLE), DML (INSERT/UPDATE/DELETE) RNDr.David Hksza, Ph.D. http://siret.cz/hksza Osnva Seznámení s SQL Server Management Studiem (SSMS) Základní architektura

Více

Databázové a informační systémy Jana Šarmanová

Databázové a informační systémy Jana Šarmanová Databázové a informační systémy Jana Šarmanová Obsah Úloha evidence údajů, způsoby evidování Databázové technologie datové modely, dotazovací jazyky. Informační systémy Datové sklady Metody analýzy dat

Více

Databáze I. Přednáška 7

Databáze I. Přednáška 7 Databáze I Přednáška 7 Objektové rozšíření SQL Objektově relační databáze SQL:1999 objektové rozšíření SQL vztahuje se k objektově relačním databázovým systémům ukládají objekty do relační databáze umožňují

Více

KIV/ZIS cvičení 5. Tomáš Potužák

KIV/ZIS cvičení 5. Tomáš Potužák KIV/ZIS cvičení 5 Tomáš Potužák Úvod do SQL (1) SQL (Structured Query Language) je standardizovaný strukturovaný dotazovací jazyk pro práci s databází Veškeré operace v databázi se dají provádět pomocí

Více

STARÁ DOBRÁ JAVA A PERSISTENCE S CACHÉ

STARÁ DOBRÁ JAVA A PERSISTENCE S CACHÉ STARÁ DOBRÁ JAVA A PERSISTENCE S CACHÉ Technologie Jalapeño od InterSystems Andreas Dieckow, Principal Product Manager, Strategic Planning InterSystems Corporation Úvod Programovací jazyk Java má díky

Více

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky. Databázová aplikace pro evidenci mechatronických stavebnic Michal Grof

UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky. Databázová aplikace pro evidenci mechatronických stavebnic Michal Grof UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Databázová aplikace pro evidenci mechatronických stavebnic Michal Grof Bakalářská práce 2011 Prohlášení autora Prohlašuji, že jsem tuto práci

Více

Jazyk C# - přístup k datům

Jazyk C# - přístup k datům Jazyk C# - přístup k datům Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Data Reader BI-PCS Evropský sociální fond Praha & EU:

Více

KMI / TMA Tvorba mobilních aplikací. 6. seminář ZS 2016/2017 Středa 13:15-15:45

KMI / TMA Tvorba mobilních aplikací. 6. seminář ZS 2016/2017 Středa 13:15-15:45 KMI / TMA Tvorba mobilních aplikací 6. seminář 2.11.2016 ZS 2016/2017 Středa 13:15-15:45 OBSAH SEMINáře Ukládání dat Ukládání dat Jaké jsou možnosti? SharedPreferences jednoduchá data databáze SQLite relační

Více

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.

Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans. 1 Grafické rozhraní Studijní cíl Tento blok je věnován vytváření programů s využitím grafického rozhraní (GUI). Vysvětlen bude základní filozofie pro vytváření aplikací s GUI ve srovnání s konzolovými

Více

5. POČÍTAČOVÉ CVIČENÍ

5. POČÍTAČOVÉ CVIČENÍ 5. POČÍTAČOVÉ CVIČENÍ Databáze Databázi si můžeme představit jako místo, kam se ukládají všechny potřebné údaje. Přístup k údajům uloženým v databázi obstarává program, kterému se říká Systém Řízení Báze

Více

Programování v jazyku C# II. 5.kapitola

Programování v jazyku C# II. 5.kapitola Programování v jazyku C# II. 5.kapitola Obsah O ADO.NET Spojení s DB Příkazy Jednoduché čtení DataSet 2/28 ADO.NET ADO - ActiveX Data Object Orientováno na webové aplikace neexistence stavu v HTTP Obecný

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

Více

KTE / ZPE Informační technologie

KTE / ZPE Informační technologie 4 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Největší

Více

Kurz Databáze. Přechod na SQL server. Obsah. Vytvoření databáze. Lektor: Doc. Ing. Radim Farana, CSc.

Kurz Databáze. Přechod na SQL server. Obsah. Vytvoření databáze. Lektor: Doc. Ing. Radim Farana, CSc. Kurz Databáze Přechod na SQL server Lektor: Doc. Ing. Radim Farana, CSc. Obsah Vytvoření databáze. Konverze databáze z MS-Access na SQL Server. Konverzní předpis pro pozdější použití. Definice schématu

Více

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4

1 Administrace systému 3. 1.3 Moduly... 3 1.4 Skupiny atributů... 4 1.5 Atributy... 4 1.6 Hodnoty atributů... 4 CRM SYSTÉM KORMORÁN PŘÍRUČKA ADMINISTRÁTORA Obsah 1 Administrace systému 3 1.1 Uživatelské účty.................................. 3 1.2 Přístupová práva................................. 3 1.3 Moduly.......................................

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

Tvorba informačních systémů

Tvorba informačních systémů Tvorba informačních systémů Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2007/2008 c 2006-2008 Michal Krátký, Miroslav Beneš Tvorba informačních

Více

Soubor jako posloupnost bytů

Soubor jako posloupnost bytů Soubory Soubor je množina údajů uložená ve vnější paměti počítače, obvykle na disku Pro soubor jsou typické tyto operace. otevření souboru čtení údaje zápis údaje uzavření souboru Přístup k údajům (čtení

Více

Databázové systémy a SQL

Databázové systémy a SQL Databázové systémy a SQL Daniel Klimeš Autor, Název akce 1 About me Daniel Klimeš Vzdělání: Obecná biologie PGS: onkologie Specializace: klinické databáze Databáze ORACLE klimes@iba.muni.cz Kotlářská 2,

Více

Jazyk C# - přístup k datům

Jazyk C# - přístup k datům Jazyk C# - přístup k datům Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Entity Framework BI-PCS Evropský sociální fond Praha

Více

public static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text());

public static void main(string[] args) { System.out.println(new Main().getClass().getAnnotation(Greet.class).text()); Anotace a Hibernate Aleš Nosek, Ondřej Vadinský, Daniel Krátký Anotace v Javě Anotace jsou novinkou v Javy verze 5. Anotace umožňují doplnit kód Javy o dodatečné informace. Zapisují se přímo do zdrojového

Více

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux

B0M33BDT Technologie pro velká data. Supercvičení SQL, Python, Linux B0M33BDT Technologie pro velká data Supercvičení SQL, Python, Linux Sergej Stamenov, Jan Hučín 18. 10. 2017 Osnova cvičení Linux SQL Python 2 SQL pro uživatele aneb co potřebuje znát a umět bigdatový uživatel:

Více

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav

Inovace a zkvalitnění výuky prostřednictvím ICT. Základní seznámení s MySQL Ing. Kotásek Jaroslav Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Autor: Číslo: Anotace: Inovace a zkvalitnění výuky prostřednictvím ICT Databáze Základní seznámení s MySQL

Více

Kapitola 1: Co je Microsoft Access? 27 Kapitola 2: Mnoho tváří aplikace Microsoft Access 41 Kapitola 3: Návrh databázové aplikace 75

Kapitola 1: Co je Microsoft Access? 27 Kapitola 2: Mnoho tváří aplikace Microsoft Access 41 Kapitola 3: Návrh databázové aplikace 75 Stručný obsah Část 1 Základy aplikace Microsoft Access Kapitola 1: Co je Microsoft Access? 27 Kapitola 2: Mnoho tváří aplikace Microsoft Access 41 Kapitola 3: Návrh databázové aplikace 75 Část 2 Vytváření

Více

KIV/ZIS cvičení 6. Tomáš Potužák

KIV/ZIS cvičení 6. Tomáš Potužák KIV/ZIS cvičení 6 Tomáš Potužák Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Slučování záznamů do skupin (1) Chceme zjistit informace obsažené ve více záznamech najednou Klauzule GROUP

Více

DPKOM_06 Dědičnost entit a zpětná volání posluchači

DPKOM_06 Dědičnost entit a zpětná volání posluchači DPKOM_06 Dědičnost entit a zpětná volání posluchači 1 Obsah přednášky Jedna tabulka pro hierarchii tříd Tabulka pro konkrétní třídu Tabulka pro podtřídu Neentitní základní třídy Události zpětného volání

Více

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů Tvorba informačních systémů 1/18 Tvorba informačních systémů Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2008/2009 Tvorba informačních systémů 2/18 Úvod

Více

Oracle XML DB. Tomáš Nykodým

Oracle XML DB. Tomáš Nykodým Oracle XML DB Tomáš Nykodým xnykodym@fi.muni.cz Osnova Oracle XML DB Architektura Oracle XML DB Hlavní rysy Oracle XML DB Hlavní rysy Oracle XML DB - pokračování XMLType XML Repository Využívání databázových

Více

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou

InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) CSV v textovém souboru ve formátu hodnot oddělených čárkou MySQL Typy tabulek Storage Engines MyISAM defaultní, neumí transakce, umí fulltext InnoDB transakce, cizí klíče, neumí fulltext (a nebo už ano?) MEMORY (HEAP) v paměti; neumí transakce ARCHIVE velké množství

Více

Generické programování

Generické programování Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =

Více

Jalapeño: pekelně ostrá Java persistence v Caché. Daniel Kutáč Senior Sales Engineer

Jalapeño: pekelně ostrá Java persistence v Caché. Daniel Kutáč Senior Sales Engineer Jalapeño: pekelně ostrá Java persistence v Caché Daniel Kutáč Senior Sales Engineer Co je Jalapeño Pár slov ředitele vývoje software Klikni! Tak tedy, o čem dnes budeme mluvit Architektura Instalace Anotace

Více

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů - 1.1 - Kapitola 1: Úvod Účel databázových systémů Pohled na data Modely dat Jazyk pro definici dat (Data Definition Language; DDL) Jazyk pro manipulaci s daty (Data Manipulation Language; DML) Správa

Více

Programování v Javě I. Leden 2008

Programování v Javě I. Leden 2008 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Programování v Javě (1) 1/ 45 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

Programování v Javě I. Únor 2009

Programování v Javě I. Únor 2009 Seminář Java Programování v Javě I Radek Kočí Fakulta informačních technologií VUT Únor 2009 Radek Kočí Seminář Java Programování v Javě (1) 1/ 44 Téma přednášky Datové typy Deklarace třídy Modifikátory

Více

Vytváření a použití knihoven tříd

Vytváření a použití knihoven tříd Vytváření a použití knihoven tříd doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Prostory jmen motivace spolupráce

Více

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava Šablona 32 VY_32_INOVACE_038.ICT.34 Tvorba webových stránek SQL stručné minimum OA a JŠ Jihlava, VY_32_INOVACE_038.ICT.34 Číslo

Více

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML Obsah přednášky Webové služby a XML Miroslav Beneš Co jsou to webové služby Architektura webových služeb SOAP SOAP a Java SOAP a PHP SOAP a C# Webové služby a XML 2 Co jsou to webové služby rozhraní k

Více

Databáze SQL SELECT. David Hoksza http://siret.cz/hoksza

Databáze SQL SELECT. David Hoksza http://siret.cz/hoksza Databáze SQL SELECT David Hoksza http://siret.cz/hoksza Osnova Úvod do SQL Základní dotazování v SQL Cvičení základní dotazování v SQL Structured Query Language (SQL) SQL napodobuje jednoduché anglické

Více

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 26.3.

Univerzita Palackého v Olomouci Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 26.3. Základy programování 4 - C# 7. cvičení Radek Janoštík Univerzita Palackého v Olomouci 26.3.2017 Radek Janoštík (Univerzita Palackého v Olomouci) Základy programování 4 - C# 26.3.2017 1 / 14 Reakce na úkoly

Více

KIV/PIA 2013 Jan Tichava

KIV/PIA 2013 Jan Tichava KIV/PIA 2013 Jan Tichava Java EE JSF, PrimeFaces Spring JPA, EclipseLink Java Platform, Enterprise Edition Persistence Zobrazovací vrstva Interakce aplikací Deployment Java Persistence API Enterprise

Více

Stručný obsah. K2118.indd 3 19.6.2013 9:15:27

Stručný obsah. K2118.indd 3 19.6.2013 9:15:27 Stručný obsah 1. Stručný obsah 3 2. Úvod 11 3. Seznamy a databáze v Excelu 13 4. Excel a externí data 45 5. Vytvoření kontingenční tabulky 65 6. Využití kontingenčních tabulek 81 7. Kontingenční grafy

Více

Stěhování aplikací. Michal Tomek, Sales Manager

Stěhování aplikací. Michal Tomek, Sales Manager Stěhování aplikací Michal Tomek, Sales Manager Agenda Co míníme stěhováním Typické situace Role InterSystems Příležitosti Migrace Stěhování informačního systému Nová budova. HW a OS Získáme nové vlastnosti

Více

Abstraktní datové typy: zásobník

Abstraktní datové typy: zásobník Abstraktní datové typy: zásobník doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Abstraktní datové typy omezené rozhraní

Více

Úvod do databázových systémů

Úvod do databázových systémů Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Database Research Group Úvod do databázových systémů Cvičení 3 Ing. Petr Lukáš petr.lukas@vsb.cz

Více

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi.

Databázový systém označuje soubor programových prostředků, které umožňují přístup k datům uloženým v databázi. Databáze Základní pojmy Pojem databáze označuje obecně souhrn informací, údajů, dat o nějakých objektech. Úkolem databáze je hlídat dodržení všech omezení a dále poskytovat data při operacích. Objekty

Více

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23

Obsah. Kapitola 1. Kapitola 2. Kapitola 3. Kapitola 4. Úvod 11. Stručný úvod do relačních databází 13. Platforma 10g 23 Stručný obsah 1. Stručný úvod do relačních databází 13 2. Platforma 10g 23 3. Instalace, první přihlášení, start a zastavení databázového serveru 33 4. Nástroje pro administraci a práci s daty 69 5. Úvod

Více