XML + relacyjne bazy danych

Slides:



Advertisements
Podobne prezentacje
Programowanie sieciowe w Javie
Advertisements

Wstęp do strumieni danych
Skrypty, procedury przechowywane i wyzwalane
Object-Relational Mapper for PHP
SQL INJECTION Wykorzystanie błędów w językach skryptowych
Java i bazy danych Programowanie z wykorzystaniem JDBC mgr inż. Piotr Kopniak.
Bazy danych II Instrukcja SELECT Piotr Górczyński 25/08/2001.
18/11/ Języki programowania 1 Piotr Górczyński Biblioteki.
Bazy danych 8. SQL podstawy P. F. Góra semestr letni 2004/05.
PHP + MySQL część II.
Relacyjne Bazy Danych wykład XIII
Nguyen Hung Son Uniwersytet Warszawski
Marcin Pamuła Mateusz Stefek
18/11/ Języki programowania 1 Piotr Górczyński Łączenie z bazą danych.
Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej JDBC Database Access Wykład 12 mgr inż. Michał Misiak.
Aplikacje ASP.NET Arkadiusz Twardoń ZTiPSK
PySBQL Język zapytań dla obiektowych baz danych. Aplikacje bazodanowe Główny nurt budowania aplikacji opiera się na połączeniu: SQL JDBC Java Jak wyświetlić
Metody autoryzacji użytkowników wymaga integracji z systemem operacyjnym nie wymaga logowania mała pewność mechanizmu wymaga logowania duża pewność mechanizmu.
Bezpieczeństwo Procedury składowane Funkcje i Wyzwalacze
Zaawansowane technologie Javy Wykład 3 (21 lutego 2012) JDBC – programowanie bazodanowe (2)
Wykład 8 Wojciech Pieprzyca
Wykład 5 Wojciech Pieprzyca
Programowanie wizualne PW – LAB5 Wojciech Pieprzyca.
P I OTR SKOŁYSZ. POCHODZENIE I CELE CZYM JEST.NET ? CO IMPLEMENTUJE MONO ? ŚRODOWISKO PRACY [MONODEVELOP] SYTEMY OPERACYJNE CO PROGRAMOWAĆ ? JĘZYKI PRZYKŁADOWY.
Systemy zarządzania treścią CMS
Projekt i implementacja aplikacji do zasilania bazy danych testowymi danymi Jacek Lis Promotor: prof. dr hab. inż. Włodzimierz KASPRZAK.
Projektowanie warstwy serwera Wprowadzenie. Projektowanie warstwy serwera Projekt współfinansowany przez Unię Europejską w ramach Europejskiego Funduszu.
Technologia.Net Bazy danych. Technologia ADO.Net Służy do dostarczania danych z rożnych źródeł (baz danych) do aplikacji Jest produktem Microsoft Umożliwia.
Język SQL (Structured Query Language) DDL (Data Definition Language)
Przykład włamania do aplikacji internetowej poprzez modyfikację zapytań SQL Skrypty ASP Serwer bazy danych MS SQL Server Piotr Kuźniacki BDi.
Terminy bazodanowe Tabela (relacja) Wiersz (krotka, rekord)
Wprowadzenie do JSP Copyright © Politecnico di Milano September 2003 Translation: Kamil Żyła, Politechnika Lubelska.
Test Doubles Adam Gabryś , v1.1,
SQL – Structured Query Language (3)
Pakiety w Javie Łukasz Smyczyński (132834). Czym są pakiety? Klasy w Javie są grupowane w pewne zbiory zwane pakietami. Pakiety są więc pewnym podzbiorem.
MySQL – ODBC - ACCESS.
Sterownik JDBC i obsługa relacyjnych baz danych w Javie
Java 3 MPDI Programowanie obiektowe W7. import java.io.*; public class X { // kontrukcja throws – określenie jakie wyjątki może dana metoda // sygnalizować
Instrukcje: CREATE, INSERT, UPDATE, DELETE, DROP
Użytkownicy i przywileje Sesja - przykład Błędy Komunikacja międzyskryptowa Wykład 83PD Technologie internetowe.
ASP BAZY. 2.2 S. Wolek Wst. do Inf. Połączenie z bazą danych przez ADO (ActiveX Data Object) do: - źródła ODBC - bazy z podanie nazwy sterownika ODBC.
SQL - Structured Query Language
Programowanie obiektowe – zastosowanie języka Java SE
JAVA c.d.. Instrukcji wyboru SWITCH używamy, jeśli chcemy w zależności od wartości pewnego wyrażenia wykonać jeden z kilku fragmentów kodu. Jest to w.
Seminarium problemowe
Wykonał: Michał Nikołajuk
Serwery aplikacji Zope Tomcat. Składniki Zopea: Serwer Management interface Databases.
Aplikacje bazodanowe ADO.NET PHP i MySQL
Tworzenie Aplikacji Internetowych dr Wojciech M. Gańcza 3.
Jak zacząć w MS SQL? USE master; GO IF DB_ID (Nbaza') IS NOT NULL DROP DATABASE baza; GO CREATE DATABASE baza; GO USE baza; GO.
Komendy SQL do pracy z tabelami i bazami
Zpiratował Rafał Kaczyński. Jest to technologia pozwalająca mapować dane obiektowe na odpowiadające im struktury w bazach danych. Hibernate pozwala na.
Aplet JavaCard, pełniący funkcję autoryzującą (obowiązkowo) oraz identyfikującą (opcjonalna) Aplet wystawia metody pozwalające zarejestrować swoją obecność,
Marcin nowak, Wojciech baszczyk
Autor: Damian Urbańczyk
DOM Ewa Dukała Piotr Muszyński. DOM DocumentBuilder Factory Document Builder XML Data object obiectobject DocumentDOM.
Piotr Czapiewski Wydział Informatyki ZUT Wykład 2.
Komendy SQL do pracy z danymi
Informatyka Stosowana – ROK II / III
XML w bazach danych.
Połączenie JSP z MS SQL Server 2000 Łukasz Sak Tomasz Raciborski.
Waldemar Bartyna 1 Programowanie zaawansowane LINQ to XML.
.NET i Bazy Danych Projekt: Wadim Grasza.
Konfiguracja HIBERnate, postgresQL + przykładowa aplikacja
Wykład 3 Prowadzący: dr Paweł Drozda. Użytkownik bazy danych – osoba lub aplikacja, mająca dostęp do części danych zgromadzonych w bazie Uprawnienia –
Object-relational mapping (aka O/RM, ORM, and O/R mapping)
ASP.NET Dostęp do bazy danych z poziomu kodu Elżbieta Mrówka-Matejewska.
Projekt „NEW-TECH Program rozwoju praktycznych kompetencji nauczycieli zawodów branż nowych technologii” jest współfinansowany przez Unię Europejską Projekt.
Strukturalny język zapytań SQL - historia
Programowanie obiektowe – zastosowanie języka Java SE
Zapis prezentacji:

XML + relacyjne bazy danych Krzysztof Kamyczek

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

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

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.

Mapowania Kierowane-Szablonowo <?xml version="1.0"?> <FlightInfo> <Wstęp>W następujących lotach są wolne miejsca: </Wstęp> <SelectInstrukcja>SELECT Airline, FltNumber, Depart, Arrive FROM Flights </SelectInstrukcja> <Zakończenie>Mamy nadzieję, że spełnią twoje oczekiwania </Zakończenie> </FlightInfo>

Po przetworzeniu przez middleware transformujący dane <?xml version="1.0"?> <FlightInfo> <Wstęp>W następujących lotach są wolne miejsca:</Wstęp> <Flights> <Row> <Airline>LOT</Airline> <FltNumber>123</FltNumber> <Depart>Dec 12, 1998 13:43</Depart> <Arrive>Dec 13, 1998 01:21</Arrive> </Row> ... </Flights> <Zakończenie>Mamy nadzieję, że spełnią twoje oczekiwania</Zakończenie> </FlightInfo>

Model Tabelowy (ang. Table Model) < bazaDanych > <tabela> <wiersz> <kolumna1>...</kolumna1> <kolumna2>...</kolumna2> ... </wiersz> ... </tabela> ... </ bazaDanych >

Przykład mapowania z użyciem modelu obiektów określających dane <Zamówienia> <ZamówienieHandlowe ZHNumer="12345"> <Klient KlientNumer="543"> <KlientNazwa>F.U.H ABC</KlientNazwa> <Ulica>Kosciuszki 1</Ulica> <Miasto>Kraków</Miasto> <Województwo>Małopolskie</Województwo> <KodPocztowy>30-071</KodPocztowy> </Klient> <DataZamówienia>981215</DataZamówienia> <Linia LiniaNumer="1"> <Towar TowarNumer="123"> <Opis> <P><B>Klucz francuski:</B><BR /> Nierdzewna stal, odlany w jednym kawałku, dożywotnia gwarancja.</P> </Opis> <Cena>9.95</Cena> </Towar> <ilość>10</ilość> </Linia> <Linia LiniaNumer="2"> <Towar TowarNumer="456"> <Opis> <P><B>Nożyce do blachy:<B><BR /> Stal hartowana, rok gwarancji.</P> </Opis> <Cena>13.27</Cena> </Towar> <ilość>5</ilość> </Linia> </ZamówienieHandlowe> </Zamówienia>

Oprogramowanie pośredniczące (ang. middleware) ADO Developer: Microsoft URL: http://msdn.microsoft.com/xml/articles/xmlintegrationinado.asp Licencja: Komercyjna Typ bazy danych: Relacyjna (OLE DB, ODBC) Kierunki przekształceń: baza danych XML, XML baza danych. Środowisko/Platforma: Windows.

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

iConnector Developer: infoteria URL: http://www.infoteria.com/en/contents/product/xml-s-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.

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

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');

import java.sql.*; import java.math.*; import oracle.xml.sql.query.*; 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);

//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); }

Wynik Aplikacja wygeneruje następujący dokument XML: <?xml version = '1.0'?> <ZAPIS_POGODY> <REKORD NRDNIA="1"> <DZIEN>1</DZIEN> <STAN>sloneczna</STAN> </REKORD> <REKORD NRDNIA="2"> <DZIEN>2</DZIEN> <STAN>pochmurnie</STAN> <REKORD NRDNIA="3"> <DZIEN>3</DZIEN> <STAN>leje</STAN> </ZAPIS_POGODY>