Plan wykładu. 1. Zaawansowane możliwości JDBC: rodzaje obiektów ResultSet, dodatkowe możliwości obiektów ResultSet, zapytania prekompilowane,

Wielkość: px
Rozpocząć pokaz od strony:

Download "Plan wykładu. 1. Zaawansowane możliwości JDBC: rodzaje obiektów ResultSet, dodatkowe możliwości obiektów ResultSet, zapytania prekompilowane,"

Transkrypt

1 1 Plan wykładu 1. Zaawansowane możliwości JDBC: rodzaje obiektów ResultSet, dodatkowe możliwości obiektów ResultSet, zapytania prekompilowane, wywoływanie zdalnych procedur, transakcje. 2. SSL i bazy danych: przykład HSQLDB.

2 2 Rodzaje obiektów ResultSet Ze względu na dostęp do odebranych danych obiekty ResultSet dzielimy na: TYPE_FORWARD_ONLY odbiór danych kolejno od pierwszego do ostatniego rekordu, TYPE_SCROLL_INSENSITIVE dostęp do dowolnych danych, przygotowane wyniki nie zmieniają sie pod wpływem zmian w bazie. TYPE_SCROLL_SENSITIVE dostęp do dowolnych danych, przygotowane wyniki zmieniają sie pod wpływem zmian w bazie. Kolejność rekordów nie musi być stała. Rodzaj dostępu zmieniamy metodą setfetchdirection(int). Do przechodzenia między rekordami służą metody: next(), previous(), last(), first(), absolute(), relative().

