Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

XML + relacyjne bazy danych Krzysztof Kamyczek. Wstep Można by wyróżnić następujące przypadki stosowania łączenia Relacyjnych Baz Danych z XML-em: 1.Dodanie.

Podobne prezentacje


Prezentacja na temat: "XML + relacyjne bazy danych Krzysztof Kamyczek. Wstep Można by wyróżnić następujące przypadki stosowania łączenia Relacyjnych Baz Danych z XML-em: 1.Dodanie."— Zapis prezentacji:

1 XML + relacyjne bazy danych Krzysztof Kamyczek

2 Wstep Można by wyróżnić następujące przypadki stosowania łączenia Relacyjnych Baz Danych z XML-em: 1.Dodanie interfejsu XML do istniejących baz danych (do działających aplikacji). 2.Tworzenie nowej aplikacji, projektując ją do działania z relacyjną bazą danych i interfejsem XML-owym.

3 Komercyjne rozwiązania Każdy z wielkich producentów baz danych umożliwił w swoim produkcie stosowanie XML-a. Uczynił to IBM w DB2: DB2 XML Extender and DB2 Text Extender; Microsoft w SQL Server 2000; Oracle w Oracle 8i, 9i; a także Informix

4 Niekomercyjne rozwiązania Dla niekomercyjnych baz danych takich jak PostgreSQL czy MySQL istnieje oprogramowanie pośredniczące pomiędzy bazą a aplikacją kożystającą z XML-a zwane middleware. Middleware komunikuje się z takimi (jak i komercyjnymi) bazami danych przez ODBC, OLE DB lub JDBC. Middleware pozwala na dwukierunkową wymianę danych w postaci XML między dowolną bazą danych wyposażoną w sterownik JDBC, ODBC czy OLE DB a aplikacją. Pozwala także na usuwanie danych z bazy.

5 Mapowania Kierowane-Szablonowo W następujących lotach są wolne miejsca: SELECT Airline, FltNumber, Depart, Arrive FROM Flights Mamy nadzieję, że spełnią twoje oczekiwania

6 Po przetworzeniu przez middleware transformujący dane W następujących lotach są wolne miejsca: LOT 123 Dec 12, :43 Dec 13, :21... Mamy nadzieję, że spełnią twoje oczekiwania

7 Model Tabelowy (ang. Table Model)

8 Przykład mapowania z użyciem modelu obiektów określających dane F.U.H ABC Kosciuszki 1 Kraków Małopolskie Klucz francuski: Nierdzewna stal, odlany w jednym kawałku, dożywotnia gwarancja Nożyce do blachy: Stal hartowana, rok gwarancji

9 Oprogramowanie pośredniczące (ang. middleware) ADO Developer: Microsoft URL: p Licencja: Komercyjna Typ bazy danych: Relacyjna (OLE DB, ODBC) Kierunki przekształceń: baza danych XML, XML baza danych. Środowisko/Platforma: Windows.

10 DB2XML Developer: Volker Turau URL: wiesbaden.de/~turau/DB2XML/index.html Licencja: Open Source Typ bazy danych: Relacyjne (JDBC) Kierunki przekształceń: baza danych XML Środowisko/Platforma: Java

11 iConnector Developer: infoteria URL: c/index.html Licencja: Komercyjna Typ bazy danych: Relacyjne (ODBC), Lotus Notes/Domino Kierunki przekształceń: Baza danych XML, XML Baza danych Środowisko/Platforma: Windows (COM lub Windows service), Java.

12 ODBC2XML Developer: Intelligent Systems Research URL: Licencja: Shareware Typ bazy danych: Relacyjne (ODBC) Kierunki przekształceń: Baza danych XML Środowisko/Platforma: wykonywalny program Windows 32 lub DLL.

13 Przykład współpracy z Postgresem Utwórzmy tabelę ``Pogoda'': create table Pogoda(dzien int, stan varchar(25)); insert into Pogoda(dzien, stan) values (1, 'sloneczna'); insert into Pogoda(dzien, stan) values (2, 'pochmurnie'); insert into Pogoda(dzien, stan) values (3, 'leje');

14 import java.sql.*; import java.math.*; import oracle.xml.sql.query.*; import java.sql.*; public class smplPstgrs { //======================================== // main() - public static void public static void main(String args[]) throws SQLException { // Postgre JDBC Driver DriverManager.registerDriver(new org.postgresql.Driver()); // Postgre JDBC connection String user = "NazwaUżytkownika"; String password = "Hasło"; String tabName = "Pogoda"; Connection conn = DriverManager.getConnection("jdbc:postgresql://URLSerwera/NazwaBD", user, password);

15 //tworzone jest zapytanie, następnie jest ono wykonywane, rezultat będzie //przechowywany w obiekcie ResultSet Statement stmt = conn.createStatement(); ResultSet rset = stmt.executeQuery("select * from "+tabName ); /* zainicjowanie OracleXMLQuery. Należy zauważyć, że można podać zapis kwerendy sql zamiast obiektu ResultSet */ OracleXMLQuery qry = new OracleXMLQuery(conn,rset); // określenie kształtu generowanego dokumentu XML qry.setRowsetTag("ZAPIS_POGODY"); // set the tags encapsulating the whole doc qry.setRowTag("RECORD"); // sets the row separator tag qry.setRowIdAttrName("NRdnia"); // sets the id attribute of the row element qry.useUpperCaseTagNames(); // use upper case tag names qry.setErrorTag("ERR"); // tag for errors writen to XML doc // Wydobycie dokumentu XML w postaci tekstu String xmlString = qry.getXMLString(); // Wydrukowanie rezultatu System.out.println(xmlString); }

16 Wynik Aplikacja wygeneruje następujący dokument XML: 1 sloneczna 2 pochmurnie 3 leje


Pobierz ppt "XML + relacyjne bazy danych Krzysztof Kamyczek. Wstep Można by wyróżnić następujące przypadki stosowania łączenia Relacyjnych Baz Danych z XML-em: 1.Dodanie."

Podobne prezentacje


Reklamy Google