Przykładowy dokument XML
|
|
- Zdzisław Morawski
- 6 lat temu
- Przeglądów:
Transkrypt
1 Język XML XML (extensible Markup Language, czyli rozszerzalny język znaczników) to specyfikacja dotycząca przechowywania informacji. Jest to również specyfikacja opisujaca strukturę tych informacji. XML jest językiem znaczników, jak HTML, XML nie posiada swoich własnych znaczników, można tworzyć własne znaczniki według potrzeb, tworząc nowe znaczniki, należy trzymać się specyfikacji XML-a.
2 Język XML XML (extensible Markup Language, czyli rozszerzalny język znaczników) to specyfikacja dotycząca przechowywania informacji. Jest to również specyfikacja opisujaca strukturę tych informacji. XML jest językiem znaczników, jak HTML, XML nie posiada swoich własnych znaczników, można tworzyć własne znaczniki według potrzeb, tworząc nowe znaczniki, należy trzymać się specyfikacji XML-a. Literatura uzupełniająca: [1] K.H. Goldberg, XML. Szybki start. Wydanie II (Helion, 2014). [2] P. Walmsley, XQuery (O Reilly Media, Inc., 2007).
3 Przykładowy dokument XML <?xml version="1.0"?> <book> <authors> <author id="47">włodzimierz Krysicki</author> <author id="58">lech Włodarski</author> </authors> <title>analiza matematyczna w zadaniach</title> <price>69.00</price> <keywords> <keyword>pochodna</keyword> <keyword>całka</keyword> </keywords> </book>
4 Przykładowy dokument XML <?xml version="1.0"?> <book> <authors> <author id="47">włodzimierz Krysicki</author> <author id="58">lech Włodarski</author> </authors> <title>analiza matematyczna w zadaniach</title> <price>69.00</price> <keywords> <keyword>pochodna</keyword> <keyword>całka</keyword> </keywords> </book>
5 Wady i zalety XML-a Zalety Łatwy do odczytania, zarówno dla człowieka, jak dla maszyny (zwykły tekst). Zawiera dane i jednocześnie opisuje znaczenie danych (self-documenting). Może reprezentować praktycznie dowolny rodzaj danych: hierarchie, rekordy, listy (elastyczność, uniwersalność). Sformalizowany zapis pozwala na komputerowe przetworzenie, weryfikacje dokumentów XML (well-formed). Wady Nadmiarowość informacji (powtarzające się znaczniki, zagnieżdżone elementy). Nie wszystko da się wyrazić elastycznie w postaci struktury hierarchicznej (np. albo Film->Aktor, albo Aktor->Film)
6 Zastosowanie XML-a Elektroniczna wymiana danych Usługi e-biznesu: transakcje zakodowane w postaci XML-a (XML jako podstawa Web Serwisów), wiele formatów pochodnych. Komunikacja w sferze publicznej (np. podatnik urząd podatkowy, systemy celne, NFZ - świadczeniodawcy, itp.). Do zapisu informacji o luźnej strukturze, trudnej do jednoznacznego opisana w momencie projektowania, np. formularze WWW, wymagające częstych zmian. Format przechowywania dokumentów.
7 Zasady pisania dokumentów XML Reguły, aby dokument XML był poprawny składniowo: 1. element główny jest wymagany; zawsze musi być dokładnie jeden element główny; wszystkie pozostałe elementy dokumentu są zawarte w elemencie głównym; przed elementem głównym dopuszczalne są komentarze i instrukcje przetwarzania; 2. znaczniki zamykajace są niezbędne; każdy element musi mieć znacznik zamykający; 3. elementy muszą być odpowiednio zagnieżdżone; 4. wielkość liter ma znaczenie; 5. wartość atrybutu musi być zamykana w dwóch takich samych znakach pojedynczego lub podwójnego cudzysłowu.
8 Zasady tworzenia dokumentów XML Elementy składowe XML-a to znaczniki określające elementy, wartości tych elementów oraz atrybuty. Element XML to podstawowa jednostka dokumentu. Może zawierać: tekst, atrybuty, inne znaczniki. Każdy element ma znacznik otwierający: <nazwa_elementu> oraz znacznik zamykający: </nazwa_elementu>. Pusty element może składać się z pojedynczego znacznika otwierającego i zamykającego, np. <obrazek plik="mapa.jpg"/> Atrybuty elementu umieszczane są w obrębie znacznika otwierającego, w postaci par nazwa-wartość, np. <wysokosc jednostka="metr">33</wysokosc>. Opisują zawartość i przeznaczenie elementu. Informacje zawarte w atrybutach to metadane. Element może mieć wiele atrybutów, ich nazwy muszą być unikalne
9 Zasady tworzenia dokumentów XML Dokument XML powinien rozpoczynać się deklaracją, która wskazuje zastosowaną wersję XML-a. Przykładowa deklaracja XML: <?xml version="1.0"?> Deklarację umieszczamy na początku, przed wszystkimi innymi elementami. Znaczniki rozpoczynające się od <? i kończące się?> to instrukcje przetwarzania. Służą do deklarowania wersji XML, określania kodowania znaków, arkuszy stylów.
10 Zasady tworzenia dokumentów XML Dokument XML powinien rozpoczynać się deklaracją, która wskazuje zastosowaną wersję XML-a. Przykładowa deklaracja XML: <?xml version="1.0"?> Deklarację umieszczamy na początku, przed wszystkimi innymi elementami. Znaczniki rozpoczynające się od <? i kończące się?> to instrukcje przetwarzania. Służą do deklarowania wersji XML, określania kodowania znaków, arkuszy stylów. Komentarze XML: warto opisywać dokumenty XML, aby określić co oznacza dany element. Komentarz zaczyna się za pomocą <!, a kończy >. Nie wolno zagnieżdżać komentarzy, ani używać znaku wewnątrz komentarza.
11 Przykładowy dokument XML <?xml version="1.0"?> <book> <authors> <author id="47">włodzimierz Krysicki</author> <author id="58">lech Włodarski</author> </authors> <title>analiza matematyczna w zadaniach</title> <! cena ksiażki na podstawie platformy Ceneo > <price>69.00</price> <keywords> <keyword>pochodna</keyword> <keyword>całka</keyword> </keywords> </book>
12 Predefiniowane encje XML-a: pięć znaków specjalnych Predefiniowane encje XML-a: & tworzy znak & < tworzy znak < > tworzy znak > " tworzy znak ' tworzy znak
13 Przekształcanie dokumentów XML za pomoca XSLT 2.0 Język XSLT służy do przekształcanie dokumentów XML na inny format, np. HTML. Przekształcanie dokumentu XML polega na zastosowaniu XSLT do analizy jego zawartości, a następnie podjęcie konkretnych działań w zależności od tego, jakie elementy zostaną znalezione. XSLT można użyć także do zmiany kolejności danych wynikowych na podstawie pewnych kryteriów, do wyświetlenia tylko określonych fragmentów informacji. W procesie przekształcania biorą udział dwa dokumenty: źródłowy dokument XML oraz arkusz stylów XSLT opisujący reguły przekształcania. Arkusze stylów to pliki tekstowe, zapisywane są z rozszerzeniem.xsl. Każdy arkusz stylów też jest plikiem XML. Do wykonania przekształcenia potrzebujemy: procesora XSLT lub przeglądarki, obsługującej XSLT (większość ma wbudowaną obsługę).
14 1. Powiązanie dokumentu XML z arkuszem stylów XSLT 2.0: dodajemy instrukcję (po deklaracji xml): <?xml-stylesheet type="text/xsl" href="booksstyl.xsl"?>
15 1. Powiązanie dokumentu XML z arkuszem stylów XSLT 2.0: dodajemy instrukcję (po deklaracji xml): <?xml-stylesheet type="text/xsl" href="booksstyl.xsl"?> 2. Przeglądarka (lub procesor XSLT) następnie wykona transformację pliku XML, zanim zostanie on wyświetlony. Pierwszy etap: konwersja dokumentu XML do drzewa węzłów, które jest hierarchiczną reprezentacją. Każdy węzeł odpowiada jednemu z elementów dokumentu XML, atrybutowi lub zawartości tekstowej. 3. Kolejny etap to odwołanie się do arkusza stylów XSLT w celu znalezienia instrukcji, określających sposób wyświetlania węzłów. Instrukcje te są zawarte w tzw. szablonach, które składają się z etykiety, która identyfikuje węzły, do których ma zastosowanie dany szablon i z instrukcji określających, jak te węzły mają być przekształcone.
16 Dokument XML i jego drzewo węzłów <?xml version="1.0"?> <books> <book> <authors> <author id="47">włodzimierz Krysicki</author> <author id="58">lech Włodarski</author> </authors> <title>analiza matematyczna w zadaniach</title> <price>69.00</price> <keywords> <keyword>pochodna</keyword> <keyword>całka</keyword> </keywords> </book> </books>
17 Dokument XML i jego drzewo węzłów!"" #$% #% # #
18 Inicjowanie arkusza stylów XSLT: deklarujemy, że to dokument XML: <?xml version="1.0"?> następnie deklarujemy przestrzeń nazw XSLT i jej prefiks oraz wersję XSLT <xsl:stylesheet xmlns:xsl=" 1999/XSL/Transform" version="2.0"> określamy typ pliku wynikowego (html): <xsl:output method="html"/> tworzymy szablon główny: <xsl:template match="/"> w szablonie głównym określamy poszczególne elementy dokumentu HTML Zamykamy szablon główny: </xsl:template> i kończymy arkusz stylów: </xsl:stylesheet>
19 Tworzenie szablonu głównego: <xsl:template match="/"> Szablon główny określa reguły stosowane do węzła głównego dokumentu XML. Opisuje sposób przetwarzania zawartości z węzła głównego w nowe dane wynikowe. Aby utworzyć plik wyjściowy w formacie html, należy zastosować instrukcję: <xsl:output method="html"/> W obrębie szablonu głównego należy teraz określić poszczególne elementy dokumentu HTML (head, title, body, itp.). Wszystko w obrębie szablonu głównego, co nie jest instrukcją XSLT (czyli elementy literalne), będzie wyświetlane w takiej formie, w jakiej zostało zapisane. W ten sposób można dodać znaczniki i tekst html do pliku wynikowego.
20 Wyświetlanie wartości węzła Aby wyświetlić wartość węzła XML, używamy instrukcji <xsl:value-of>: <xsl:value-of select="wyrażenie"/> Wyrażenie XPath identyfikuje zbiór węzłów, który ma być wyświetlany. Uwagi instrukcja select="." służy do wybrania bieżącego węzła. Jeżeli wyrażenie select odpowiada więcej, niż jednemu węzłowi, wyświetlana jest zawartość pierwszego węzła. Można zwrócić tylko te węzły, dla których określony atrybut ma daną wartość, np.: polski ]" Jeżeli wyrażenie select odpowiada węzłowi, który posiada węzły potomne, ich zawartość też jest wyświetlana. Jeżeli odpowiada pustemu zbiorowi węzłów - nic nie jest wyświetlane.
21 Zapętlanie węzłów Element xsl:for-each pozwala działać na wszystkich węzłach, do których pasuje. Aby przetwarzać węzły partiami, należy: w obrębie reguły szablony wpisujemy <xsl:for-each select="wyrażenie"> podajemy reguły przetwarzania węzłów, które mają być przetworzone (identyfikuje je wyrażenie XPath) kończymy instrukcję znacznikiem </xsl:for-each> Uwagi znacznik xsl:for-each powinno się umieszczać przed regułami, które mają być powtarzane dla każdego znalezionego węzła jeżeli chcemy umieścić zawartość węzłów w tabeli, znacznik <table> otwierający tabelę powinien być przed instrukcją <xsl:for-each>, a znacznik zamykający tabelę po niej.
22 Język XPath XPath jest językiem służącym do wybierania węzłów i zbioru węzłów poprzez określanie ścieżek ich lokalizacji w dokumencie XML. XPath można też użyć do dalszego przetworzenia zbioru zwróconych węzłów, za pomocą wbudowanych funkcji do obliczeń matematycznych, przetwarzania ciągów znaków i testowania warunków w dokumencie XML. U podstaw języka XPath leży możliwość stosowania ścieżek lokalizacji, w celu odwołania się do węzłów dokumentu XML (węzeł to każdy indywidualny fragment dokumentu XML: element, atrybut, zawartość tekstowa). XPath widzi dokument XML w postaci drzewa węzłów.
23 Dokument XML i jego drzewo węzłów <?xml version="1.0"?> <books> <book> <authors> <author id="47">włodzimierz Krysicki</author> <author id="58">lech Włodarski</author> </authors> <title>analiza matematyczna w zadaniach</title> <price>69.00</price> <keywords> <keyword>pochodna</keyword> <keyword>całka</keyword> </keywords> </book> </books>
24 Dokument XML i jego drzewo węzłów!"" #$% #% # #
25 Ścieżki lokalizacji Dwa rodzaje ścieżek lokalizacji: względna ścieżka: składa się z sekwencji kroków lokalizacji, rozdzielonych znakiem /. Każdy krok określa węzeł (lub zbiór węzłów) wzgl. węzła bieżącego. W kolejnym kroku każdy węzeł w tym zbiorze jest użyty w roli węzła bieżącego dla kolejnego kroku; bezwględna ścieżka: zaczyna się od znaku /, po którym może następować względna ścieżka lokalizacji. Znak / określa węzeł główny. Węzeł bieżący to element lub węzeł, który jest aktualnie przetwarzany.
26 Wyrażenia XPath Wybieranie dzieci danego węzła: jeżeli bieżący węzeł zawiera elementy, które chcemy znaleźć, należy podać nazwę elementu - dziecka, aby odwołać się do dalszych potomków, należy użyć znaku / i podać nazwę dalszego potomka, itp. Znak * określa wszystkie dzieci bieżącego węzła, np. /book/authors/author /book/title Wybieranie rodzica danego węzła: za pomocą.. Można potem odwołać się do innych dzieci węzła, będącego tym rodzicem, np.../title spowoduje wybranie węzła - dziecka (o nazwie title) dla węzła będącego rodzicem węzła bieżącego;../* to wybranie wszystkich elementów-dzieci rodzica węzła bieżącego. Wybieranie atrybutów węzła: stosujemy Wpisz ścieżkę lokalizacji dla danego węzła, następnie /@nazwa atrybutu, np. /book/authors/author[@id=100]
27 Wyrażenia XPath Wybieranie wszystkich potomków: skrót // Aby wybrać wszystkich potomków węzła głównego użyj // Aby wybrać pewnych potomków danego węzła użyj ścieżka lokalizacji do węzła//nazwa elementu, który nas interesuje. Aby wybrać wszystkie węzły o danej nazwie, bez względu na ich położenie w dokumencie XML, użyj //nazwa elementu. Warunkowe wybieranie węzłów: w XPath można tworzyć wyrażenia logiczne (tzw. predykaty), do testowania warunków, na podstawie których można wybrac tylko pewien podzbiór ze znalezionego zbioru węzłów. Podajemy je w nawiasach kwadratowych, np. /book/authors/author[@id=200] Wybranie tylko wartości tekstowej elementu: funkcja text(), np. /book/authors/author/text()
28 Język XQuery Język XQuery 1.0 jest wykorzystywany do selekcji zawartości z danych źródłowych XML, przekształcania jej wg określonych reguł, a następnie zwracania w postaci np. pliku XML, HTML lub innej. XQuery stosuje składnię języka XPath 2.0 do wybierania zawartości źródłowej XML i modyfikacji tej zawartości w razie potrzeby.
29 Wyrażenia FLWOR Wyrażenie FLWOR zawiera następujące klauzule (od początkowych liter klauzul powstała nazwa wyrażenia:) F: for (dokonuje iteracji wiążąc zmienną z elementem) L: let (wiąże zmienną z sekwencją) W: where (eliminuje elementy do iteracji) O: order by (porządkuje elementy do iteracji) R: return (buduje wynik zapytania) xquery for $cust in db2-fn:xmlcolumn("customer.info")/customerinfo let $tel :=$cust/phone where $tel/@type= work order by $cust return ($cust/name/text(), $tel);
30 XML w relacyjnych bazach danych Model XML jest modelem hierarchicznym, natomiast dane relacyjne mają płaską strukturę. Dane XML opisują swoje znaczenie, a dane relacyjne nie. Dane XML mają określoną kolejność, a dane relacyjne nie. Konwersja z formatu XML na relacyjny jest kłopotliwa, w drugą stronę nieco łatwiejsza.
31 XML w relacyjnych bazach danych Dane XML można przechowywać w relacyjnej bazie danych na kilka sposobów: całe dokumenty XML, jako duże obiekty (CLOB / BLOB) - duża elastyczność w przechowywaniu dokumentów XML o różnej strukturze, kosztem wydajności zapytań. Szybkie wstawianie oraz pobieranie całych dokumentów Swoboda definiowania struktury dokumentu (schematu) Koniecznosc parsowania dokumentu w momencie realizowania zapytan przy odwołaniu do elementów nie poindeksowanych (niska wydajność zapytań) rozbite na kilka tabel bazy (mimo stosunkowo dobrej wydajnosci wyszukiwania, tracimy to co motywuje do korzystania z formatu XML elastyczność). Stosunkowo szybkie wyszukiwanie, nawet mimo konwersji XQuery na SQL Konieczność definiowania struktury (schematu) dokumentu przed wstawieniem - problem ze zmianą schematu
32 XML w DB2: Technologia PureXML Dokument jest wstawiany do pola o typie XML, w tle wezły dokumentu są dekomponowane do hierarchicznej postaci (do drzewa węzłów). Duża elastyczność, brak wymogu wcześniejszego definiowania schematu Szybkie wyszukiwanie, bez koniecznosci dynamicznego parsowania Spowolnione przy wstawianiu dokumentu. Hybrydowa architektura serwera DB2 pozwala zachować elastyczność formatu XML przy zachowaniu odpowiedniej wydajności.
33 XML w DB2 Dostęp do danych XML: języki SQL/XML oraz XQuery. Obsługa XML wbudowana w DB2: Wysoka wydajność dzięki głębokiej integracji XML w silnik DB2. Zoptymalizowane przechowywanie XML: Nowy sposób składowania oraz indeksowania dokumentów XML silnik hierarchiczny.
34 Zapytania na danych XML Istnieją dwa sposoby konstruowania zapytań XML w DB2: (1) przy użyciu XQuery: XQuery jako język podstawowy. (2) Przy użyciu SQL z rozszerzeniami XML (SQL/XML): SQL jako język podstawowy, umożliwia złączenie danych XML z relacyjnymi.
35 Odpytywanie danych XML za pomoca XQuery XQuery jest użyty jako język podstawowy, można używać SQL osadzonego wewnątrz XQuery (za pomocą funkcji db2-fn: sqlquery lub db2-fn:xmlcolumn).
36 Odpytywanie danych XML za pomoca XQuery XQuery jest użyty jako język podstawowy, można używać SQL osadzonego wewnątrz XQuery (za pomocą funkcji db2-fn: sqlquery lub db2-fn:xmlcolumn). Przykład: xquery db2-fn:xmlcolumn("customer.info"); Wyrażenia XQuery zawsze poprzedzamy prefiksem xquery, aby DB2 wiedział, że należy użyć parsera XQuery.
37 Odpytywanie danych XML za pomoca XQuery XQuery jest użyty jako język podstawowy, można używać SQL osadzonego wewnątrz XQuery (za pomocą funkcji db2-fn: sqlquery lub db2-fn:xmlcolumn). Przykład: xquery db2-fn:xmlcolumn("customer.info"); Wyrażenia XQuery zawsze poprzedzamy prefiksem xquery, aby DB2 wiedział, że należy użyć parsera XQuery. Funkcja db2-fn:xmlcolumn: zwraca dokumenty XML z kolumny podanej w parametrze. Powyższe zapytanie odpowiada wyrażeniu SQL: SELECT contact FROM clients
38 Odpytywanie danych XML za pomoca XQuery XQuery jest użyty jako język podstawowy, można używać SQL osadzonego wewnątrz XQuery (za pomocą funkcji db2-fn: sqlquery lub db2-fn:xmlcolumn). Przykład: xquery db2-fn:xmlcolumn("customer.info"); Wyrażenia XQuery zawsze poprzedzamy prefiksem xquery, aby DB2 wiedział, że należy użyć parsera XQuery. Funkcja db2-fn:xmlcolumn: zwraca dokumenty XML z kolumny podanej w parametrze. Powyższe zapytanie odpowiada wyrażeniu SQL: SELECT contact FROM clients Przy funkcji db2-fn:xmlcolumn można podać wyrażenie XPath, aby wybrać dane XML w odpowiedni sposób.
39 Przykładowe zapytania xquery db2-fn:xmlcolumn("customer.info")/ customerinfo/ name/text(); xquery db2-fn:xmlcolumn("customer.info")/ >= 1001]/name; xquery db2-fn:xmlcolumn("customer.info")/ customerinfo/count(phone); xquery db2-fn:xmlcolumn("customer.info")/ customerinfo/ (<dane> {name/text(), liczba nr tel:, count(phone)}</dane>);
40 Odpytywanie danych XML za pomoca XQuery Przykład - użycie wyrażenia FLWOR z funkcją db2-fn:xmlcolumn: xquery for $y in db2-fn:xmlcolumn( CLIENTS.CONTACT )/Client/fax return $y
41 Odpytywanie danych XML za pomoca XQuery Funkcja db2-fn:sqlquery wykonuje zapytanie SQL i zwraca tylko wybrane dane XML. Zapytania SQL przekazane do db2-fn:sqlquery muszą zwracać tylko dane XML. Te dane XML mogą być następnie przetwarzane przez XQuery.
42 Odpytywanie danych XML za pomoca XQuery Funkcja db2-fn:sqlquery wykonuje zapytanie SQL i zwraca tylko wybrane dane XML. Zapytania SQL przekazane do db2-fn:sqlquery muszą zwracać tylko dane XML. Te dane XML mogą być następnie przetwarzane przez XQuery. xquery for $cust in db2-fn:sqlquery( "SELECT info FROM customer WHERE cid = 1005" )/customerinfo let $phone :=$cust/phone return (<info> {$cust/name/text(), $phone} </info>);
43 Odpytywanie danych XML za pomoca SQL/XML Zapytanie SQL może być wykorzystane do pracy z całymi dokumentami XML, ale nie pozwala na dostęp jedynie do wybranych fragmentów dokumentu. W takiej sytuacji można wykorzystać rozszerzenie SQL - SQL/XML.
44 Odpytywanie danych XML za pomoca SQL/XML Zapytanie SQL może być wykorzystane do pracy z całymi dokumentami XML, ale nie pozwala na dostęp jedynie do wybranych fragmentów dokumentu. W takiej sytuacji można wykorzystać rozszerzenie SQL - SQL/XML. Podstawowe funkcje SQL/XML (zgodnie ze standardem SQL 2006): Nazwa funkcji Opis XMLPARSE Analizuje ciąg znaków lub obiekt binarny zwraca dokument XML XMLSERIALIZE Tłumaczy dokument XML na ciąg znaków lub obiekt binarny XMLVALIDATE Waliduje dokument XML według schematu XMLEXISTS Określa, czy polecenie XQuery zwraca wynik XMLQUERY Wykonuje polecenie XQuery XMLTABLE Wykonuje polecenie XQuery zwraca wynik w postaci tabeli relacyjnej XMLCAST Rzutuje z lub na dokument XML
45 Funkcja XMLQUERY Funkcja XMLQUERY - umożliwia wykonanie wyrażenia XQuery z poziomu SQL; zwraca wyrażenie XML - sekwencję XML, będącą wynikiem wyrażenia XQuery dla każdego wiersza zapytania SQL; zwracana sekwencja może zawierać wiele elementów, lub być pusta.
46 Funkcja XMLQUERY Funkcja XMLQUERY - umożliwia wykonanie wyrażenia XQuery z poziomu SQL; zwraca wyrażenie XML - sekwencję XML, będącą wynikiem wyrażenia XQuery dla każdego wiersza zapytania SQL; zwracana sekwencja może zawierać wiele elementów, lub być pusta. Wykorzystując XMLQUERY: mamy możliwość wykonywania zapytań na danych XML; dane XML mogą być użyte w obrębie zapytania SQL; dostęp jednocześnie do danych relacyjnych i XML; dane XML zwrócone przez XQUERY można następnie wykorzystać w zapytaniu SQL, aby np. uporządkować wynik (należy je najpierw zrzutować na odpowiedni relacyjny typ danych za pomocą XMLCAST).
47 XMLQUERY SELECT XMLQuery( $i/customerinfo/name PASSING INFO as "i") FROM customer where CID IN (1003,1001,1004); W tym zapytaniu XQuery, zmienna $i zawiera dokument XML zapisany w tabeli customer w kolumnie INFO (typu XML). Przypisanie dokumentu do zmiennej następuje w klauzuli PASSING INFO as "i" (można związać więcej niż jedną zmienną). Wyrażenie XPath wykorzystane w funkcji wskazuje na element name w dokumencie XML.
48 XMLQUERY SELECT XMLQuery( $i/customerinfo/name PASSING INFO as "i") FROM customer where CID IN (1003,1001,1004); W tym zapytaniu XQuery, zmienna $i zawiera dokument XML zapisany w tabeli customer w kolumnie INFO (typu XML). Przypisanie dokumentu do zmiennej następuje w klauzuli PASSING INFO as "i" (można związać więcej niż jedną zmienną). Wyrażenie XPath wykorzystane w funkcji wskazuje na element name w dokumencie XML. Wynik: <name>kathy Smith</name> <name>robert Shoemaker</name> <name>matt Foreman</name>
49 W funkcji XMLQUERY można użyć także wyrażenia FLWOR XQuery, np. SELECT XMLQuery( for $c in $i/customerinfo let $p := $c/phone return ($c/name, $p) PASSING INFO as "i") as dane FROM customer where CID =1004;
50 W funkcji XMLQUERY można użyć także wyrażenia FLWOR XQuery, np. SELECT XMLQuery( for $c in $i/customerinfo let $p := $c/phone return ($c/name, $p) PASSING INFO as "i") as dane FROM customer where CID =1004; Wynik (tylko jeden wiersz): DANE <name>matt Foreman</name><phone type="work"> </phone> <phone type="home"> </phone>
51 Funkcja XMLTable Funkcję XMLTable można wykorzystać, jeżeli chcemy prezentować dane XML w postaci tabeli, np. select c.cid, cinfo.name,cinfo.city, cinfo.phone, cinfo.type from customer c, xmltable( $cust/customerinfo passing c.info as "cust" columns name char(30) path name, city char(12) path addr/city, phone char(12) path phone[1], type char(6) path phone[1]/@type ) cinfo;
52 Wynik poprzedniego zapytania: CID NAME CITY PHONE TYPE Kathy Smith Toronto work 1001 Kathy Smith Markham work 1002 Jim Noodle Markham work 1003 Robert Shoemaker Aurora work 1004 Matt Foreman Toronto work 1005 Larry Menard Toronto work
53 XMLTable z wykorzystaniem wyrażenia FOR w XPath select c.cid, cinfo.name,cinfo.city, cinfo.phone, cinfo.type from customer c, xmltable( $cust/customerinfo passing c.info as "cust" columns name char(30) path name, city char(12) path addr/city, phone char(12) path for $p in phone return $p, ) cinfo;
54
55 XMLExists Funkcja XMLExists może być wykorzystana w klauzuli WHERE zapytania SQL, aby sprawdzić, czy zapytanie XQuery zwraca wyniki, np. select cid, xmlquery( $INFO/customerinfo/name/text() ) from customer where xmlexists( $INFO/customerinfo/phone[@type="home"] );
56 XMLExists Funkcja XMLExists może być wykorzystana w klauzuli WHERE zapytania SQL, aby sprawdzić, czy zapytanie XQuery zwraca wyniki, np. select cid, xmlquery( $INFO/customerinfo/name/text() ) from customer where xmlexists( $INFO/customerinfo/phone[@type="home"] ); Powyższe zapytanie zwróci informacje tylko o tych klientach, którzy podali domowy numer telefonu. Uwaga. w funkcjach XMLQuery i XMLExists w przykładzie wykorzystano uproszczoną składnię.
57 Przykład bazy z wykorzystaniem XML Schemat bazy danych:
58 Przykład bazy z wykorzystaniem XML Przykładowy dokument XML z kolumny author.info
59 Przykład bazy z wykorzystaniem XML Przykładowy dokument XML z kolumny edition.translations
60 Dodawanie danych XML do tabel Dodawanie dokumentów XML do bazy danych DB2 może zostać wykonane za pomocą polecenia INSERT języka SQL, albo polecenia IMPORT. (1) Dodawanie nowego wiersza do tabeli author za pomocą INSERT (w poleceniu INSERT przekazujemy dokument XML jako ciąg znaków zawarty w cudzysłowie): INSERT INTO author VALUES (DEFAULT, Joanne Rowling, <Info> < >jr@jr.com</ > <Country>England</Country> <YearOfBirth>1965</YearOfBirth> </Info> );
61 Dodawanie danych XML do tabel Dodawanie dokumentów XML do bazy danych DB2 może zostać wykonane za pomocą polecenia INSERT języka SQL, albo polecenia IMPORT. (2) Ładowanie (wielu) wierszy do tabeli author za pomocą polecenia IMPORT (importujemy dane z pliku authors.del (plik ASCII z separatorami), dodatkowo wskazujemy lokalizację dokumentu XML, do którego odnosi się authors.del): IMPORT FROM "C:\xml\authors.del" OF DEL XML FROM "C:\xml\xxx" METHOD P ( 1, 2 ) INSERT INTO ANIAF.AUTHOR ( NAME, INFO ); W pliku authors.del mamy zapisane dwa wiersze danych: "Joanna Chmielewska","<XDS FIL= a1.01.xml />" "Frank Herbert","<XDS FIL= a1.02.xml />" W pliku authors.del, instrukcja XDS FIL= dokumentu XML. służy do wskazania
62 Operacje aktualizacji i usuwania Operacje aktualizacji (UPDATE) i usuwania (DELETE) w dokumentach XML mogą być wykonane na dwa sposoby: (1) Użycie operacji SQL: UPDATE, DELETE (2) Użycie wyrażenia XQuery TRANSFORM Korzystając z pierwszego sposobu, czyli SQL UPDATE i DELETE, aktualizacja lub usunięcie dotyczy całego dokumentu. Oznacza to, że cały dokument XML zostaje usunięty lub zaktualizowany, np. update author set info= <Info> < >joankr@jr.com</ > <Country>England</Country> <YearOfBirth>1965</YearOfBirth> </Info> where id=41;
63 Polecenie TRANSFORM Przy użyciu drugiego sposobu, można wykonywać częściową aktualizację za pomocą wyrażenia TRANSFORM (od DB2 9.5), co jest o wiele bardziej efektywne. Dzięki temu można zastąpić, wstawić, usunąć lub zmienić nazwy węzłów w dokumencie XML. Można zmienić wartość węzła bez zastępowania całego węzła, ale zwykle przy zmianach wartości lub nazwy węzła zamieniany jest cały węzeł. Wyrażenie TRANSFORM jest częścią języka XQuery. Można go używać wszędzie tam, gdzie normalnie używamy XQuery, na przykład w wyrażeniach FLWOR lub w funkcjach XMLQUERY w zapytaniach SQL/XML. Najczęściej wykorzystywane jest w instrukcji SQL UPDATE, aby zmodyfikować dokument XML w kolumnie XML.
64 Polecenie TRANSFORM tworzy kopię wartości XML, zmienia ją, a następnie zwraca wynik, czyli zmodyfikowaną kopię. Polecenia TRANSFORM używamy wewnątrz funkcji XMLQUERY (albo wyrażenia XQuery). Słowo kluczowe PASSING może być wykorzystane aby przekazać wartość XML z kontekstu SQL do kontekstu XML. Wynik polecenia TRANSFORM staje się wynikiem funkcji XMLQUERY. Polecenie TRANSFORM nie zmienia wartości XML, która została przekazana (za pomocą PASSING) - należy użyć instrukcji SQL UPDATE, aby umieścić zmodyfikowaną wartość w tablicy, np. UPDATE author SET info = XMLQuery( transform copy $res := $i modify do insert element Website {" as last into $res/info return $res PASSING info AS "i") where id=41;
65 Polecenie TRANSFORM Polecenie transform ma trzy (wymagane) klauzule: transform copy variable assignment modify modify expression return return expression Wyrażenie copy jest używane, aby przypisać do zmiennej dokument XML, z którym chcemy pracować. W wyrażeniu modify, możemy podać wyrażenie do insert, do delete, do rename lub do replace. Wyrażenia te pozwalają nam na dokonywanie modyfikacji w naszych dokumentach XML: insert dla dodania nowego węzła, delete - usunięcia węzła, rename - zmiany nazwy elementu lub atrybutu; aby zastąpić element nowym elementem, lub ciągiem kilku nowych elementów, należy użyć wyrażenia replace. Wyrażenie replace może być użyte tylko do zmiany elementu lub atrybutu. Wyrażenie return zwraca wynik transformacji.
66 Dodawanie nowych węzłów Wyrażenie do insert - aby dodać nowy węzeł. Miejsce wstawienia nowego węzła jest określana na podstawie wyrażenia XPath oraz podanego słowa kluczowego określającego pozycję (before, after, as last into, as first into). UPDATE author SET info = XMLQuery( transform copy $res := $i modify do insert < >nowymail@hm.com</ > before $res/info/country return $res PASSING info AS "i") where id=41;
67 Usuwanie węzłów Wyrażenie do delete - aby usunąć węzły. Jeżeli wyrażenie XPath podane po "do delete" zwraca więcej niż jeden węzeł, wszystkie te węzły będą usunięte, np. UPDATE author SET info = XMLQuery( transform copy $res := $i modify do delete $res/info/ return $res PASSING info AS "i") WHERE id=41; Powyższe wyrażenie usunie wszystkie węzły (w dokumencie XML Info dla autora o id=41).
68 Zmiana nazwy węzła Wyrażenie do rename - aby zmienić nazwę węzła, nie zmieniając jego pozycji ani wartości, np. chcemy dla każdego autora zmienić w dokumencie Info węzeł Country na BirthCountry: UPDATE author SET info = XMLQUERY( transform copy $res := $i modify do rename $res/info/country as "BirthCountry" return $res PASSING info AS "i") Wyrażenie XPath podane po "do rename" musi zwracać dokładnie jeden węzeł, w przeciwnym przypadku dostaniemy błąd.
69 Zmiana nazwy węzła Jeżeli wyrażenie XPath podane po "do rename" zwraca wiele węzłów, można wykorzystać FLOWR, by zmienić nazwy wszystkich pasujących elementów, np. aby zmienić nazwę każdego węzła Translation (których może być zero lub kilka) na Version w dokumencie translations (w tabeli edition): UPDATE edition SET translations = XMLQUERY( transform copy $res := $trans modify for $t in $res//translation return do rename $t as "Version" return $res PASSING translations AS "trans")
70 Zmiana nazwy atrybutu Wyrażenie do rename - aby zmienić nazwę atrybutu. Dodajmy do węzła Info nowy węzeł New z atrybutem Type, z kopią wartości z węzła (ale tylko dla autora z id=41): UPDATE author SET info = XMLQuery( transform copy $res := $i modify do insert <New Type="work"> {$res/info/ /text()} </New > after $res/info/ return $res PASSING info AS "i") where id=41; Zmiana nazwy atrybutu Type na status: UPDATE author SET info = XMLQUERY( transform copy $res := $i modify do rename $res/info/new /@type as "status" return $res PASSING info AS "i") where id=41;
71 Zamiana węzła Wyrażenie do replace - może być użyte, aby zamienić węzeł na inny. Wyrażenie XPath podane w replace identyfikuje węzeł (musi wskazywać dokładnie jeden węzeł) i następnie zamienia go na węzeł (albo sekwencję węzłów). Np. zamiana węzła na węzeł Skype (dla autora z id=41): UPDATE author SET info = XMLQUERY( transform copy $res := $info modify do replace $res// with element Skype {"j.k.rowling.author"} return $res PASSING info AS "info") WHERE id=41;
72 Zamiana węzła Wyrażenie do replace - może być użyte, aby zamienić węzeł na inny. Wyrażenie XPath podane w replace identyfikuje węzeł (musi wskazywać dokładnie jeden węzeł) i następnie zamienia go na węzeł (albo sekwencję węzłów). Np. zamiana węzła na sekwencję (dla autora z id=41): UPDATE author SET info = XMLQUERY( transform copy $res := $info modify do replace $res// with (element Skype {"carl.sagan.author"}, element Phone {"1234"}) return $res PASSING info AS "info") WHERE id=41;
73 Zamiana wartości węzła Wyrażenie do replace - może być też użyte, aby zamienić wartość węzła (elementu lub atrybutu). Należy użyć polecenia do replace value of. Np. aby zmienić datę urodzenia, czyli wartość węzła YearOfBirth autora o id=41, można użyc polecenia: UPDATE author SET info = XMLQUERY( transform copy $res := $i modify do replace value of $res/info/yearofbirth with 1914 return $res PASSING info AS "i") WHERE id=41;
Przykładowy dokument XML
Język XML XML (extensible Markup Language, czyli rozszerzalny język znaczników) to specyfikacja dotycząca przechowywania informacji. Jest to również specyfikacja opisujaca strukturę tych informacji. XML
Bardziej szczegółowoPrzykładowy dokument XML
Język XML XML (extensible Markup Language, czyli rozszerzalny język znaczników) to specyfikacja dotycząca przechowywania informacji. Jest to również specyfikacja opisujaca strukturę tych informacji. XML
Bardziej szczegółowoXML w bazie danych IBM DB2
Instytut Informatyki Politechnika Śląska Gliwice, ul. Akademicka 16 XML w bazie danych IBM DB2 Dr inż. Dariusz Mrozek Wykład: IBM DB2 uniwersalna platforma przetwarzania danych O czym dzisiaj? XML w relacyjnej
Bardziej szczegółowoDB2 XML w relacyjnych bazach danych wstęp do wprowadzenia. Kuba Pochrybniak
DB2 XML w relacyjnych bazach danych wstęp do wprowadzenia Kuba Pochrybniak osoba id="137" imie Helena /imie osoba id="137" imie Helena /imie imie Jagienka /imie osoba id="137" imie Helena /imie imie Jagienka
Bardziej szczegółowoSłowem wstępu. Część rodziny języków XSL. Standard: W3C XSLT razem XPath 1.0 XSLT Trwają prace nad XSLT 3.0
Słowem wstępu Część rodziny języków XSL Standard: W3C XSLT 1.0-1999 razem XPath 1.0 XSLT 2.0-2007 Trwają prace nad XSLT 3.0 Problem Zakładane przez XML usunięcie danych dotyczących prezentacji pociąga
Bardziej szczegółowoModelowanie hierarchicznych struktur w relacyjnych bazach danych
Modelowanie hierarchicznych struktur w relacyjnych bazach danych Wiktor Warmus (wiktorwarmus@gmail.com) Kamil Witecki (kamil@witecki.net.pl) 5 maja 2010 Motywacje Teoria relacyjnych baz danych Do czego
Bardziej szczegółowoModel semistrukturalny
Model semistrukturalny standaryzacja danych z różnych źródeł realizacja złożonej struktury zależności, wielokrotne zagnieżdżania zobrazowane przez grafy skierowane model samoopisujący się wielkości i typy
Bardziej szczegółowoWprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT
Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT Marek Wojciechowski marek@cs.put.poznan.pl http://www.cs.put.poznan.pl/~marek/ Formatowanie dokumentów XML Język XML opisuje strukturę i
Bardziej szczegółowoLABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT
LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT 1. Wstęp XML (Extensible Markup Language Rozszerzalny Język Znaczników) to język formalny przeznaczony do reprezentowania danych
Bardziej szczegółowoXML extensible Markup Language 7
XML extensible Markup Language 7 XQuery Co to jest XQuery? XQuery to język zapytań dla XML. XQuery jest dla XML tym czym SQL dla baz danych, a SPARQL dla RDF. XQuery wykorzystuje wyrażenia XPath. XQuery
Bardziej szczegółowoJęzyk XSLT. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz
Język XSLT Po zrealizowaniu materiału student będzie w stanie Dokonać przekształcenia zawartości dokumentu XML do formatu HTML oraz TXT Realizować przetwarzanie warunkowe dokumentu XML Formatować wartości
Bardziej szczegółowoWYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1
WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1 SGML (Standard Generalized Markup Language) Standardowy uogólniony język znaczników służący do ujednolicania struktury i formatu różnego typu informacji (danych). Twórcy
Bardziej szczegółowoXML extensible Markup Language 3
XML extensible Markup Language 3 XSL transformations (XSLT) XSLT (ang. extensible Stylesheet Language Transformations) jest opartym na XML językiem transformacji dokumentów XML XSLT umożliwia przetłumaczenie
Bardziej szczegółowoBazy danych. Polecenia SQL
Bazy danych Baza danych, to miejsce przechowywania danych. Dane w bazie danych są podzielone na tabele. Tabele składają się ze ściśle określonych pól i rekordów. Każde pole w rekordzie ma ściśle ustalony
Bardziej szczegółowoWykład 5. SQL praca z tabelami 2
Wykład 5 SQL praca z tabelami 2 Wypełnianie tabel danymi Tabele można wypełniać poprzez standardową instrukcję INSERT INTO: INSERT [INTO] nazwa_tabeli [(kolumna1, kolumna2,, kolumnan)] VALUES (wartosc1,
Bardziej szczegółowoSQL 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ółowo1 XML w bazach danych
XML w bazach danych 1 Plan 2 Wprowadzenie do języka XML Standard SQL-XML Funkcje SQL-XML Format XML 3 Formalnie, XML stanowi podzbiór języka Standard Generalized Markup Language (SGML) (ISO 8879:1986)
Bardziej szczegółowo29. Poprawność składniowa i strukturalna dokumentu XML
29. i strukturalna dokumentu XML 13 października 2015 1 2 Poprawny składniowo dokument XML powinien być tworzony zgodnie z poniżej przedstawionymi zasadami. Deklaracja XML Powinien zawierać deklarację
Bardziej szczegółowoPRZESTRZENNE BAZY DANYCH WYKŁAD 2
PRZESTRZENNE BAZY DANYCH WYKŁAD 2 Baza danych to zbiór plików, które fizycznie przechowują dane oraz system, który nimi zarządza (DBMS, ang. Database Management System). Zadaniem DBMS jest prawidłowe przechowywanie
Bardziej szczegółowoPawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl
Bazy danych Podstawy języka SQL Dr inż. Paweł Kasprowski pawel@kasprowski.pl Plan wykładu Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność danych Współbieżność
Bardziej szczegółowoXML extensible Markup Language. Paweł Chodkiewicz
XML extensible Markup Language Paweł Chodkiewicz XML - extensible Markup Language Uniwersalny język znaczników przeznaczony do reprezentowania różnych danych w strukturalizowany sposób. Historia GML Projekt
Bardziej szczegółowo2017/2018 WGGiOS AGH. LibreOffice Base
1. Baza danych LibreOffice Base Jest to zbiór danych zapisanych zgodnie z określonymi regułami. W węższym znaczeniu obejmuje dane cyfrowe gromadzone zgodnie z zasadami przyjętymi dla danego programu komputerowego,
Bardziej szczegółowoLaboratorium nr 4. Temat: SQL część II. Polecenia DML
Laboratorium nr 4 Temat: SQL część II Polecenia DML DML DML (Data Manipulation Language) słuŝy do wykonywania operacji na danych do ich umieszczania w bazie, kasowania, przeglądania, zmiany. NajwaŜniejsze
Bardziej szczegółowoXML Path Language (XPath)
XML Path Language (XPath) 1 Cel adresowanie elementów /częś ci dokumentu XML składnia podobna do URI wyszukiwanie elementów bądź grup elementów dokument jako drzewo typy węzłów: element, attribute, text
Bardziej szczegółowoSłuży do wybierania/wyszukiwania fragmentów dokumentu XML. Przypomina trochę ścieżki w systemie operacyjnym. Niech będzie dany dokument XML:
Podstawy XPATH Służy do wybierania/wyszukiwania fragmentów dokumentu XML. Przypomina trochę ścieżki w systemie operacyjnym. Niech będzie dany dokument XML:
Bardziej szczegółowoPlan prezentacji. Krótko o XML Arkusze stylów XSLT XSL XSL Path Przegląd konstrukcji języka i przykłady Narzędzia Podsumowanie Literatura
XSLT Dariusz Dudek Plan prezentacji Krótko o XML Arkusze stylów XSLT XSL XSL Path Przegląd konstrukcji języka i przykłady Narzędzia Podsumowanie Literatura Cechy XML a Rozszerzalny język znaczników Stworzony
Bardziej szczegółowoExtensible Markup Language (XML) Wrocław, Java - technologie zaawansowane
Extensible Markup Language (XML) Wrocław, 15.03.2019 - Java - technologie zaawansowane Wprowadzenie XML jest językiem znaczników (ang. markup language) używanym do definiowania zbioru zasad rozmieszczenia
Bardziej szczegółowoBazy danych dokumentów XML wykład 3 modyfikacja dokumentów
Bazy danych dokumentów XML wykład 3 modyfikacja dokumentów Wykład przygotował: Krzysztof Jankiewicz Bazy danych dokumentów XML wykład 3 modyfikacja dokumentów Trzeci wykład dotyczący baz danych dokumentów
Bardziej szczegółowoProjektowanie systemów baz danych
Projektowanie systemów baz danych Seweryn Dobrzelewski 4. Projektowanie DBMS 1 SQL SQL (ang. Structured Query Language) Język SQL jest strukturalnym językiem zapewniającym możliwość wydawania poleceń do
Bardziej szczegółowoRef. 7 - Język SQL - polecenia DDL i DML
Ref. 7 - Język SQL - polecenia DDL i DML Wprowadzenie do języka SQL. Polecenia generujące strukturę bazy danych: CREATE, ALTER i DROP. Polecenia: wprowadzające dane do bazy - INSERT, modyfikujące zawartość
Bardziej szczegółowoXQuery. sobota, 17 grudnia 11
XQuery XQuery XQuery pozwala na wydobywanie danych z dokumentów XML w sposób podobny do tego w jaki używany jest SQL do tabel w bazach danych. XQuery to język do wykonywania zapytań na dokumentach XML.
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba.
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 8 Wprowadzenie Definiowanie typu obiektowego Porównywanie obiektów Tabele z obiektami Operacje DML na obiektach Dziedziczenie -
Bardziej szczegółowoXML materiały dydaktyczne - Kurs Podstawowy XSL - wprowadzenie. XSL warstwa przekształcania (XSLT) oraz prezentacji informacji (XSL FO).
XSL (XSLT) Transformacja dokumentów XML. XML warstwa przechowująca informacje XSL warstwa przekształcania (XSLT) oraz prezentacji informacji (XSL FO). Transformacja XSLT utworzenie nowego dokumentu wynikowego
Bardziej szczegółowoRelacyjne bazy danych a XML
Relacyjne bazy danych a XML Anna Pankowska aniap@amu.edu.pl Internet, SQLiXMLwbiznesie Internet nieoceniony sposób komunikacji z klientami, pracownikami i partnerami handlowymi przyspiesza transakcje finansowe
Bardziej szczegółowoSQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL
Wprowadzenie do SQL SQL - Structured Query Language -strukturalny język zapytań Światowy standard przeznaczony do definiowania, operowania i sterowania danymi w relacyjnych bazach danych Powstał w firmie
Bardziej szczegółowoPrzetwarzanie dokumentów XML za pomocą XSLT (30.03.2015 r.)
Przetwarzanie dokumentów XML za pomocą XSLT (30.03.2015 r.) Przetwarzanie dokumentów XML oznacza zwykle, wyłuskanie z nich danych oraz przetwarzanie ich na inny format np HTML lub PDF. Jedną z metod przekształcania
Bardziej szczegółowo77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.
77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego. Przy modelowaniu bazy danych możemy wyróżnić następujące typy połączeń relacyjnych: jeden do wielu, jeden do jednego, wiele
Bardziej szczegółowoPrzetwarzanie dokumentów XML i zaawansowane techniki WWW Przetwarzanie dokumentów XML za pomocą procesora XSLT (Zajęcia r.
Przetwarzanie dokumentów XML i zaawansowane techniki WWW Przetwarzanie dokumentów XML za pomocą procesora XSLT (Zajęcia 06 11.04.2016 r.) Przetwarzanie dokumentów XML oznacza zwykle, wyłuskanie z nich
Bardziej szczegółowoDECLARE VARIABLE zmienna1 typ danych; BEGIN
Procedury zapamiętane w Interbase - samodzielne programy napisane w specjalnym języku (właściwym dla serwera baz danych Interbase), który umożliwia tworzenie zapytań, pętli, instrukcji warunkowych itp.;
Bardziej szczegółowoOracle11g: Wprowadzenie do SQL
Oracle11g: Wprowadzenie do SQL OPIS: Kurs ten oferuje uczestnikom wprowadzenie do technologii bazy Oracle11g, koncepcji bazy relacyjnej i efektywnego języka programowania o nazwie SQL. Kurs dostarczy twórcom
Bardziej szczegółowoKOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów
KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów SQL3 wprowadza następujące kolekcje: zbiory ( SETS ) - zestaw elementów bez powtórzeń, kolejność nieistotna listy ( LISTS ) - zestaw
Bardziej szczegółowo15. 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ółowoPrzykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.
Marek Robak Wprowadzenie do języka SQL na przykładzie baz SQLite Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi. Tworzenie tabeli Pierwsza tabela W relacyjnych bazach danych jedna
Bardziej szczegółowoGenerowanie 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ółowoBazy danych. Dr inż. Paweł Kasprowski
Plan wykładu Bazy danych Podstawy relacyjnego modelu danych Dr inż. Paweł Kasprowski pawel@kasprowski.pl Relacyjne bazy danych Język SQL Zapytania SQL (polecenie select) Bezpieczeństwo danych Integralność
Bardziej szczegółowoOracle 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ółowoPlan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza
4 Budowa prostych formularzy, stany sesji, tworzenie przycisków Plan Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza 2 Formularz i jego typy Tworzenie formularza
Bardziej szczegółowoBazy danych i strony WWW
Bazy danych i strony WWW Obsługa baz danych poprzez strony WWW Niezbędne narzędzia: serwer baz danych np. MySQL serwer stron WWW np. Apache przeglądarka stron WWW interpretująca język HTML język skryptowy
Bardziej szczegółowoPrzestrzenne bazy danych Podstawy języka SQL
Przestrzenne bazy danych Podstawy języka SQL Stanisława Porzycka-Strzelczyk porzycka@agh.edu.pl home.agh.edu.pl/~porzycka Konsultacje: wtorek godzina 16-17, p. 350 A (budynek A0) 1 SQL Język SQL (ang.structured
Bardziej szczegółowoIntro. I.Wojnicki, ZTB:XML ZTB: XML. Igor Wojnicki. Katedra Informatyki Stosowanej, Akademia Górniczo-Hutnicza w Krakowie.
Intro Igor Wojnicki (AGH, KIS) XML 18 grudnia 2013 1 / 37 ZTB: XML Igor Wojnicki Katedra Informatyki Stosowanej, Akademia Górniczo-Hutnicza w Krakowie 18 grudnia 2013 Intro Igor Wojnicki (AGH, KIS) XML
Bardziej szczegółowoPo zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych
rk Po zakończeniu rozważań na temat World Wide Web, poznaniu zasad organizacji witryn WWW, przeczytaniu kilkudziesięciu stron i poznaniu wielu nowych pojęć, prawdopodobnie zastanawiasz się, kiedy zaczniesz
Bardziej szczegółowoWykład 2. Relacyjny model danych
Wykład 2 Relacyjny model danych Wymagania stawiane modelowi danych Unikanie nadmiarowości danych (redundancji) jedna informacja powinna być wpisana do bazy danych tylko jeden raz Problem powtarzających
Bardziej szczegółowoOracle 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ółowoBazy danych SQL Server 2005
Bazy danych SQL Server 2005 TSQL Michał Kuciapski Typ zadania: Podstawowe zapytania Select Zadanie 1: Wyświetl następujące informacje z bazy: A. 1. Wyświetl informacje o klientach: nazwa firmy, imie, nazwisko,
Bardziej szczegółowoPodstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, Spis treści
Podstawy języka T-SQL : Microsoft SQL Server 2016 i Azure SQL Database / Itzik Ben-Gan. Warszawa, 2016 Spis treści Wprowadzenie Podziękowania xiii xvii 1 Podstawy zapytań i programowania T-SQL 1 Podstawy
Bardziej szczegółowoSQL (ang. Structured Query Language)
SQL (ang. Structured Query Language) SELECT pobranie danych z bazy, INSERT umieszczenie danych w bazie, UPDATE zmiana danych, DELETE usunięcie danych z bazy. Rozkaz INSERT Rozkaz insert dodaje nowe wiersze
Bardziej szczegółowoPakiety podprogramów Dynamiczny SQL
Pakiety podprogramów Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL 1 Pakiety Pakiet (ang. package)
Bardziej szczegółowoPHP: bazy danych, SQL, AJAX i JSON
1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji
Bardziej szczegółowoPlan dzisiejszego wykładu. Narzędzia informatyczne w językoznawstwie. XML - Definicja. Zalety XML
Plan dzisiejszego wykładu Narzędzia informatyczne w językoznawstwie Perl - Wprowadzenie do XML Marcin Junczys-Dowmunt junczys@amu.edu.pl Zakład Logiki Stosowanej http://www.logic.amu.edu.pl 16. kwietnia
Bardziej szczegółowoSystemy GIS Tworzenie zapytań w bazach danych
Systemy GIS Tworzenie zapytań w bazach danych Wykład nr 6 Analizy danych w systemach GIS Jak pytać bazę danych, żeby otrzymać sensowną odpowiedź......czyli podstawy języka SQL INSERT, SELECT, DROP, UPDATE
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoXPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Osie (axes) Location paths
XPath XML Path Language XPath. XSLT część 1 Problem: jednoznaczne adresowanie fragmentów struktury dokumentu XML. Rozwiązanie: abstrakcyjny drzewiasty model struktury dokumentu, normalizacja zawartości
Bardziej szczegółowoWstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9
Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9 Tabele 9 Klucze 10 Relacje 11 Podstawowe zasady projektowania tabel 16 Rozdział 2. Praca z tabelami 25 Typy danych 25 Tworzenie tabel 29 Atrybuty kolumn
Bardziej szczegółowoCechy języka XQUERY. o na wejściu dokument lub fragment względnie kolekcja dokumentów lub fragmentów o na wyjściu dokument lub fragment.
Cechy języka XQUERY Język funkcyjny o wszystkie konstrukcje języka są wyrażeniami zwracającymi wartość o można je zagnieżdżać o wartości zwracane przez wyrażenia są tzw. sekwencjami ( w sensie XPath 2.0)
Bardziej szczegółowoExtensible Markup Language III
KIiMK 2010 Plan XSLT-transformacje dokumentów 1 XSLT-transformacjedokumentów Informacje o XSLT Przykład transformacji 2 3 Informacje o XSLT Przykład transformacji Informacje o XSLT Przykład transformacji
Bardziej szczegółowoInstrukcja 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ółowoXPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Location paths. Osie (axes)
XPath XML Path Language XPath. XSLT część 1. Problem: jednoznaczne adresowanie fragmentów struktury dokumentu XML. Rozwiązanie: drzewiasty model struktury dokumentu, normalizacja zawartości dokumentu (ten
Bardziej szczegółowo2 Podstawy tworzenia stron internetowych
2 Podstawy tworzenia stron internetowych 2.1. HTML5 i struktura dokumentu Podstawą działania wszystkich stron internetowych jest język HTML (Hypertext Markup Language) hipertekstowy język znaczników. Dokument
Bardziej szczegółowoXQuery. XQuery. Przykład. dokument XML. XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation http://www.w3.
XQuery XQuery XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation http://www.w3.org/tr/xquery/ Język programowania funkcyjnego (podobnie jak Lisp) Język zapytań do danych
Bardziej szczegółowoXML w bazach danych i bezpieczeństwie
XML w bazach danych i bezpieczeństwie Patryk Czarnik Instytut Informatyki UW XML i nowoczesne technologie zarzadzania treścia 2007/08 Klasyfikacja wsparcia dla XML-a w bazach danych (Relacyjna) baza danych
Bardziej szczegółowoZakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi
Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi 1 Rozdział 1 Wprowadzenie do PHP i MySQL Opis: W tym rozdziale kursanci poznają szczegółową charakterystykę
Bardziej szczegółowoDlaczego GML? Gdańsk r. Karol Stachura
Dlaczego GML? Gdańsk 13.03.2017r. Karol Stachura Zanim o GML najpierw o XML Dlaczego stosuje się pliki XML: Tekstowe Samoopisujące się Elastyczne Łatwe do zmiany bez zaawansowanego oprogramowania Posiadające
Bardziej szczegółowoInstrukcje DML INSERT, UPDATE, DELETE. COPY
Wprowadzenie do DML i DDL 1 Bazy Danych Wykład p.t. Instrukcje DML INSERT, UPDATE, DELETE. COPY Antoni Ligęza ligeza@agh.edu.pl http://galaxy.uci.agh.edu.pl/~ligeza Wykorzystano materiały: http: //www.postgresql.org/docs/8.3/interactive/index.html
Bardziej szczegółowoKrzysztof Kadowski. PL-E3579, PL-EA0312,
Krzysztof Kadowski PL-E3579, PL-EA0312, kadowski@jkk.edu.pl Bazą danych nazywamy zbiór informacji w postaci tabel oraz narzędzi stosowanych do gromadzenia, przekształcania oraz wyszukiwania danych. Baza
Bardziej szczegółowoPrezentacja i transformacja
Prezentacja i transformacja Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 21 października 2005 roku 1 Prezentacja Przykładowa aplikacja CSS- Cascading Style Sheets CSS2aXML
Bardziej szczegółowoT-SQL dla każdego / Alison Balter. Gliwice, cop Spis treści. O autorce 11. Dedykacja 12. Podziękowania 12. Wstęp 15
T-SQL dla każdego / Alison Balter. Gliwice, cop. 2016 Spis treści O autorce 11 Dedykacja 12 Podziękowania 12 Wstęp 15 Godzina 1. Bazy danych podstawowe informacje 17 Czym jest baza danych? 17 Czym jest
Bardziej szczegółowoProcedury i funkcje składowane
Procedury i funkcje składowane Zmienne podstawienia i zmienne wiązane, podprogramy, procedury składowane, typy argumentów, wywoływanie procedur, funkcje składowane, poziomy czystości funkcji, funkcje tablicowe
Bardziej szczegółowoSQL 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ółowo1. Przypisy, indeks i spisy.
1. Przypisy, indeks i spisy. (Wstaw Odwołanie Przypis dolny - ) (Wstaw Odwołanie Indeks i spisy - ) Przypisy dolne i końcowe w drukowanych dokumentach umożliwiają umieszczanie w dokumencie objaśnień, komentarzy
Bardziej szczegółowoSprawdzenie czy połączenie przebiegło poprawnie if (mysqli_connect_errno()) { echo Błąd; Połączenie z bazą danych nie powiodło się.
Za operacje na bazie odpowiada biblioteka mysqli (i jak improved). Posiada ona interfejs obiektowy jak i proceduralny. Podłączenie do bazy (obiektowo) mysqli:: construct() ([ string $host [, string $username
Bardziej szczegółowoJęzyk XQuery jako narzędzie do integracji danych Oracle XML Data Synthesis
Język XQuery jako narzędzie do integracji danych Język XQuery jako narzędzie do integracji danych Oracle XML Data Synthesis Tomasz Traczyk Wydział Elektroniki i Technik Informacyjnych Politechnika Warszawska
Bardziej szczegółowoWprowadzenie do baz danych
Wprowadzenie do baz danych Dr inż. Szczepan Paszkiel szczepanpaszkiel@o2.pl Katedra Inżynierii Biomedycznej Politechnika Opolska Wprowadzenie DBMS Database Managment System, System za pomocą którego można
Bardziej szczegółowoBlaski 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Ć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ółowoSystemy baz danych 2 laboratorium Projekt zaliczeniowy
Dany jest następujący logiczny schemat bazy danych Systemy baz danych 2 laboratorium Projekt zaliczeniowy FAKTURY POZYCJE PK f_id_faktury PK p_id_pozycji f_data_wystawienia f_data_płatnosci f_czy_zaplacona
Bardziej szczegółowoBazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych
Plan wykładu Bazy danych Wykład 9: Przechodzenie od diagramów E/R do modelu relacyjnego. Definiowanie perspektyw. Diagramy E/R - powtórzenie Relacyjne bazy danych Od diagramów E/R do relacji SQL - perspektywy
Bardziej szczegółowoMETODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Bardziej szczegółowoXQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery
http://xqtav.sourceforge.net XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery dr hab. Jerzy Tyszkiewicz dr Andrzej Kierzek mgr Jacek Sroka Grzegorz Kaczor praca mgr pod
Bardziej szczegółowoE.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ółowo252 Bazy danych. Praca z językiem XML
252 Bazy danych Praca z językiem XML Bazy danych 253 Przegląd zagadnień Przechowywanie danych w XML Wybieranie danych z XML Podsumowanie Laboratorium XML (ang. extensible Markup Language) jest językiem
Bardziej szczegółowokoledzy, 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ółowoSystemy baz danych. mgr inż. Sylwia Glińska
Systemy baz danych Wykład 1 mgr inż. Sylwia Glińska Baza danych Baza danych to uporządkowany zbiór danych z określonej dziedziny tematycznej, zorganizowany w sposób ułatwiający do nich dostęp. System zarządzania
Bardziej szczegółowoSkładowane procedury i funkcje
Składowane procedury i funkcje Procedury i funkcje są zestawem poleceń SQL, które są przechowywane na serwerze (tak jak dane w tablicach). Istnieją sytuacje, kiedy procedury i funkcje są szczególnie przydatne.
Bardziej szczegółowoMicrosoft SQL Server Podstawy T-SQL
Itzik Ben-Gan Microsoft SQL Server Podstawy T-SQL 2012 przełożył Leszek Biolik APN Promise, Warszawa 2012 Spis treści Przedmowa.... xiii Wprowadzenie... xv Podziękowania... xix 1 Podstawy zapytań i programowania
Bardziej szczegółowoAutor: dr inż. Katarzyna Rudnik
Bazy danych Wykład 2 MS Access Obiekty programu, Reprezentacja danych w tabeli, Indeksy, Relacje i ich sprzężenia Autor: dr inż. Katarzyna Rudnik Obiekty programu MS ACCESS Obiekty typu Tabela są podstawowe
Bardziej szczegółowoOracle PL/SQL. Paweł Rajba. pawel@ii.uni.wroc.pl http://www.kursy24.eu/
Paweł Rajba pawel@ii.uni.wroc.pl http://www.kursy24.eu/ Zawartość modułu 6 Wprowadzenie Definiowanie wyzwalaczy DML Metadane wyzwalaczy Inne zagadnienia, tabele mutujące Wyzwalacze INSTEAD OF Wyzwalacze
Bardziej szczegółowoPodstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko
Podstawowe pojęcia dotyczące relacyjnych baz danych mgr inż. Krzysztof Szałajko Czym jest baza danych? Co rozumiemy przez dane? Czym jest system zarządzania bazą danych? 2 / 25 Baza danych Baza danych
Bardziej szczegółowoRola języka XML narzędziem
Wprowadzenie do XML dr inż. Adam Iwaniak Szkolenie w Luboradzy, ZCPWZ, 12-13.02.2009r. Rola języka XML narzędziem Pierwszą rewolucją internetową było dostarczenie ludziom informacji. Znajdujemy się teraz
Bardziej szczegółowo