3 3 Rodzaje obiektów ResultSet Obiekty ResultSet mogą mieć różne możliwości zmieniana odebranych danych: 1. CONCUR_READ_ONLY dane nie mogą być zmienione poprzez metody updatexxx(). najwyższy poziom współbieżności (największa liczba użytkowników jednocześnie operujących na danych jedyna możliwość w wersji JDBC CONCUR_UPDATABLE dane mogą być zmieniane. zmniejszony poziom współbieżności, mniejsza wydajność.

4 Rodzaje obiektów ResultSet Connection con = DriverManager.getConnection( "jdbc:my_subprotocol:my_subname"); Statement stmt = con.createstatement( stmt.setfetchsize(25); ResultSet rs = stmt.executequery( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE, ResultSet.HOLD_CURSORS_OVER_COMMIT); "SELECT col1, col2 FROM table1"); Obiekt rs udostępnia dane w dowolnej kolejności, umożliwia zmianę danych, nie jest zamykany przy zatwierdzeniu transakcji. Do bazy danych zostaje przekazana sugestia, aby dane odbierać w pakietach po 25 rekordów. 4

5 5 Inne operacje na obiektach ResultSet 1. Usuwanie rekordów: rs.first(); rs.deleterow(); 2. Wstawianie rekordów: rs.movetoinsertrow(); rs.updateobject(1, myarray); rs.updateint(2, 3857); rs.updatestring(3, "Mysteries"); rs.insertrow(); rs.first();

6 6 Inne operacje na obiektach ResultSet Uwagi do wstawiania rekordów: 1. Na wstawianym rekordzie można wywoływać metody getxxx(). Jeśli odpowiednia wartość nie została ustawiona wcześniej metodą updatexxx() wartość zwracana będzie nieokreślona. 2. Aktualizacja wartości we wstawianym rekordzie nie zmienia obiektu ResultSet. 3. metoda insertrow(), dodająca rekord do obiektu ResultSet i do bazy danych zrzuca SQLException, jeśli liczba lub typy kolumn nie zgadzają się ze specyfikacją tabeli w bazie. 4. Bieżącym rekordem jest ten, który był nim przed wywołaniem metody movetoinsertrow().

7 Inne operacje na obiektach ResultSet Odczytywanie dużych porcji danych: Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery("select xdata FROM Table2"); byte [] buff = new byte[4096]; while (rs.next()) { InputStream fin = rs.getasciistream(1); for (;;) { int size = fin.read(buff); if (size == -1) break; // wypisanie danych System.out.write(buff, 0, size); } } 7

8 Prekompilowane zapytania JDBC przewiduje możliwość tworzenia prekompilowanych zapytań. Służy do tego klasa PreparedStatement wyprowadzona z klasy Statement. Przykłady: PreparedStatement pstmt = con.preparestatement( "UPDATE table4 SET m =? WHERE x =?"); PreparedStatement pstmt2 = con.preparestatement( "SELECT a, b, c FROM Table1", ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet rs = pstmt2.executequery(); Używanie prekompilowanych zapytań może zwiększyć szybkość działania programu. 8

9 Przekazywanie parametrów Przekazywanie parametrów: pstmt.setstring(1, "Hi"); for (int i = 0; i < 10; i++) { pstmt.setint(2, i); int rowcount = pstmt.executeupdate(); } Od wersji JDBC 2.0 można przekazywać parametry typu SQL BLOB oraz SQL ARRAY. PreparedStatement pstmt = con.preparestatement( "UPDATE Table3 SET Stats =? WHERE Depts =?"); pstmt.setblob(1, statistics); pstmt.setarray(2, departments); 9

10 10 Przekazywanie dużych parametrów Przykład pokazuje jak przesłać zawartość pliku jako parametr wejściowy: File file = new File("/tmp/data"); int filelength = file.length(); InputStream fin = new FileInputStream(file); PreparedStatement pstmt = con.preparestatement( "UPDATE Table5 SET stuff =? WHERE index = 4"); pstmt.setbinarystream (1, fin, filelength); pstmt.executeupdate(); Inny sposób polega na wykorzystaniu typów BLOB i CLOB.

11 11 Informacje o parametrach Dodatkowe dane o parametrach prekompilowanego zapytania można uzyskać poprzez interfejs ParameterMetaData (JDBC 3.0): PreparedStatement pstmt = con.preparestatement( "INSERT INTO QUOTAS (ID, LAST, FIRST, DEPT, QUOTA) " + "VALUES (?,?,?,?,?)"; ParameterMetaData paraminfo = pstmt.getparametermetadata(); int numberofparams = paraminfo.getparametercount(); for (int i = 1; i <= numberofparams; i++) { String dbtype = paraminfo.getparametertypename(i); System.out.println("Param " + i " is DBMS type " + dbtype); }

12 Serie prekompilowanych zapytań Podobnie jak w przypadku Statement istnieje możliwość przesłania serii zapytań. PreparedStatement pstmt = con.preparestatement( "UPDATE Table4 SET History =? WHERE ID =?"); pstmt.setclob(1, clob1); pstmt.setlong(2, ); pstmt.addbatch(); pstmt.setclob(1, clob2); pstmt.setlong(2, ); pstmt.addbatch(); int [] updatecounts = pstmt.executebatch(); Jeśli którekolwiek z zapytań UPDATE zwróci cokolwiek ponad liczbę zmienionych rekordów metoda executebatch() zrzuci wyjątek. 12

13 Zdalne procedury Do wywoływania zdalnych procedur używa się obiektów klasy CallableStatement: CallableStatement cstmt = con.preparecall( "{call updateprices(?,?)}"); cstmt.setstring(1, "Colombian"); cstmt.setfloat(2, 8.49f); cstmt.addbatch(); cstmt.setstring(1, "Colombian_Decaf"); cstmt.setfloat(2, 9.49f); cstmt.addbatch(); int [] updatecounts = cstmt.executebatch(); Procedura zostanie wywołana dwukrotnie Parametry przekazywane do procedury nazywamy parametrami IN. 13

14 Zdalne procedury odbieranie wyników Istnieje możliwość ustawienia parametrów przez zdalną procedurę (parametry OUT): CallableStatement cstmt = con.preparecall( "{call gettestdata(?,?)}"); cstmt.registeroutparameter(1, java.sql.types.tinyint); cstmt.registeroutparameter(2, java.sql.types.decimal); ResultSet rs = cstmt.executequery(); //... odczyt danych poprzez ResultSet byte x = cstmt.getbyte(1); // odczyt zwracanych parametrow BigDecimal n = cstmt.getbigdecimal(2); Procedura wypełnia przekazywane parametry. 14

15 15 Zdalne procedury odbieranie wyników Numeracja parametrów OUT: CallableStatement cstmt = con.preparecall( "{call gettestdata(25,?)}"); cstmt.registeroutparameter(1, java.sql.types.tinyint); Przy numeracji uwzględniane są tylko parametry oznaczone znakiem zapytania

16 Zdalne procedury parametry INOUT Parametry INOUT to takie, które są przekazywane do procedury a następnie modyfikowane przez wywołaną procedurę. CallableStatement cstmt = con.preparecall( "{call revisetotal(?)}"); cstmt.setbyte(1, (byte)25); cstmt.registeroutparameter(1, java.sql.types.tinyint); cstmt.executeupdate(); byte x = cstmt.getbyte(1); Parametr jest najpierw ustawiany IN a następnie rejestrowany jako OUT. Po wywołaniu procedury można odebrać jego nową wartość. Zaleca się odebranie wszystkich danych poprzez obiekt ResultSet przed odebraniem parametrów INOUT. 16

17 17 Transakcje Transakcje to zbiór operacji zgrupowanych w jednym lub wielu obiektach Statement. Aby zakończyć transakcję należy wywołać metodę commit() na rzecz obiuektu Connection. Domyślnie metoda commit() jest wywoływana po zakończeniu wykonywania zapytań w ramach jednego obiektu Statement. Aby to zmienić należy użyć metody setautocommit(false). Do anulowania zmian wprowadzonych przez niezatwierdzoną transakcję służy metoda rollback().

18 18 Poziomy izolacji Zwykle w systemy baz danych realizują jednocześnie wiele transakcji. Aby zapewnić kontrolę nad tym procesem wprowadzono tzw. poziomy izolacji, poprzez które określa się zasady równoległej realizacji kilku transakcji. JDBC przewiduje pięć poziomów izolacji: TRANSACTION_NONE brak transakcji. TRANSACTION_READ_UNCOMMITTED dopuszcza odczyt danych przed wywołaniem metody commit(). TRANSACTION_READ_COMMITTED inne transakcje nie mogą odczytywać zmienionych wierszy przed wywołaniem metody commit() (dirty reads).

19 19 Poziomy izolacji TRANSACTION_REPEATABLE_READ dodatkowo chroni przed sytuacją gdy transakcja odczytuje wiersz, druga transakcja go zmienia a pierwsza ponownie go odczytuje otrzymując inne dane (non-repetable reads). TRANSACTION_SERIALIZABLE dodatkowo chroni przed sytuacją, gdy jedna transakcja odczytuje zbiór wierszy spełniający kryteria zawarte w warunku WHERE, następnie druga transakcja wstawia wiersz spełniający ten warunek, po czym pierwsza transakcja ponownie odczytuje zbiór wierszy dostając nowy rekord (phantom-read). Poziomy izolacji ustawia się metodą settransactionisolation(int) wywołaną na rzecz obiektu klasy Connection.

20 Etapy transakcji - Savepoints Obiekt Savepoint (JDBC 3.0) umożliwia częściowe odwrócenie (rollback) transakcji zamiast całkowitego. Do utworzenia tego obiektu służy metoda setsavepoint(). Statement stmt = con.createstatement(); int rows = stmt.executeupdate("insert INTO AUTHORS VALUES " + "(LAST, FIRST, HOME) 'TOLSTOY', 'LEO', 'RUSSIA'"); Savepoint save1 = con.setsavepoint("savepoint_1"); int rows = stmt.executeupdate("insert INTO AUTHORS VALUES " + "(LAST, FIRST, HOME) 'MELVOY', 'HAROLD', 'FOOLAND'");... con.rollback(save1);... con.commit(); 20

21 HSQLDB SSL HSQLDB umożliwia szyfrowanie transmisji. Aby taka transmisja była możliwa zarówno serwer jak i klient muszą być odpowiednio skonfigurowane. Konfiguracja serwera: 1. Generowanie certyfikatu serwera: >keytool -genkey -alias hsqldb -keyalg RSA -validity 30 -keystore hsqlserver.store Enter keystore password: hsqldb What is your first and last name?... [Unknown]: localhost Is CN=localhost, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct? [no]: yes Enter key password for <hsqldb> (RETURN if same as keystore password): 21

22 22 HSQLDB SSL Inny sposób generowania klucza gdy posiadamy certyfikat podpisany przez zewnętrzne Centrum Autoryzacji openssl pkcs8 -topk8 -outform DER -in Xpvk.pem -inform PEM -out Xpvk.pk8 -nocrypt openssl x509 -in Xcert.pem -out Xcert.der -outform DER java DERImport server.store NEWALIAS Xpvk.pk8 Xcert.der UWAGA: hasło dla klucza musi być takie samo jak hasło dla server.store!

23 23 HSQLDB SSL 2. Uruchomienie serwera: >java -Djavax.net.ssl.keyStorePassword=hsqldb -Djavax.net.ssl.keyStore=hsqlserver.store -cp hsqldb.jar org.hsqldb.server [Thread[main,5,main]]: checkrunning(false) entered... Using TLS/SSL-encrypted JDBC... Startup sequence completed in 978 ms :16: HSQLDB server is online

24 Po stronie klienta należy: HSQLDB SSL 1. Uzyskać certyfikat serwera np: >keytool -export -keystore server.store -alias hsqldb -file server.cer Enter keystore password: hsqldb Certificate stored in file <server.cer> Jeśli nie mamy dostępu do server.store możemy użyć dowolnego narzędzia do połączenia się z serwerem i odebrania certyfikatu np: openssl s_client -connect host:port - zakodowany w Base64 certyfikat pojawi sie na ekranie pomiędzy liniami -----BEGIN CERTIFICATE END CERTIFICATE Ten fragment zapisujemy do pliku server.cer. 24

25 2. Dodać certyfikat serwera jako zaufany: HSQLDB SSL >keytool -import -trustcacerts -keystore hsqlclient.store -alias hsql -file hsqlserver.cer Enter keystore password: hsqldb Owner: CN=localhost, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown Issuer: CN=localhost, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown Serial number: 441d1f43 Valid from: Sun Mar 19 10:07:15 CET 2006 until: Tue Apr 18 11:07:15 CEST 2006 Certificate fingerprints: MD5: 68:A2:33:BA:FA:4B:08:4A:E2:21:DD:E5:F6:7B:E3:8A SHA1: 59:6A:4D:66:03:C8:D6:B0:D1:4C:0B:1B:30:E2:90:0F: 88:66:EC:40 Trust this certificate? [no]: yes Certificate was added to keystore 25

26 26 HSQLDB SSL JVM musi zostać poinformowana, ze w pliku hsqlclient.store znajdują się zaufane certyfikaty. Można to zrobić na trzy sposoby: a) plik hsqlclient.store należy dodać do katalogu z zaufanymi certyfikatami (w JDK zwykle: JAVA_HOME/jre/lib/security/cacerts), b) wywołać program kliencki z opcją: -Djavax.net.ssl.trustStore=/sciezka/do/hsqlclient.store c) w kodzie programu klienckiego użyć instrukcji: System.getProperties().put("javax.net.ssl.trustStore", "/sciezka/do/hsqlclient.store");

27 27 HSQLDB SSL Przykładowy program klienta: import java.sql.*; public class HSQLDb { public static void main(string[] args){ System.getProperties().put("javax.net.ssl.trustStore", "/sciezka/do/hsqlclient.store"); System.getProperties().put("javax.net.debug","all"); try { Class.forName("org.hsqldb.jdbcDriver").newInstance(); } catch (Exception e) { e.printstacktrace(); return; }

28 28 HSQLDB SSL } } try { Connection con = DriverManager.getConnection( "jdbc:hsqldb:hsqls://localhost/test", "sa", ""); Statement stmt = con.createstatement(); ResultSet rs = stmt.executequery("select NOW()"); rs.next(); System.out.println(rs.getString(1)); con.close(); } catch (SQLException ex) { ex.printstacktrace(); } }

JAVA I BAZY DANYCH. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html

JAVA I BAZY DANYCH. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html JAVA I BAZY DANYCH ZAGADNIENIA: wprowadzenie; JDBC; komunikacja z bazą danych; HSQLDB. MATERIAŁY: http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK

Bardziej szczegółowo

Typy sterowników. Rozdział 21 JDBC. Podstawowe kroki aplikacji. Historia. Program napisany w języku Java JDBC API. Menadżer sterowników JDBC

Typy sterowników. Rozdział 21 JDBC. Podstawowe kroki aplikacji. Historia. Program napisany w języku Java JDBC API. Menadżer sterowników JDBC Typy sterowników Program napisany w języku Java Rozdział JDBC JDBC API Menadżer sterowników JDBC Typ Typ Typ Typ Wprowadzanie do JDBC, kursory zwykłe, kursory przewijane, obsługa błędów, przetwarzanie

Bardziej szczegółowo

JDBC. Plan ćwiczenia. Wywoływanie poleceń SQL z języków programowania. Plan ćwiczenia cd. Wprowadzenie do laboratorium

JDBC. Plan ćwiczenia. Wywoływanie poleceń SQL z języków programowania. Plan ćwiczenia cd. Wprowadzenie do laboratorium Bazy Danych JDBC Wywoływanie poleceń SQL z języków programowania. Plan ćwiczenia Wprowadzenie do laboratorium. Nawiązywanie i zamykanie połączeń. Wykonywanie zapytań. Wykonywanie aktualizacji. Zarządzanie

Bardziej szczegółowo

Java i bazy danych. 1. JDBC podstawy, transakcje. 2. Mapowanie relacyjno obiektowe. Hibernate, przykład.

Java i bazy danych. 1. JDBC podstawy, transakcje. 2. Mapowanie relacyjno obiektowe. Hibernate, przykład. Java i bazy danych 1. JDBC podstawy, transakcje. 2. Mapowanie relacyjno obiektowe. Hibernate, przykład. 1 JDBC - wprowadzenie Java Database Connectivity (JDBC) to specyfkacja określająca zbiór klas i interfejsów

Bardziej szczegółowo

JDBC (Java Database Connectivity vit )

JDBC (Java Database Connectivity vit ) 1 JDBC (Java Database Connectivity) Marek Wojciechowski Czym jest JDBC? 2 JDBC jest standardowym interfejsem do współpracy aplikacji Java z relacyjną bazą danych JDBC definiuje standardowe interfejsy interfejsy

Bardziej szczegółowo

Połączenie z bazą danych

Połączenie z bazą danych Połączenie z bazą danych ODBC i JDBC - przykłady w języku Java Standard ODBC Stworzony przez Microsoft Dostępny w Windows (są także bibliotek Linux'owe) Pozwala na dostęp do źródeł danych Programowanie

Bardziej szczegółowo

Java i jej wykorzystanie do tworzenia dynamicznych aplikacji Webowych

Java i jej wykorzystanie do tworzenia dynamicznych aplikacji Webowych Java i jej wykorzystanie do tworzenia dynamicznych aplikacji Webowych Zadanie do wykonania na następny tydzień: Przedstawić aplikację napisaną w JSP realizującą analogiczne zadania jak pierwsza aplikacja

Bardziej szczegółowo

Aplikacje bazodanowe. dr inż. Arkadiusz Mirakowski

Aplikacje bazodanowe. dr inż. Arkadiusz Mirakowski Aplikacje bazodanowe dr inż. Arkadiusz Mirakowski Plan prezentacji interfejs ODBC interfejs JDBC rodzaje sterowników JDBC niezbędne biblioteki interfejsu JDBC instalacja i konfiguracja sterownika JDBC

Bardziej szczegółowo

Programowanie w języku Java. Bazy danych SQLite w Javie

Programowanie w języku Java. Bazy danych SQLite w Javie Programowanie w języku Java Bazy danych SQLite w Javie Co to jest SQLite SQLite to bezserwerowa, nie wymagająca konfiguracji relacyjna baza danych. Znajduje szerokie zastosowanie np.. w systemie android

Bardziej szczegółowo

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java

Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny

Bardziej szczegółowo

Wprowadzenie do JDBC z wykorzystaniem bazy H2

Wprowadzenie do JDBC z wykorzystaniem bazy H2 Wprowadzenie do JDBC z wykorzystaniem bazy H2 JDBC (ang. Java DataBase Connectivity). Biblioteka stanowiąca interfejs umożliwiający aplikacjom napisanym w języku Java porozumiewać się z bazami danych za

Bardziej szczegółowo

Wieloplatformowe aplikacje sieciowe. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak

Wieloplatformowe aplikacje sieciowe. dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak Wieloplatformowe aplikacje sieciowe dr inż. Juliusz Mikoda mgr inż. Anna Wawszczak SOAP Serwer: Axis2 / Java Wbudowany komponent nasłuchujący, (Apache / Tomcat) Client Axis2 klient / XML Jeżyk programowania:

Bardziej szczegółowo

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.

Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. Informatyka I Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 Standard JDBC Java DataBase Connectivity

Bardziej szczegółowo

Java, bazy danych i SSL

Java, bazy danych i SSL Java, bazy danych i SSL 1. MySQL: własności połączenia, transmisja z wykorzystaniem SSL. 2. Własne programy wykorzystujące SSL. 3. RMI i SSL - implementacja własnych wersji klas ServerSocket i Socket.

Bardziej szczegółowo

Java Database Connectivity

Java Database Connectivity 1 Java Database Connectivity Java Database Connectivity (JDBC) to specyfikacja określająca zbiór klas i interfejsów napisanych w Javie, które mogą być wykorzystane przez programistów tworzących oprogramowanie

Bardziej szczegółowo

Bazy danych wykład dwunasty

Bazy danych wykład dwunasty Bazy danych wykład dwunasty Interfejs do połaczeń z baza danych Konrad Zdanowski Uniwersytet Kardynała Stefana Wyszyńskiego, Warszawa danych 1 / 29 Zajmiemy się mechanizmami pozwalajacymi połaczyć się

Bardziej szczegółowo

Metody dostępu do danych

Metody dostępu do danych Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie wykładów dra inż. Juliusza Mikody Metody dostępu do danych JDBC - Java Database Connectivity JDO - Java Data Object ORM - Object-Relational

Bardziej szczegółowo

Łukasz Przywarty Wrocław, r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL - API

Łukasz Przywarty Wrocław, r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL - API Łukasz Przywarty 171018 Wrocław, 17.01.2013 r. Grupa: WT/N 11:15-14:00 Sprawozdanie z zajęć laboratoryjnych: OpenSSL - API Prowadzący: mgr inż. Mariusz Słabicki 1 / 5 1. Treść zadania laboratoryjnego W

Bardziej szczegółowo

Rozdział 9 Obsługa baz danych w języku Java

Rozdział 9 Obsługa baz danych w języku Java Rozdział 9 Obsługa baz danych w języku Java 9.1 Obsługa baz danych w Javie - pakiet SQL 9.2 Utworzenie połączenia z bazą danych 9.3 Sterowniki 9.4 Wysłanie polecenia SQL 9.5 Rezultaty i ich przetwarzanie

Bardziej szczegółowo

Łączenie z bazą danych przykładowa klasa infpolaczenie import java.sql.drivermanager; import java.sql.connection; import java.sql.

Łączenie z bazą danych przykładowa klasa infpolaczenie import java.sql.drivermanager; import java.sql.connection; import java.sql. Łączenie z bazą danych przykładowa klasa infpolaczenie import java.sql.drivermanager; import java.sql.connection; import java.sql.sqlexception; public class infpolaczenie { public static void main(string[]

Bardziej szczegółowo

Wzorce dystrybucji i wspólbieżności autonomicznej

Wzorce dystrybucji i wspólbieżności autonomicznej Wzorce dystrybucji i wspólbieżności autonomicznej 1. Wzorce dystrybucji, fasada zdalna (Remote Facade), obiekt transfery danych (Data Transfer Object), 2. Wzorce współbieżności autonomicznej, blokada optymistyczna

Bardziej szczegółowo

SQL 4 Structured Query Lenguage

SQL 4 Structured Query Lenguage Wykład 5 SQL 4 Structured Query Lenguage Instrukcje sterowania danymi Bazy Danych - A. Dawid 2011 1 CREATE USER Tworzy nowego użytkownika Składnia CREATE USER specyfikacja użytkownika [, specyfikacja użytkownika]...

Bardziej szczegółowo

Connection con = DriverManager.getConnection(dbUrl, username, passwd);

Connection con = DriverManager.getConnection(dbUrl, username, passwd); Laboratorium 8 Wstęp Dostęp do bazy danych: 1. Załadowanie sterownika (drivera) do pamięci np. Class.forName("org.apache.derby.jdbc.ClientDriver"); 2. Podłączenie się do bazy (klasa Connection) Connection

Bardziej szczegółowo

Podstawy otwartych języków programowania Java Database Connectivity (JDBC)

Podstawy otwartych języków programowania Java Database Connectivity (JDBC) Podstawy otwartych języków programowania Java Database Connectivity (JDBC) Wiktor Wandachowicz Treść wykładu Przypomnienie terminów bazodanowych Architektura JDBC Schemat działania przy dostępie do danych

Bardziej szczegółowo

Podejście obiektowe do relacyjnych baz danych Hibernate.

Podejście obiektowe do relacyjnych baz danych Hibernate. Podejście obiektowe do relacyjnych baz danych Hibernate. Plan wykładu Czym jest Hibernate? Jakie są zalety pracy z Hibernate? Jak skonfigurować Hibernate? Jak korzystać z Hibernate? Praktyczne przykłady

Bardziej szczegółowo

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008

JDBC w LoXiMie. Interfejs Java Database Connectivity dla systemu LoXiM. Adam Michalik 2008 JDBC w LoXiMie Interfejs Java Database Connectivity dla systemu LoXiM Adam Michalik 2008 Sterownik JDBC co to jest? Sterownik JDBC to zbiór klas implementujących interfejsy opisane w specyfikacji JDBC

Bardziej szczegółowo

JAVA bazy danych. na bazie: Język Java - Podstawy Programowania - Jacek Rumiński

JAVA bazy danych. na bazie: Język Java - Podstawy Programowania - Jacek Rumiński JAVA bazy danych na bazie: Język Java - Podstawy Programowania - Jacek Rumiński Plan wykładu Sposoby połączenia z bazą danych Sterowniki JDBC Połączenie z bazą danych poprzez JDBC Język SQL (Structured

Bardziej szczegółowo

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.

Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu. Wstęp Java Zadanie Celem laboratorium jest zapoznanie się z podstawami platformy oraz języka Java. W ramach zadania należy przygotować aplikację zarządzania notatkami użytkownika obsługiwaną z konsoli.

Bardziej szczegółowo

PL/SQL. Zaawansowane tematy PL/SQL

PL/SQL. Zaawansowane tematy PL/SQL PL/SQL Zaawansowane tematy PL/SQL Cele Poznanie złożonych i referencyjnych typów danych Poznanie konstrukcji kursora Poznanie kodu składowanego Poznanie procedur i funkcji 2 Złożone typy danych RECORD

Bardziej szczegółowo

Java rozszerzenie. dr. A. Dawid

Java rozszerzenie. dr. A. Dawid Java rozszerzenie PLAN WYKŁADU 1. Java2D AWT SWING Inicjalizacja Metody 2. JDBC Connector 3. Programowanie sieciowe Socket ServerSocket 4. Servlety Serwer internetowy Klasa HttpServlet 5. JSP 6. Java3D

Bardziej szczegółowo

JDBC - Obsługa baz danych w języku Java

JDBC - Obsługa baz danych w języku Java JDBC - Obsługa baz danych w języku Java JDBC (Java Database Conectiviti) jest interfejsem pozwalającym połączyć aplikację Javy z zewnętrzną bazą danych za pomocą odpowiednich sterowników. Dużą zaletą JDBC

Bardziej szczegółowo

Bezpieczne uruchamianie apletów wg

Bezpieczne uruchamianie apletów wg Bezpieczne uruchamianie apletów wg http://java.sun.com/docs/books/tutorial/security1.2/ Zabezpieczenia przed uruchamianiem apletów na pisanych przez nieznanych autorów 1) ograniczenie możliwości odczytywania,

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 2 Kusory Wprowadzenie Kursory użytkownika Kursory domyślne Zmienne kursora Wyrażenia kursora - 2 - Wprowadzenie Co to jest kursor?

Bardziej szczegółowo

Programowanie komputerów. Wykład 10: Dostęp do baz danych z poziomu aplikacji Java. (JDBC Database Access)

Programowanie komputerów. Wykład 10: Dostęp do baz danych z poziomu aplikacji Java. (JDBC Database Access) Programowanie komputerów Wykład 10: Dostęp do baz danych z poziomu aplikacji Java (JDBC Database Access) Relacyjne bazy danych Baza danych to zbiór danych powiązanych ze sobą pewnymi relacjami. System

Bardziej szczegółowo

Java Code Signing 1.4 6.0. UŜycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii Java. wersja 1.2 UNIZETO TECHNOLOGIES SA

Java Code Signing 1.4 6.0. UŜycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii Java. wersja 1.2 UNIZETO TECHNOLOGIES SA UŜycie certyfikatów niekwalifikowanych do podpisywania kodu w technologii Java wersja 1.2 Spis treści WSTĘP... 3 1. TWORZENIE KLUCZA PRYWATNEGO I CERTYFIKATU... 3 1.1. TWORZENIE śądania CERTYFIKATU (CSR)...

Bardziej szczegółowo

Aplikacje Internetowe

Aplikacje Internetowe Aplikacje Internetowe Łączenie z bazą danych Podstawy Klient Serwer Sterownik Własne API (Application Programmer Interface) Łączenie z bazą danych Sterownik Protokół komunikacyjny Adres serwera Port nasłuchowy

Bardziej szczegółowo

Ustawienie na poziomie sesji (działa do zmiany lub zakończenia sesji zamknięcia połączenia).

Ustawienie na poziomie sesji (działa do zmiany lub zakończenia sesji zamknięcia połączenia). POZIOMY IZOLACJI TRANSAKCJI 1. Microsoft SQL Server 2012 (od SQL Server 2005) W systemie SQL Server można wybrać sposób sterowania współbieżnością. Podstawowy sposób to stosowanie blokad. Wykorzystywane

Bardziej szczegółowo

DB+frontend Inne języki H2. Bazy Danych i Systemy informacyjne Wykład 9. Piotr Syga

DB+frontend Inne języki H2. Bazy Danych i Systemy informacyjne Wykład 9. Piotr Syga Bazy Danych i Systemy informacyjne Wykład 9 Piotr Syga 30.11.2018 API Przykłady API ODBC JDBC OLEDB ADO.NET data provider API Funkcjonalności Komponenty Główne komponenty odpowiadające za komunikację API/data

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych model systemu Wywoływanie metod zdalnych aplikacja kliencka interfejs obiekt serwer Podejście obiektowe do budowy systemów rozproszonych proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski. Zaawansowane Systemy Decyzyjne. Laboratorium

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski. Zaawansowane Systemy Decyzyjne. Laboratorium Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski Zaawansowane Systemy Decyzyjne Laboratorium prowadzący: Andrzej Czajkowski 1 Dostęp do Bazy Danych. 1 Cel ćwiczenia. Celem ćwiczenia

Bardziej szczegółowo

BAZY DANYCH. Transakcje. opracowanie: Michał Lech

BAZY DANYCH. Transakcje. opracowanie: Michał Lech BAZY DANYCH Transakcje opracowanie: Michał Lech Plan wykładu 1. Transakcje - co to jest? 2. Mechanizmy transakcji 3. Reguły ACID 4. Niekorzystne zjawiska 5. Poziomy izolacji 6. Polecenia PostgreSQL transakcji

Bardziej szczegółowo

Bazy Danych i Usługi Sieciowe

Bazy Danych i Usługi Sieciowe Bazy Danych i Usługi Sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2011 1 / 15 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_Danych_i_Usługi_Sieciowe_-_2011z

Bardziej szczegółowo

przygotował: Pawel@Kasprowski.pl Bazy danych Paweł Kasprowski pawel@kasprowski.pl Wersja 2006Z

przygotował: Pawel@Kasprowski.pl Bazy danych Paweł Kasprowski pawel@kasprowski.pl Wersja 2006Z Bazy danych Paweł Kasprowski pawel@kasprowski.pl Łączenie z bazą danych Sterownik Protokół komunikacyjny Adres serwera Port nasłuchowy Przesłanie zapytania SQL Odebranie rezultatów Pierwszy przykład JDBC

Bardziej szczegółowo

Bazy danych i usługi sieciowe

Bazy danych i usługi sieciowe Bazy danych i usługi sieciowe Ćwiczenia I Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk (Wydział Fizyki) BDiUS ćw. I Jesień 2014 1 / 16 Strona wykładu http://bioexploratorium.pl/wiki/ Bazy_danych_i_usługi_sieciowe_-_2014z

Bardziej szczegółowo

Ćwiczenie 10 JDBC. Wywoływanie poleceń SQL z języków programowania. Ćwiczenie 10 JDBC. Wymagania: Bazy Danych

Ćwiczenie 10 JDBC. Wywoływanie poleceń SQL z języków programowania. Ćwiczenie 10 JDBC. Wymagania: Bazy Danych Bazy Danych Ćwiczenie 10 JDBC Wywoływanie poleceń SQL z języków programowania. Ćwiczenie 10 JDBC Na dotychczasowych ćwiczeniach wykorzystywaliście państwo program pozwalający na bezpośrednie wydawanie

Bardziej szczegółowo

JAVA I SIECI. MATERIAŁY: http://docs.oracle.com/javase/tutorial/networking/index.html

JAVA I SIECI. MATERIAŁY: http://docs.oracle.com/javase/tutorial/networking/index.html JAVA I SIECI ZAGADNIENIA: URL, Interfejs gniazd, transmisja SSL, protokół JNLP. MATERIAŁY: http://docs.oracle.com/javase/tutorial/networking/index.html http://th-www.if.uj.edu.pl/zfs/ciesla/ JĘZYK JAVA,

Bardziej szczegółowo

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Prezentacja Danych i Multimedia II r Socjologia Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL. Celem ćwiczeń jest poznanie zasad tworzenia baz danych i zastosowania komend SQL. Ćwiczenie I. Logowanie

Bardziej szczegółowo

15. Funkcje i procedury składowane PL/SQL

15. Funkcje i procedury składowane PL/SQL 15. Funkcje i procedury składowane PLSQL 15.1. SQL i PLSQL (Structured Query Language - SQL) Język zapytań strukturalnych SQL jest zbiorem poleceń, za pomocą których programy i uŝytkownicy uzyskują dostęp

Bardziej szczegółowo

akademia androida Składowanie danych część VI

akademia androida Składowanie danych część VI akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.

Bardziej szczegółowo

Aplikacje RMI Lab4

Aplikacje RMI   Lab4 Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych 1 1. Koncepcja budowy aplikacji RMI (aplikacja rozproszonych

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 6 Wyzwalacze Wprowadzenie Tworzenie wyzwalacza Wyzwalacze typu,,po'' Wyzwalacze typu,,zamiast''

Bardziej szczegółowo

Bazy Danych i Systemy informacyjne Wykład 5. Piotr Syga

Bazy Danych i Systemy informacyjne Wykład 5. Piotr Syga Bazy Danych i Systemy informacyjne Wykład 5 Piotr Syga 13.11.2017 PREPARE przypomnienie Przygotowanie zapytania dynamicznego Wcześniejszy przykład SET @kol = "kolor"; SET @str = CONCAT("SELECT ", @kol,

Bardziej szczegółowo

Wywoływanie metod zdalnych

Wywoływanie metod zdalnych Wywoływanie metod zdalnych Podejście obiektowe do budowy systemów rozproszonych Wywoływanie metod zdalnych model systemu obiekt aplikacja kliencka interfejs serwer proxy szkielet sieć Istota podejścia

Bardziej szczegółowo

Java Database Connectivity

Java Database Connectivity Java Database Connectivity Celem ćwiczenia jest zbudowanie kilku prostych serwletów z użyciem technologii JDBC. Podczas ćwiczenia zbudowane zostaną serwlety ilustrujące podstawowe techniki łączenia się

Bardziej szczegółowo

Podstawy programowania III WYKŁAD 2

Podstawy programowania III WYKŁAD 2 Podstawy programowania III WYKŁAD 2 Jan Kazimirski 1 Komunikacja z bazami danych 2 PHP i bazy danych PHP zapewnia dostęp do wielu popularnych baz danych. Kilka poziomów abstrakcji: Funkcje obsługujące

Bardziej szczegółowo

Bazy danych. Dr inż. Paweł Kasprowski

Bazy danych. Dr inż. Paweł Kasprowski Plan wykładu Bazy danych Architektura systemów zarządzania bazami danych Realizacja zapytań algebra relacji Wielodostęp do danych - transakcje Dr inż. Paweł Kasprowski pawel@kasprowski.pl Aplkacja przechowująca

Bardziej szczegółowo

Generowanie dokumentów XML z tabel relacyjnych - funkcje SQLX

Generowanie dokumentów XML z tabel relacyjnych - funkcje SQLX Aktualizowanie dokumentów XML ( Oracle ) do aktualizowania zawartości dokumentów XML służy między innymi funkcja updatexml. wynikiem jej działania jest oryginalny dokument ze zmodyfikowanym fragmentem,

Bardziej szczegółowo

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych

Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych http://www.mini.pw.edu.pl/~lucknerm Utworzenie tabeli w Oracle Utworzenie użytkownika Utworzenie połączenia w NetBeans Utworzenie

Bardziej szczegółowo

Programowanie Obiektowe Java

Programowanie Obiektowe Java Programowanie Obiektowe Java Małgorzata Janik Zakład Fizyki Jądrowej malgorzata.janik@pw.edu.pl http://java.fizyka.pw.edu.pl/ Bazy danych DBMS H2 SQL JDBC Bazy Danych za: Wikipedia Baza danych = zbiór

Bardziej szczegółowo

Programowanie w języku Java

Programowanie w języku Java Programowanie w języku Java Wykład 4: Programowanie rozproszone: TCP/IP, URL. Programowanie sieciowe w Javie proste programowanie sieciowe (java.net) na poziomie UDP na poziomie IP na poziomie URL JDBC

Bardziej szczegółowo

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html

Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Aplikacje RMI https://docs.oracle.com/javase/tutorial/rmi/overview.html Dr inż. Zofia Kruczkiewicz wykład 4 Programowanie aplikacji internetowych, wykład 4 1 1. Zadania aplikacji rozproszonych obiektów

Bardziej szczegółowo

Programowanie Obiektowe Java

Programowanie Obiektowe Java Programowanie Obiektowe Java Małgorzata Janik Zakład Fizyki Jądrowej malgorzata.janik@pw.edu.pl http://java.fizyka.pw.edu.pl/ Bazy danych DBMS H2 SQL JDBC 2/128 Bazy danych za: Wikipedia Baza danych =

Bardziej szczegółowo

Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu):

Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu): Utwórz bazę danych Cw: CREATE DATABASE Cw Sprawdzenie poziomu izolacji transakcji (w aktualnym połączeniu): DBCC USEROPTIONS Przykład z zapisem do tabeli tymczasowej: --Jeśli istnieje tabela tymczasowa

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 5 Wprowadzenie Tworzenie i wykonywanie procedur i funkcji Instrukcja RETURN Parametry procedur i funkcji oraz ich przesyłanie Metadane

Bardziej szczegółowo

Kurs programowania aplikacji bazodanowych

Kurs programowania aplikacji bazodanowych Wykład 1 Instytut Informatyki Uniwersytet Wrocławski Plan wykładu Architektury aplikacji Architektura aplikacji Jednowarstwowa Dwuwarstowa Rozproszona (JDBC) Wprowadzenie Architektura JDBC Sterowniki,

Bardziej szczegółowo

Łukasz Przywarty 171018 Wrocław, 13.11.2012 r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL

Łukasz Przywarty 171018 Wrocław, 13.11.2012 r. Grupa: WT/N 11:15-14:00. Sprawozdanie z zajęć laboratoryjnych: OpenSSL Łukasz Przywarty 171018 Wrocław, 13.11.2012 r. Grupa: WT/N 11:15-14:00 Sprawozdanie z zajęć laboratoryjnych: OpenSSL Prowadzący: mgr inż. Mariusz Słabicki 1 / 9 1. Treść zadania laboratoryjnego Podczas

Bardziej szczegółowo

Wzorce logiki dziedziny

Wzorce logiki dziedziny Wzorce logiki dziedziny 1. Wzorce logiki dziedziny skrypt transakcji (Transaction Script), brama tabeli (Table Data Gateway), model dziedziny (Domain model), strategia (Strategy), moduł tabeli (Table Module),

Bardziej szczegółowo

SYSTEM INFORMATYCZNY KS-SEW

SYSTEM INFORMATYCZNY KS-SEW DOKUMENTACJA TECHNICZNA KAMSOFT S.A. 40-235 Katowice ul. 1-Maja 133 Tel. (032) 2090705, Fax. (032) 2090715 http:www.kamsoft.pl, e-mail: 5420@kamsoft.pl SYSTEM INFORMATYCZNY NR KATALOGOWY 2334PI06.00 WYDANIE

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik Technologia Przykłady praktycznych zastosowań wyzwalaczy będą omawiane na bazie systemu MS SQL Server 2005 Wprowadzenie

Bardziej szczegółowo

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , ,

koledzy, Jan, Nowak, ul. Niecała 8/23, , Wrocław, , , Celem ćwiczeń jest zaprojektowanie oraz utworzenie na serwerze bazy danych przechowującej informacje na temat danych kontaktowych. Celem jest również zapoznanie z podstawowymi zapytaniami języka SQL służącymi

Bardziej szczegółowo

Paweł Rajba

Paweł Rajba Paweł Rajba pawel@cs.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Używanie kursorów Rodzaje kursorów Praca z kursorami Co to jest kursor? Cykl życia kursora utworzenie pobieranie wartości ewentualnie

Bardziej szczegółowo

Bartosz Jachnik - Kino

Bartosz Jachnik - Kino Bartosz Jachnik - Kino I. Opis bazy Prezentowana baza danych stworzona została na potrzeby prowadzenia kina. Zawiera ona 8 tabel, które opisują filmy grane w danym okresie w kinie, wraz ze szczegółowym

Bardziej szczegółowo

Plan wykładu. Dostęp do bazy danych. Architektura JDBC. Dostęp do baz danych z aplikacji Java EE

Plan wykładu. Dostęp do bazy danych. Architektura JDBC. Dostęp do baz danych z aplikacji Java EE 1 Plan wykładu 2 Dostęp do bazy danych Dostęp do baz danych w aplikacjach Java EE JDBC Źródła danych część I: JDBC i źródła danych Dostęp do baz danych z aplikacji Java EE Architektura JDBC Programowane

Bardziej szczegółowo

Administracja i programowanie pod Microsoft SQL Server 2000

Administracja i programowanie pod Microsoft SQL Server 2000 Administracja i programowanie pod Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 5 Kursory w SQL Serverze Wprowadzenie Modele kursorów Używanie kursorów Rodzaje kursorów Praca

Bardziej szczegółowo

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście. Rodzaje triggerów Triggery DML na tabelach INSERT, UPDATE, DELETE Triggery na widokach INSTEAD OF Triggery DDL CREATE, ALTER, DROP Triggery na bazie danych SERVERERROR, LOGON, LOGOFF, STARTUP, SHUTDOWN

Bardziej szczegółowo

Protokół JDBC współpraca z relacyjnymi bazami danych lab4. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych

Protokół JDBC współpraca z relacyjnymi bazami danych lab4. Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych Protokół JDBC współpraca z relacyjnymi bazami danych lab4 Dr inż. Zofia Kruczkiewicz Programowanie aplikacji internetowych Zadanie1 Połączenie z bazą danych travel systemu bazodanowego Derby (metoda void

Bardziej szczegółowo

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze Funkcje użytkownika Tworzenie funkcji Usuwanie funkcji Procedury składowane Tworzenie procedur składowanych Usuwanie procedur składowanych Wyzwalacze Wyzwalacze a ograniczenia i procedury składowane Tworzenie

Bardziej szczegółowo

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1 Bazy danych Wykład IV SQL - wprowadzenie Copyrights by Arkadiusz Rzucidło 1 Czym jest SQL Język zapytań deklaratywny dostęp do danych Składnia łatwa i naturalna Standardowe narzędzie dostępu do wielu różnych

Bardziej szczegółowo

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka stub interfejs serwer szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

Bardziej szczegółowo

Wykorzystywanie parsera DOM w programach Java i PL/SQL

Wykorzystywanie parsera DOM w programach Java i PL/SQL Wykorzystywanie parsera DOM w programach Java i PL/SQL Maciej Zakrzewicz mzakrz@cs.put.poznan.pl http://www.cs.put.poznan.pl/~mzakrz/ Parser DOM Aplikacja DOM API Parser DOM Dokument XML Drzewo DOM Parser

Bardziej szczegółowo

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści

SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, Spis treści SQL Server i T-SQL w mgnieniu oka : opanuj język zapytań w 10 minut dziennie / Ben Forta. Gliwice, 2017 Spis treści O autorze 9 Wprowadzenie 11 Lekcja 1. Zrozumieć SQL 15 Podstawy baz danych 15 Język SQL

Bardziej szczegółowo

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych Języki programowania wysokiego poziomu PHP cz.4. Bazy danych PHP i bazy danych PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych: MySQL moduł mysql albo jego nowsza wersja mysqli (moduł

Bardziej szczegółowo

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1

Remote Method Invocation 17 listopada Dariusz Wawrzyniak (IIPP) 1 interfejs (w języku Java), wywiedziony z Remote obiekt Podejście obiektowe do budowy systemów rozproszonych aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

Bardziej szczegółowo

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych laboratorium

Bardziej szczegółowo

Wykład 8. SQL praca z tabelami 5

Wykład 8. SQL praca z tabelami 5 Wykład 8 SQL praca z tabelami 5 Podzapytania to mechanizm pozwalający wykorzystywać wyniki jednego zapytania w innym zapytaniu. Nazywane często zapytaniami zagnieżdżonymi. Są stosowane z zapytaniami typu

Bardziej szczegółowo

Katalog książek cz. 2

Katalog książek cz. 2 Katalog książek cz. 2 Odczytywanie danych z XML Do ćwiczenia dołączony jest plik books.xml zawierający pełen katalog książek. Poniższy listing zawiera przykładowy fragment danych w stosowanym formacie.

Bardziej szczegółowo

Podejście obiektowe do budowy systemów rozproszonych

Podejście obiektowe do budowy systemów rozproszonych Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak 1 Mechanizm RMI umożliwia

Bardziej szczegółowo

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć

Java RMI. Dariusz Wawrzyniak 1. Podejście obiektowe do budowy systemów rozproszonych. obiekt. interfejs. kliencka. sieć Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Mechanizm RMI umożliwia tworzenie obiektów

Bardziej szczegółowo

Typy metod: konstruktory, destruktory, selektory, zapytania, iteratory.

Typy metod: konstruktory, destruktory, selektory, zapytania, iteratory. Typy metod: konstruktory, destruktory, selektory, zapytania, iteratory. Konstruktory Konstruktory w językach obiektowych są to specjalne metody wywoływane podczas tworzenia nowego obiektu i służące do

Bardziej szczegółowo

Podejście obiektowe do budowy systemów rozproszonych

Podejście obiektowe do budowy systemów rozproszonych Podejście obiektowe do budowy systemów rozproszonych interfejs (w języku Java), wywiedziony z Remote obiekt aplikacja kliencka interfejs serwer stub szkielet sieć Dariusz Wawrzyniak (IIPP) 1 Mechanizm

Bardziej szczegółowo

Transakcje jednocześnie ACID

Transakcje jednocześnie ACID Transakcje Transakcja to zbiór operacji (u nas - instrukcji języka SQL), które mogą być wykonane jedynie wszystkie lub żadna. Nazwa takiego ciągu instrukcji pochodzi od operacji bankowych - przelew musi

Bardziej szczegółowo

Oracle PL/SQL. Paweł Rajba.

Oracle PL/SQL. Paweł Rajba. Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 7 Dynamiczny SQL i PL/SQL Pierwotny dynamiczny SQL Pierwotny dynamiczny DDL Pierwotny dynamiczny DML i SELECT Pakiet DBMS_SQL Transakcje

Bardziej szczegółowo

CREATE USER

CREATE USER Temat: Administrowanie użytkownikami bazy danych. Po instalacji serwera MYSQL dostępne jest konto o nazwie root. Domyślnie nie ma ono przypisanego hasła, aczkolwiek podczas procesu konfiguracji jest możliwość

Bardziej szczegółowo

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych

strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych z baz danych SQL SQL (ang. Structured Query Language): strukturalny język zapytań używany do tworzenia strukturalny język zapytań używany do tworzenia i modyfikowania baz danych oraz do umieszczania i pobierania danych

Bardziej szczegółowo

Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach

Wykład V. Indeksy. Struktura indeksu składa się z rekordów o dwóch polach Indeksy dodatkowe struktury służące przyśpieszeniu dostępu do danych o użyciu indeksu podczas realizacji poleceń decyduje SZBD niektóre systemy bazodanowe automatycznie tworzą indeksy dla kolumn o wartościach

Bardziej szczegółowo

mysql> UPDATE user SET Password=PASSWORD('pass') WHERE user='root'; Query OK, 2 rows affected (0.05 sec) Rows matched: 2 Changed: 2 Warnings: 0

mysql> UPDATE user SET Password=PASSWORD('pass') WHERE user='root'; Query OK, 2 rows affected (0.05 sec) Rows matched: 2 Changed: 2 Warnings: 0 Uprawnienia dla uż ytkowników MANIPULACJA UPRAWNIENIAMI Przechodzimy do cześci nadawania oraz odbierania uprawnie ń. Wszelkie zmiany dotyczące tabel w bazie mysql można przeprowadza ć za pomoc ą znanych

Bardziej szczegółowo

Ćwiczenia 2 IBM DB2 Data Studio

Ćwiczenia 2 IBM DB2 Data Studio Ćwiczenia 2 IBM DB2 Data Studio Temat: Aplikacje w Data Studio 1. Projekty Tworzenie procedur, UDF, trygerów zaczynamy od utworzenia projektu File -> New -> Project wybieramy Data Development Project.

Bardziej szczegółowo

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Ćwiczenie 1. Kolejki IBM Message Queue (MQ) Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając

Bardziej szczegółowo

Bazy danych 2. Wykład 6 Transakcje

Bazy danych 2. Wykład 6 Transakcje Bazy danych 2 Wykład 6 Transakcje Transakcje Def. Transakcjami nazywamy logiczne jednostki pracy które wprowadzają zmiany do bazy danych lub które wyszukują dane O transakcjach mówimy w kontekście: aktualizacji

Bardziej szczegółowo