Bazy dokumentów XML. Język XML. extensible Markup Language

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

Download "Bazy dokumentów XML. Język XML. extensible Markup Language"

Transkrypt

1 Bazy dokumentów XML Język XML extensible Markup Language

2 Klasy strukturalizacji danych Dane niestrukturalne sposób składowania danych nie zawiera informacji o ich wewnętrznej logicznej strukturze, dane zawierają zrozumiałe przez użytkowników jednostki semantyczne, niewyspecyfikowane jako odrębne jednostki leksykalne. Dane strukturalne sposób składowania danych zawiera pełną informację o ich logicznej strukturze; każdej jednostce semantycznej odpowiada jedna jednostka leksykalna; przykładem są schematy relacji w relacyjnych bazach danych w 1NF. Dane semistrukturalne specyfikacja struktur danych zawiera informacje o ich logicznej strukturze, jednak fragmenty danych pozostają niestrukturalne. Dane niestrukturalne - przykłady Brak specyfikacji wewnętrznej struktury danych "Jan Kowalski, prog. BD, 27 lat, kawaler, tel " "Burza Zdarto żagle, ster prysnął, ryk wód, szum zawiei, Głosy trwożnej gromady, pomp złowieszcze jęki, Ostatnie liny majtkom wyrwały się z ręki, Słońce krwawo zachodzi, z nim reszta nadziei." <!DOCTYPE html> <html> Korea Północna zrywa wszystkie układy o nieagresji z <br /> Koreą Południową, wyłącza "gorącą linię" telefoniczną i zamyka <br /> przejście w Panmundżonie między obu krajami w strefie <br /> zdemilitaryzowanej. Jak poważne jest zagrożenie i dla kogo? </html>

3 Dane strukturalne - przykłady Kompletna specyfikacja wewnętrznych struktur danych, która obejmuje: konstruktory typów, typy danych i więzy integralności. idprac Imię Nazwisko Etat Płaca Premia Zespół 100 Jan Tarzan Prezes zł zł Zarząd 110 Joanna Jane Sekretarka 2500 zł 250 zł Zarząd 120 Henryk Nowak Kierownik 5600 zł 1000 zł Ochrona Dane semistrukturalne - przykład Specyfikacja struktury danych nie jest kompletna; pewne elementy danych nie są wyspecyfikowane. <antologia> <sonet><tytuł>burza</tytuł> <strofa> <wiersz> Zdarto żagle, ster prysnął, ryk wód, szum zawiei, </wiersz> <wiersz> Głosy trwożnej gromady, pomp złowieszcze jęki, </wiersz> <wiersz> Ostatnie liny majtkom wyrwały się z ręki, </wiersz> <wiersz> Słońce krwawo zachodzi, z nim reszta nadziei. </wiersz> </strofa> </sonet> </antologia>

4 Języki znaczników Języki służące do definiowania struktury danych w postaci tekstowej. Znaczenie wybranych fragmentów dokumentów tekstowych jest określone przez objęcie tych fragmentów elementami leksykalnymi nazywanymi znacznikami. GenCode Tex GML, SGML HTML XML Język znaczników HTML Zbiór predefiniowanych znaczników określających strukturę i formaty tekstu, np. paragrafy, nagłówki, złamanie linii, typ i rozmiar czcionki, hyperlinki, itp. : <!DOCTYPE html> <html> <body> <h1><b> Burza </b></h1> <p>zdarto żagle, ster prysnął, ryk wód, szum zawiei, <br /> Głosy trwożnej gromady, pomp złowieszcze jęki, <br /> Ostatnie liny majtkom wyrwały się z ręki, <br /> Słońce krwawo zachodzi, z nim reszta nadziei. <br /></p> </html>

5 Język XML Rozszerzalny język znaczników XML (Extensible Markup Language) uniwersalny język znaczników przeznaczony do reprezentowania danych w sposób strukturalny. W przeciwieństwie do języka HTML nie ma żadnych predefiniowanych znaczników, jest otwarty na definiowanie przez użytkowników dowolnych własnych znaczników. Tylko metodyczną sugestią jest, żeby nie definiować znaczników odkreślających elementy prezentacji danych. Język XML, tak jak HTML jest interpretowalny zarówno przez użytkowników, jak i przez komputery. Język XML pojawił się jako propozycja modelu danych pośredniczącego między innymi modelami danych. Struktury danych XML Dokument XML jest dokumentem tekstowym. Elementy składające się na dokument XML dzielą się na znaczniki i zawartość. Tekst, który nie tworzy znaczników jest zawartością. Wyróżnia się trzy rodzaje znaczników: znacznik początkowy, np.: <paragraf> znacznik końcowy, np.: </paragraf> znacznik pusty, np.: <nowa linia/> Para znaczników początkowego i odpowiadającego mu znacznika końcowego oraz wypełniająca je treść (albo znacznik pusty) tworzą element dokumentu XML. Na przykład: <Tytuł>To jest tytuł</tytuł>

6 Struktury danych XML Definicja znaczników może obejmować definicję jednego lub większej liczby atrybutów elementu. Na przykład: <Krok numer="1" ważność="duża"> Włącz komputer </Krok> Zawartość elementów może być złożona, przez zagnieżdżenie w niej innych elementów. Na przykład: <Krok numer="1" ważność="duża"> Włącz komputer <Krok_składowy numer="1.1"> Podłącz komputer do prądu </Krok_składowy> </Krok> Przykład XML dane strukturalne <Student> <Indeks>11111</Indeks> <Nazwisko>Tarzan</Nazwisko> <Płeć>M</Płeć> <Średnia_ocen>3.12</Średnia_ocen> <Adres> <Kod_pocztowy>60123</Kod_pocztowy> <Miasto>Poznań</Miasto> <Ulica>Browarna</Ulica> <Numer_domu>13</Numer_domu> </Adres> </Student>

7 Przykład XML dane semistrukturalne <News> Wczoraj <data> 21 stycznia 2013 r. </data> w <gdzie> Poznaniu </gdzie> na <uczelnia> Politechnice Poznańskiej </uczelnia> miał miejsce niezwykły wypadek. Studenci Studium Podyplomowego z Systemów Baz Danych z entuzjazmem uczestniczyli w wykładzie z <przedmiot> Zaawansowanych Baz Danych </przedmiot>. </News> Specyfika modelu danych XML, w opozycji do modelu relacyjnego Otwarta fizyczna reprezentacja danych, brak typów danych tylko tekst. Celem jest czytelność danych i niezależność od sformatowanych źródeł danych, efektem ubocznym mniejsza odporność na błędy i mniejsza wydajność. Brak wymagań co do wspólnej struktury danych w jednym dokumencie XML. Można (DTD), ale nie trzeba definiować wspólnej struktury danych dla podobnych elementów dokumentów XML. Utrudnia to semantyczną interpretacje zawartości i obniża odporność na błędy, ale za to zwiększa elastyczność. Otwartość na dane niestrukturalne i semistrukturalne Brak determinizmu zapytań dla danych niestrukturalnych

8 DTD opis struktury dokumentów XML Struktura dokumentów XML może być wyspecyfikowana w odrębnym dokumencie DTD. Na przykład: <!DOCTYPE osoba [ <!ELEMENT osoba (imie, drugieimie, nazwisko)> <!ELEMENT imie (#PCDATA)> <!ELEMENT drugieimie (#PCDATA)> <!ELEMENT nazwisko (#PCDATA)> ]> Można narzucić dokumentom XML zgodność ze zdefiniowaną strukturą, dla poprawnego przetwarzania kolekcji dokumentów: <osoba> <imie>jan</imie> <drugieimie>mateusz</drugieimie> <nazwisko>nowak</nazwisko> </osoba> Typy dokumentów a typy baz danych Bazy danych pozwalające na przechowywanie dokumentów XML (ang. XML-enabled database systems) Niezorientowane na przetwarzanie dokumentów XML. Z reguły pozwalają na przechowywanie określonego typu dokumentów XML Plikowe i tekstowe bazy danych Obiektowe i relacyjne bazy danych Bazy danych dokumentów XML (ang. native XML database systems) Zorientowane na przetwarzanie dokumentów XML

9 Przechowywanie dokumentów XML (1/3) Przechowywanie dokumentów XML w systemie plików w bazach danych w strukturach typu CLOB lub BLOB w bazach danych w postaci zdekomponowanej Mapowanie schematów XML na schematy baz danych Generacja schematów XML ze schematów baz danych i odwrotnie Przechowywanie dokumentów w bazach danych dokumentów XML Przechowywanie dokumentów XML (2/3) w bazach danych w postaci zdekomponowanej Mapowanie schematów XML na schematy baz danych Generacja schematów XML ze schematów baz danych <ROW> <EMPNO>7369</EMPNO> <ENAME>SMITH</ENAME> <JOB>CLERK</JOB> <MGR>7902</MGR> <HIREDATE> </HIREDATE> <SAL>800</SAL> <DEPTNO>10</DEPTNO> </ROW> EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO 7369 SMITH CLERK

10 Przechowywanie dokumentów XML (3/3) Przechowywanie dokumentów XML w systemie plików w bazach danych w strukturach typu CLOB lub BLOB w bazach danych w postaci zdekomponowanej Mapowanie schematów XML na schematy baz danych Generacja schematów XML ze schematów baz danych i odwrotnie Przechowywanie dokumentów w bazach danych dokumentów XML Języki zapytań (1/5) Języki zapytań w obiektowo-relacyjnych bazach danych oparte na konwersji zgodnej z przyjętym mapowaniem oparte na szablonach XML oparte na funkcjach SQL Ich podstawowym zadaniem jest konstruowanie dokumentów XML w oparciu o zawartość bazy danych

11 Języki zapytań (2/5) przykład zapytania opartego o szablon SELECT XMLGen ( '<PRACOWNIK id="{$id_prac}"> <NAZWISKO>{$NAZWISKO}</NAZWISKO> <ZAROBKI> <PODSTAWA>{$PLACA_POD}</PODSTAWA> <DODATEK>{$PLACA_DOD}</DODATEK> </ZAROBKI> </PRACOWNIK>', p.id_prac, p.nazwisko, p.placa_pod, p.placa_dod) AS "wynik" FROM pracownicy p Języki zapytań (3/5) przykład dokumentu pełniącego rolę szablonu <?xml version="1.0"?> <EmpInfo> <Emps> <Query><SelectStmt> SELECT ENAME, SAL FROM EMP</SelectStmt> <Emp> <Nr>$ENAME</Nr> <Name>$SAL</Name> </Emp> </Query> </Emps> </EmpInfo>

12 Języki zapytań (4/5) przykład zapytania opartego o funkcje SQL SELECT XMLElement ( "PRACOWNIK", XMLAttributes(id_prac as "id"), XMLForest( XMLForest( as "ZAROBKI" )) AS "wynik" FROM pracownicy nazwisko as "NAZWISKO", placa_pod as "PODSTAWA", placa_dod as "DODATEK") wynik <PRACOWNIK id="100"> <NAZWISKO>WEGLARZ</NAZWISKO> <ZAROBKI> <PODSTAWA>1730</PODSTAWA> <DODATEK>420.5</DODATEK> </ZAROBKI> </PRACOWNIK>... Języki zapytań (5/5) Języki zapytań w bazach danych dokumentów XML Są to języki zorientowane na przetwarzanie dokumentów XML. Działają na zbiorach dokumentów XML i konstruują dokumenty XML

13 Definicja bazy danych dokumentów XML (ang. native XML database system) Baza danych dokumentów XML Definiuje model dla dokumentów XML-owych Dokumenty XML są jej podstawową jednostką składowania Wykorzystuje dowolny sposób fizycznego składowania Funkcjonalność bazy danych dokumentów XML Składowanie dokumentów XML Definiowanie i przechowywanie schematów (DTD, XML Schema) Obsługa zapytań (XPath, XQuery, XML-QL, Quilt) Obsługa modyfikacji, wstawiania i usuwania dokumentów Obsługa interfejsów programistycznych (XML:DB API, XQuery API for Java XQJ, SAX, DOM, JDOM) Funkcjonalność tradycyjnych SZBD

14 Składowanie dokumentów XML w bazach danych dokumentów XML (1/2) Architektura baz danych dokumentów XML ściśle zależy od modelu bazy danych oparte na obiektach tekstowych oparte na strukturach (relacyjnych, obiektowych, oryginalnych) Kolekcje dokumentów w bazach danych dokumentów XML Bazy danych dokumentów XML, z punktu widzenia użytkownika, przechowują dokumenty zebrane w postaci tzw. kolekcji Kolekcje dokumentów zawierają podobne lub powiązane ze sobą dokumenty podobne są do katalogów w systemie plików dokumenty mogą mieć dowolny schemat mogą być zagnieżdżone lub, podobne są do tabel w systemie relacyjnym dokumenty muszą spełniać reguły określonego schematu umożliwiają zaawansowane indeksowanie i optymalizację zapytań

15 Schematy i indeksy w bazach danych dokumentów XML W bazach danych dokumentów XML oprócz samych dokumentów składowane są także: schematy dokumentów XML indeksy Typy indeksów strukturalne indeksowanie nazw elementów i atrybutów oparte na wartościach indeksowanie wartości elementów i atrybutów indeksy pełnotekstowe indeksowanie leksemów występujących w wartościach elementów i atrybutów Charakterystyka indeksów w bazach danych dokumentów XML Indeksy strukturalne zawierają informacje o wszystkich ścieżkach, które występują w dowolnej instancji dokumentów XML wspomaga przeszukiwanie dokumentów bez określonego schematu może być wykorzystywany do walidacji zmian bez dostępu do schematu dokumentu Indeksy oparte na wartościach wspomagają wyszukiwanie elementów (atrybutów) posiadających określone wartości uwzględniają typy wartości Indeksy tekstowe warunkują efektywne wyszukiwanie wartości tekstowych indeksowane są słowa występujące w elementach lub atrybutach

16 Języki zapytań w bazach danych dokumentów XML Oryginalne XPath powszechnie wykorzystywany XQuery obecny standard języka zapytań dla baz danych dokumentów XML Sposoby modyfikacji w bazach danych dokumentów XML Większość baz danych umożliwia tylko usuwanie i wstawianie kompletnych dokumentów XML Modyfikacja zawartości jest możliwa za pomocą: operacji DOM wyrażeń XPath, które wskazują węzły, na których można przeprowadzić operację: wstawienie węzła przed lub po modyfikacja węzła usunięcie węzła rozszerzeń języka XQuery

17 Przykład polecenia modyfikacji zdefiniowanego za pomocą wyrażeń XPath <xupdate:append select="/bib" child="last()"> <xupdate:element name="book"> <title>system zarzadzania bazą danych Oracle 7</title> </xupdate:element> </xupdate:append> Interfejsy programistyczne w bazach danych dokumentów XML Zazwyczaj podobne do ODBC Języki zapytań oddzielone są od API Podstawowe polecenia: connect, execute query, get results, commit/rollback Rezultat zapytań w postaci: ciągu znaków, drzewa DOM, zdarzeń SAX. Zazwyczaj dostępne przez HTTP Wiele baz danych wykorzystuje swoje oryginalne API XML:DB API i XQuery API for Java (XQJ) to rozwiązania niezależne od bazy danych

18 Cechy języka XQuery Język deklaratywny podobnie jak SQL Wykorzystuje wyrażenia ścieżkowe XPath 2.0 Operuje na pojedynczych dokumentach lub ich kolekcjach Konstruuje dokumenty XML lub ich fragmenty Oparty na wyrażeniach FLWOR, składających się z pięciu klauzul: FOR, LET, WHERE, ORDER BY, RETURN XQuery "w całości" (1/2) for $d in doc("zespoly.xml")//id_zesp let $e := doc("pracownicy.xml")//pracownik[id_zesp = $d] where count($e) >= 5 order by avg($e/placa_pod) descending return <duzy-zespol> { $d, <liczba-pracownikow>{count($e)}</liczba-pracownikow>, <srednia-placa>{avg($e/placa_pod)}</srednia-placa> } </duzy-zespol>

19 XQuery "w całości" (2/2) <duzy-zespol> <id_zesp>20</id_zesp> <liczba-pracownikow>7</liczba-pracownikow> <srednia-placa>690,59</srednia-placa> </duzy-zespol> pracownicy.xml: <?xml version="1.0"?> <rowset> <pracownik> <id_prac>130</id_prac> <nazwisko>brzezinski</nazwisko> <etat>profesor</etat> <id_szefa>100</id_szefa> <placa_pod>1075.2</placa_pod> <placa_dod>611.16</placa_dod> <id_zesp>20</id_zesp> </pracownik>... zespoly.xml: <?xml version="1.0"?> <rowset> <zespol> <id_zesp>10</id_zesp> <nazwa>administracja</nazwa> </zespol> <zespol> <id_zesp>20</id_zesp> <nazwa>syst.rozpr.</nazwa> <adres>piotrowo 3a</adres> </zespol>... Klauzule FOR i LET Klauzule FOR i LET wykorzystywane są do tworzenia strumienia krotek. Każda krotka składa się z jednej lub wielu zmiennych. for $s in (<one/>, <two/>, <three/>) for $d in document("zespoly.xml")//id_zesp

20 Klauzula FOR Klauzula FOR może zawierać wiele zmiennych Klauzula FOR iteruje po każdej wartości uzyskanej w wyniku ewaluacji wyrażenia przypisanego do zmiennej. Użycie wielu zmiennych w w klauzuli FOR powoduje, że dla każdej wartości zmiennej nadrzędnej wykonywana jest iteracja za pomocą zmiennej podrzędnej. Wynikowa kolejność krotek tworzonych za pomocą klauzuli FOR jest znacząca for $i in (1, 2), $j in (3, 4) ($i = 1, $j = 3) ($i = 1, $j = 4) ($i = 2, $j = 3) ($i = 2, $j = 4) for $z in document("zespoly.xml")//id_zesp, $p in document("pracownicy.xml")//pracownicy[id_zesp = $z] Klauzula LET Klauzula LET może zawierać jedną lub wiele zmiennych. Wiązanie zmiennych odbywa się bez iteracji. Wartością zmiennej użytej w klauzuli LET są wszystkie węzły (las węzłów) wskazywane przez wyrażenie przypisane do zmiennej Zmienne z klauzuli LET są dodawane do krotek wygenerowanych przez klauzulę FOR. Jeśli klauzuli FOR nie ma, wówczas LET generuje tylko jedną krotkę let $i := (1, 2), $j := (3, 4) return <wynik>i={$i}, j={$j} </wynik> <wynik>i=1 2, j=3 4</wynik> for $e in distinct-values(doc('pracownicy.xml')//etat/text()) let $l := doc('pracownicy.xml')//pracownik[etat = $e] return <etat nazwa="{$e}">{count($l)}</etat> <etat nazwa="adiunkt">2</etat> <etat nazwa="asystent">3</etat>

21 FOR vs LET Mimo iż obie klauzule FOR i LET służą do wiązania zmiennych, sposób w jaki to robią jest zupełnie różny. for $s in (<one/>, <two/>, <three/>) return <out>{$s}</out> let $s := (<one/>, <two/>, <three/>) return <out>{$s}</out> <out><one/> </out> <out><two/> </out> <out><three/> </out> <out><one/><two/><three/></out> Klauzula FOR i zmienne pozycji Zmienna pozycji (positional variable) może wystąpić w klauzuli FOR i musi być poprzedzona słowem kluczowym AT. Kolejne iteracje przypisują zmiennym pozycji kolejne numery porządkowe. Wartości zmiennych pozycji rozpoczynają się od 1, a ich typem jest xs:integer for $car at $i in ("Ford", "Chevy"), $pet at $j in ("Cat", "Dog") return <wynik>{$car} at {$i}, {$pet} at {$j} </wynik> <wynik>ford at 1, Cat at 1</wynik> <wynik>ford at 1, Dog at 2</wynik> <wynik>chevy at 2, Cat at 1</wynik> <wynik>chevy at 2, Dog at 2</wynik>

22 Klauzula WHERE Opcjonalna klauzula WHERE służy do filtrowania krotek Wyrażenie zdefiniowane w klauzuli WHERE jest obliczane dla każdej z krotek. Jeśli wyrażenie jest prawdziwe, to krotka jest poddawana dalszemu przetwarzaniu, np. w klauzuli RETURN. W przeciwnym wypadku krotka jest odrzucana. avg(for $x at $i in (1,2,3,4,5,6,7,8,9,10) where $i mod 2 = 0 return $x) for $e in distinct-values(doc('pracownicy.xml')//etat/text()) let $l := doc('pracownicy.xml')//pracownik[etat = $e] where count ($l) > 2 return <etat nazwa="{$e}">{count($l)}</etat> Klauzula RETURN i ORDER BY Klauzula RETURN jest ewaluowana raz dla każdej krotki uzyskanej w wyniku działania wcześniejszych klauzul. Wyniki tej ewaluacji są składają się na rezultat wyrażenia FLWOR. Jeśli w zapytaniu nie ma klauzuli ORDER BY wówczas kolejność krotek dostarczanych do klauzuli RETURN jest determinowana przez sposób przetwarzania klauzul FOR i LET. Jeśli klauzula ORDER BY istnieje wówczas to ona decyduje o kolejności krotek w strumieniu dostarczanym do klauzuli RETURN.

23 Klauzula ORDER BY Zadaniem klauzuli ORDER BY jest uszeregowanie strumienia krotek Klauzula ORDER BY definiuje porządek w oparciu o jedno lub wiele wyrażeń. Słowa kluczowe występujące w wyrażeniach klauzuli ORDER BY: descending porządek sortowania malejący empty least wartości puste traktowane są jako najmniejsze empty greatest wartości puste traktowane są jako największe for $p in doc("pracownicy.xml")//pracownik order by number($p/placa_pod) descending return <w>{$p/nazwisko} {$p/placa_pod}</w> for $z in doc("zespoly.xml")//zespol order by $z/adres empty greatest return $z Uporządkowanie wyników Wyrażenia XQuery zwracają wynik w ściśle określonym porządku wyznaczonym przez klauzulę ORDER BY wyznaczonym przez kolejność węzłów w dokumencie odczytywanych za pomocą klauzuli FOR Deklaracja pozwalająca na zignorowanie porządku poszczególnych elementów ma postać funkcji unordered unordered(for $z in doc("zespoly.xml")//id_zesp, $p in doc("pracownicy.xml")//pracownik where $p/id_zesp = $z return <pracownik>{$p/nazwisko},{$z/../nazwa}</pracownik> )

24 Podzapytania W zapytaniach XQuery można zagnieżdżać wyrażenia FLWOR Najczęściej zagnieżdżenia występują w klauzuli RETURN jako argumenty funkcji w klauzuli WHERE pod postacią np. wyrażeń ilościowych Zagnieżdżenia mogą wykorzystywać wcześniej przypisane zmienne for $z in doc("zespoly.xml")//id_zesp return <zespol> {$z/../nazwa} {for $p in doc("pracownicy.xml")//pracownik where $p/id_zesp = $z return $p/nazwisko} </zespol> <wynik> { for $z in doc("zespoly.xml")//nazwa return $z } </wynik> Wyrażenia warunkowe XQuery wspiera wyrażenia warunkowe oparte na konstrukcji IF, THEN, ELSE W przypadku, gdy wyrażenie testowane w warunku występującym po IF jest spełnione, wynikiem wyrażenia warunkowego jest wyrażenie występujące po THEN. W przeciwnym przypadku, wynikiem jest wyrażenie występujące po ELSE. for $z in doc("zespoly.xml")//id_zesp return <zespol> {$z/../nazwa} { if ($z = 10) then for $p at $i in doc("pracownicy.xml")//pracownik where $p/id_zesp = $z return $p/nazwisko else () } </zespol>

25 Wyrażenia ilościowe (1/2) Wyrażenia ilościowe wspierają weryfikację warunków dla zbioru elementów. Wyrażenia ilościowe są spełnione gdy warunek testujący jest spełniony dla wszystkich elementów w zbiorze chociaż jednego elementu w zbiorze Format wyrażenia ilościowego jest następujący: (some every) var in expr (, var2 in expr2)* satisfies WarunekTestujacy for $z in doc("zespoly.xml")//id_zesp where some $p in doc("pracownicy.xml")//pracownik satisfies $p/id_zesp = $z return $z/../nazwa Wyrażenia ilościowe (2/2) for $z in doc("zespoly.xml")//id_zesp where every $p in doc("pracownicy.xml")//pracownik[id_zesp = $z] satisfies $p/placa_pod > 500 return $z/../nazwa <frequent_bidder> { for $u in doc("users.xml")//user_tuple where every $item in doc("items.xml")//item_tuple satisfies some $b in doc("bids.xml")//bid_tuple satisfies ($item/itemno = $b/itemno and $u/userid = $b/userid) return $u/name } </frequent_bidder>

Bazy danych dokumentów XML wykład 2 XQuery

Bazy danych dokumentów XML wykład 2 XQuery Bazy danych dokumentów XML wykład 2 XQuery Wykład przygotował: Krzysztof Jankiewicz Bazy danych dokumentów XML wykład 2 XQuery Drugi wykład z baz danych dokumentów XML zostanie poświęcony językowi zapytań

Bardziej szczegółowo

Bazy danych dokumentów XML wykład 1 wprowadzenie

Bazy danych dokumentów XML wykład 1 wprowadzenie Bazy danych dokumentów XML wykład 1 wprowadzenie Wykład przygotował: Krzysztof Jankiewicz Bazy danych dokumentów XML wykład 1 wprowadzenie Przez ostatnich kilkanaście lat znaczenie formatu danych XML stale

Bardziej szczegółowo

Cechy 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. 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ółowo

Bazy danych dokumentów XML wykład 3 modyfikacja dokumentów

Bazy 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ółowo

Model semistrukturalny

Model 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ółowo

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem

Bardziej szczegółowo

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem

Bardziej szczegółowo

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę

Podzapytania. Rozdział 5. Podzapytania. Podzapytania wyznaczające wiele krotek (1) Podzapytania wyznaczające jedną krotkę Podzapytania Rozdział 5 Podzapytania podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, klauzula WITH, operatory ANY, ALL i EXISTS, zapytania hierarchiczne Podzapytanie jest poleceniem

Bardziej szczegółowo

Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS.

Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS. Język SQL. Rozdział 6. Podzapytania Podzapytania proste i skorelowane, podzapytania w klauzuli SELECT i FROM, operatory ANY, ALL i EXISTS. 1 Podzapytania Podzapytanie jest poleceniem SELECT zagnieżdżonym

Bardziej szczegółowo

XML extensible Markup Language 7

XML 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ółowo

Język SQL. Rozdział 2. Proste zapytania

Język SQL. Rozdział 2. Proste zapytania Język SQL. Rozdział 2. Proste zapytania Polecenie SELECT, klauzula WHERE, operatory SQL, klauzula ORDER BY. 1 Wprowadzenie do języka SQL Język dostępu do bazy danych. Język deklaratywny, zorientowany na

Bardziej szczegółowo

Standard SQL/XML. Wprowadzenie do XQuery

Standard SQL/XML. Wprowadzenie do XQuery Standard SQL/XML Wprowadzenie do XQuery Marek Wojciechowski marek@cs.put.poznan.pl http://www.cs.put.poznan.pl/~marek/ Języki zapytań dla XML Wraz z pojawieniem się standardu XML pojawiały się również

Bardziej szczegółowo

Spis treści. Przedmowa

Spis treści. Przedmowa Spis treści Przedmowa V 1 SQL - podstawowe konstrukcje 1 Streszczenie 1 1.1 Bazy danych 1 1.2 Relacyjny model danych 2 1.3 Historia języka SQL 5 1.4 Definiowanie danych 7 1.5 Wprowadzanie zmian w tabelach

Bardziej szczegółowo

Przykładowy dokument XML

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ół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

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści

SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop Spis treści SQL w 24 godziny / Ryan Stephens, Arie D. Jones, Ron Plew. Warszawa, cop. 2016 Spis treści O autorach 11 Podziękowania 12 Część I Wprowadzenie do języka SQL 13 Godzina 1. Witamy w świecie języka SQL 15

Bardziej szczegółowo

1 XML w bazach danych

1 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ółowo

2 Natywne bazy XML 9 2.1 Języki zapytań... 9 2.2 XQuery... 11. 3 Źródła 14

2 Natywne bazy XML 9 2.1 Języki zapytań... 9 2.2 XQuery... 11. 3 Źródła 14 Plan wykładu Spis treści 1 Bazy przechowujące XML 1 1.1 XMLType.................................... 2 1.2 Schematy XML................................. 3 1.3 Perspektywy XMLType.............................

Bardziej szczegółowo

Oracle11g: Wprowadzenie do SQL

Oracle11g: 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ółowo

SQL (ang. Structured Query Language)

SQL (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ółowo

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane.

Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne, perspektywy wbudowane. 1 Perspektywa Perspektywa (ang. view) jest strukturą logiczną

Bardziej szczegółowo

Przestrzenne bazy danych Podstawy języka SQL

Przestrzenne 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ółowo

Procedury i funkcje składowane

Procedury 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ółowo

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne.

Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. Język SQL. Rozdział 10. Perspektywy Stosowanie perspektyw, tworzenie perspektyw prostych i złożonych, perspektywy modyfikowalne i niemodyfikowalne. 1 Perspektywa Perspektywa (ang. view) jest strukturą

Bardziej szczegółowo

INTEGRACJA I EKSPLORACJA DANYCH

INTEGRACJA I EKSPLORACJA DANYCH INTEGRACJA I EKSPLORACJA DANYCH mgr inż. Anna Pankowska aniap@amu.edu.pl Anna Pankowska - I&E 1 Plan wykładu Integracja danych - Dane semistrukturalne i język XML jako standard składowania i wymiany danych

Bardziej szczegółowo

XQuery. XQuery. Przykład. dokument XML. XQuery (XML Query Language) XQuery 1.0: An XML Query Language. W3C Recommendation http://www.w3.

XQuery. 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ółowo

Technologie baz danych

Technologie baz danych Plan wykładu Technologie baz danych Wykład 6: Algebra relacji. SQL - cd Algebra relacji operacje teoriomnogościowe rzutowanie selekcja przemianowanie Małgorzata Krętowska Wydział Informatyki Politechnika

Bardziej szczegółowo

Bazy danych Wykład zerowy. P. F. Góra

Bazy danych Wykład zerowy. P. F. Góra Bazy danych Wykład zerowy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ 2012 Patron? Św. Izydor z Sewilli (VI wiek), biskup, patron Internetu (sic!), stworzył pierwszy katalog Copyright c 2011-12 P.

Bardziej szczegółowo

Bazy danych - wykład wstępny

Bazy danych - wykład wstępny Bazy danych - wykład wstępny Wykład: baza danych, modele, hierarchiczny, sieciowy, relacyjny, obiektowy, schemat logiczny, tabela, kwerenda, SQL, rekord, krotka, pole, atrybut, klucz podstawowy, relacja,

Bardziej szczegółowo

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle

Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Rozszerzenie obiektowe w SZBD Oracle Rozszerzenie obiektowe w SZBD Oracle Cześć 2. Kolekcje Kolekcje Zbiory obiektów, rodzaje: tablica o zmiennym rozmiarze (ang. varray) (1) (2) (3) (4) (5) Malinowski Nowak Kowalski tablica zagnieżdżona (ang.

Bardziej szczegółowo

Extensible Markup Language (XML) Wrocław, Java - technologie zaawansowane

Extensible 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ółowo

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne

Multi-wyszukiwarki. Mediacyjne Systemy Zapytań wprowadzenie. Architektury i technologie integracji danych Systemy Mediacyjne Architektury i technologie integracji danych Systemy Mediacyjne Multi-wyszukiwarki Wprowadzenie do Mediacyjnych Systemów Zapytań (MQS) Architektura MQS Cechy funkcjonalne MQS Cechy implementacyjne MQS

Bardziej szczegółowo

Wprowadzenie do baz danych

Wprowadzenie 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ółowo

LABORATORIUM 5 WSTĘP DO SIECI TELEINFORMATYCZNYCH WPROWADZENIE DO XML I XSLT

LABORATORIUM 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ółowo

Podstawowe 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 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ółowo

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania.

Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Wykład 7 Implementacja języka SQL w systemach baz danych Oracle sortowanie, funkcje agregujące i podzapytania. Przykładowa RBD o schematach relacji (tzw. płaska postać RBD): N(PRACOWNICY) = {ID_P, IMIĘ,

Bardziej szczegółowo

Systemy GIS Tworzenie zapytań w bazach danych

Systemy 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ółowo

XQuery. sobota, 17 grudnia 11

XQuery. 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ółowo

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki )

LITERATURA. C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) LITERATURA C. J. Date; Wprowadzenie do systemów baz danych WNT Warszawa 2000 ( seria Klasyka Informatyki ) H. Garcia Molina, Jeffrey D. Ullman, Jennifer Widom; Systemy baz danych. Kompletny podręcznik

Bardziej szczegółowo

Ćwiczenie zapytań języka bazy danych PostgreSQL

Ćwiczenie zapytań języka bazy danych PostgreSQL Ćwiczenie zapytań języka bazy danych PostgreSQL 1. Uruchom link w przeglądarce: http://127.0.0.1/phppgadmin 2. Kliknij w zaznaczony na czerwono link PostgreSQL: 3. Zaloguj się wpisując hasło i login student.

Bardziej szczegółowo

SQL do zaawansowanych analiz danych część 1.

SQL do zaawansowanych analiz danych część 1. SQL do zaawansowanych analiz danych część 1. Mechanizmy języka SQL dla agregacji danych Rozszerzenia PIVOT i UNPIVOT Materiały wykładowe Bartosz Bębel Politechnika Poznańska, Instytut Informatyki Plan

Bardziej szczegółowo

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

KOLEKCJE - 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ółowo

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas)

Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Dr Michał Tanaś(http://www.amu.edu.pl/~mtanas) Bazy danych podstawowe pojęcia Baza danych jest to zbiór danych zorganizowany zgodnie ze ściśle określonym modelem danych. Model danych to zbiór ścisłych

Bardziej szczegółowo

DB2 XML w relacyjnych bazach danych wstęp do wprowadzenia. Kuba Pochrybniak

DB2 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ółowo

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia ZP/ITS/11/2012 Załącznik nr 1a do SIWZ ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia Przedmiotem zamówienia jest: Przygotowanie zajęć dydaktycznych w postaci kursów e-learningowych przeznaczonych

Bardziej szczegółowo

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000

Bazy Danych. C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 Bazy Danych LITERATURA C. J. Date, Wprowadzenie do systemów baz danych, WNT - W-wa, (seria: Klasyka Informatyki), 2000 J. D. Ullman, Systemy baz danych, WNT - W-wa, 1998 J. D. Ullman, J. Widom, Podstawowy

Bardziej szczegółowo

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe

Język SQL. Rozdział 5. Połączenia i operatory zbiorowe Język SQL. Rozdział 5. Połączenia i operatory zbiorowe Iloczyn kartezjański, połączenie równościowe, połączenie nierównościowe, połączenie zwrotne, połączenie zewnętrzne, składnia jawna połączeń, składnia

Bardziej szczegółowo

PODSTAWY BAZ DANYCH 13. PL/SQL

PODSTAWY BAZ DANYCH 13. PL/SQL PODSTAWY BAZ DANYCH 13. PL/SQL 1 Wprowadzenie do języka PL/SQL Język PL/SQL - rozszerzenie SQL o elementy programowania proceduralnego. Możliwość wykorzystywania: zmiennych i stałych, instrukcji sterujących

Bardziej szczegółowo

Język PL/SQL Procedury i funkcje składowane

Język PL/SQL Procedury i funkcje składowane Język PL/SQL Procedury i funkcje składowane Podprogramy, procedury i funkcje składowane, typy argumentów, wywoływanie procedur i funkcji, poziomy czystości funkcji 1 Podprogramy Procedury (wykonują określone

Bardziej szczegółowo

Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach

Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach Język SQL. Rozdział 7. Zaawansowane mechanizmy w zapytaniach Ograniczanie rozmiaru zbioru wynikowego, klauzula WITH, zapytania hierarchiczne. 1 Ograniczanie liczności zbioru wynikowego (1) Element standardu

Bardziej szczegółowo

77. Modelowanie bazy danych rodzaje połączeń relacyjnych, pojęcie klucza obcego.

77. 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ółowo

Wyzwalacze. Anna Fiedorowicz Bazy danych 2

Wyzwalacze. Anna Fiedorowicz Bazy danych 2 Wyzwalacze Wyzwalacze są specjalnymi procedurami składowanymi, uruchamianymi automatycznie w następstwie zaistnienia określonego typu zdarzenia. Ich główne zadanie polega na wymuszaniu integralności danych

Bardziej szczegółowo

Sł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 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ółowo

XML w bazie danych IBM DB2

XML 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ółowo

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi

Systemy baz danych w zarządzaniu przedsiębiorstwem. W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Systemy baz danych w zarządzaniu przedsiębiorstwem W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi Proces zarządzania danymi Zarządzanie danymi obejmuje czynności: gromadzenie

Bardziej szczegółowo

Wstęp 5 Rozdział 1. Podstawy relacyjnych baz danych 9

Wstę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ółowo

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d.

Definicja bazy danych TECHNOLOGIE BAZ DANYCH. System zarządzania bazą danych (SZBD) Oczekiwania wobec SZBD. Oczekiwania wobec SZBD c.d. TECHNOLOGIE BAZ DANYCH WYKŁAD 1 Wprowadzenie do baz danych. Normalizacja. (Wybrane materiały) Dr inż. E. Busłowska Definicja bazy danych Uporządkowany zbiór informacji, posiadający własną strukturę i wartość.

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ęzyk SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych

Język SQL. instrukcja laboratoryjna. Politechnika Śląska Instytut Informatyki. laboratorium Bazy Danych Politechnika Śląska Instytut Informatyki instrukcja laboratoryjna laboratorium Bazy Danych przygotowali: mgr inż. Paweł Kasprowski (Kasprowski@zti.iinf.polsl.gliwice.pl) mgr inż. Bożena Małysiak (bozena@ivp.iinf.polsl.gliwice.pl)

Bardziej szczegółowo

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN

Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Integralność danych Wersje języka SQL Klauzula SELECT i JOIN Robert A. Kłopotek r.klopotek@uksw.edu.pl Wydział Matematyczno-Przyrodniczy. Szkoła Nauk Ścisłych, UKSW Integralność danych Aspekty integralności

Bardziej szczegółowo

BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR

BAZY DANYCH. Dr hab. Sławomir Zadrożny, prof. PR BAZY DANYCH Dr hab. Sławomir Zadrożny, prof. PR Co to jest baza danych? Wiele możliwych definicji Zbiór danych, który istnieje przez dłuższy okres czasu Współdzielony zestaw logicznie powiązanych danych

Bardziej szczegółowo

Rola języka XML narzędziem

Rola 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

Ćwiczenie rozpocznie się od wprowadzenia do laboratorium, po którym omówimy składnię ę polecenia INSERT pozwalającego ą na wstawianie krotek do

Ćwiczenie rozpocznie się od wprowadzenia do laboratorium, po którym omówimy składnię ę polecenia INSERT pozwalającego ą na wstawianie krotek do Na dotychczasowych zajęciach zapoznaliście się Państwo z poleceniem SELECT pozwalającym ą na wykonywanie zapytań ń do bazy danych i odczytywanie danych zawartych w relacjach. Celem tego ćwiczenia jest

Bardziej szczegółowo

Język XML Query. Czym jest XML Query? Po co XML Query? Tomasz Traczyk. Czym jest XML Query? Wprowadzenie do składni języka.

Język XML Query. Czym jest XML Query? Po co XML Query? Tomasz Traczyk. Czym jest XML Query? Wprowadzenie do składni języka. Język XML Query Język XML Query Tomasz Traczyk ttraczyk@ia.pw.edu.pl http://www.ia.pw.edu.pl/~ttraczyk/ Politechnika Warszawska Wydział Elektroniki i Technik Informacyjnych Instytut Automatyki i Informatyki

Bardziej szczegółowo

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000

LITERATURA. Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000 LITERATURA Wprowadzenie do systemów baz danych C.J.Date; WNT Warszawa 2000 Systemy baz danych. Pełny wykład H. Garcia Molina, Jeffrey D. Ullman, Jennifer Widom;WNT Warszawa 2006 Wprowadzenie do systemów

Bardziej szczegółowo

PHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop Spis treści

PHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop Spis treści PHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop. 2017 Spis treści Wstęp 11 Część I Skrypty PHP dynamiczne generowanie stron internetowych 15 Rozdział 1. Podstawy 17 Czym jest PHP? 17 Krótka

Bardziej szczegółowo

GML w praktyce geodezyjnej

GML w praktyce geodezyjnej GML w praktyce geodezyjnej Adam Iwaniak Kon-Dor s.c. Konferencja GML w praktyce, 12 kwietnia 2013, Warszawa SWING Rok 1995, standard de jure Wymiany danych pomiędzy bazami danych systemów informatycznych

Bardziej szczegółowo

Plan. Raport. Tworzenie raportu z kreatora (1/3)

Plan. Raport. Tworzenie raportu z kreatora (1/3) 3 Budowa prostych raportów opartych o bazę danych Plan Co to jest raport? Tworzenie za pomocą kreatora Tworzenie opartego o polecenie SQL Edycja atrybutów Atrybuty regionu Atrybuty Atrybuty kolumn 2 Raport

Bardziej szczegółowo

Informatyka (10) dr inż. Katarzyna Palikowska Katedra Transportu Szynowego i Mostów p. 4 Hydro

Informatyka (10) dr inż. Katarzyna Palikowska Katedra Transportu Szynowego i Mostów p. 4 Hydro Informatyka (10) dr inż. Katarzyna Palikowska Katedra Transportu Szynowego i Mostów p. 4 Hydro katpalik@pg.gda.pl katarzyna.palikowska@wilis.pg.gda.pl Architektura Klient-Serwer Gruby klient Cienki klient

Bardziej szczegółowo

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki Teoretyczne podstawy informatyki Wykład 8b: Algebra relacyjna http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2009/tpi-2009 Prof. dr hab. Elżbieta Richter-Wąs 1 Algebra relacyjna Algebra relacyjna (ang.

Bardziej szczegółowo

Autor: Joanna Karwowska

Autor: Joanna Karwowska Autor: Joanna Karwowska Jeśli pobieramy dane z więcej niż jednej tabeli, w rzeczywistości wykonujemy tak zwane złączenie. W SQL istnieją instrukcje pozwalające na formalne wykonanie złączenia tabel - istnieje

Bardziej szczegółowo

Pakiety podprogramów Dynamiczny SQL

Pakiety 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ółowo

Wykład 2. Relacyjny model danych

Wykł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ółowo

Wprowadzenie do technologii XML

Wprowadzenie do technologii XML Katedra Mikroelektroniki i Technik Informatycznych Łódź, 6 października 2005 roku 1 Informacje organizacyjne Omówienie przedmiotu 2 vs HTML Struktura 3 Struktura Informacje o przedmiocie Informacje organizacyjne

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

Microsoft SQL Server Podstawy T-SQL

Microsoft 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ółowo

29. Poprawność składniowa i strukturalna dokumentu XML

29. 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ółowo

Podstawy 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, 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ółowo

Porównanie systemów zarządzania relacyjnymi bazami danych

Porównanie systemów zarządzania relacyjnymi bazami danych Jarosław Gołębiowski 12615 08-07-2013 Porównanie systemów zarządzania relacyjnymi bazami danych Podstawowa terminologia związana z tematem systemów zarządzania bazami danych Baza danych jest to zbiór danych

Bardziej szczegółowo

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Modelowanie 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ółowo

XML extensible Markup Language. Paweł Chodkiewicz

XML 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ółowo

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

SQL - 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ółowo

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1 Procedury wyzwalane procedury wyzwalane, cel stosowania, typy wyzwalaczy, wyzwalacze na poleceniach DML i DDL, wyzwalacze typu INSTEAD OF, przykłady zastosowania, zarządzanie wyzwalaczami 1 Procedury wyzwalane

Bardziej szczegółowo

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki.

Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki. Pakiety Pakiety są logicznymi zbiorami obiektów takich jak podprogramy, typy, zmienne, kursory, wyjątki. Pakiet składa się ze: specyfikacji (interfejsu) i ciała (implementacji). W specyfikacji mieszczą

Bardziej szczegółowo

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT Studia podyplomowe Inżynieria oprogramowania współfinansowane przez Unię Europejska w ramach Europejskiego Funduszu Społecznego Projekt Studia podyplomowe z zakresu wytwarzania oprogramowania oraz zarządzania

Bardziej szczegółowo

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Plan. 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ół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

Implementacja schematów i statycznej kontroli typów w systemie JLoXiM

Implementacja schematów i statycznej kontroli typów w systemie JLoXiM Paweł Mantur Implementacja schematów i statycznej kontroli typów w systemie JLoXiM projekt rozwiązania 2009-11-12 Schematy w bazach danych Relacyjne bazy danych: tabele, kolumny, typy danych, klucze itp.

Bardziej szczegółowo

Wprowadzenie do języka SQL

Wprowadzenie do języka SQL Wprowadzenie do języka SQL język dostępu do bazy danych grupy poleceń języka: DQL (ang( ang.. Data Query Language) DML (ang( ang.. Data Manipulation Language) DDL (ang( ang.. Data Definition Language)

Bardziej szczegółowo

Ref. 7 - Język SQL - polecenia DDL i DML

Ref. 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ółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: Bazy danych Database Kierunek: Rodzaj przedmiotu: obieralny Rodzaj zajęć: wykład, laboratorium Matematyka Poziom kwalifikacji: I stopnia Liczba godzin/tydzień: 2W, 2L Semestr: III Liczba

Bardziej szczegółowo

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

XQTav - 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ółowo

Bazy danych. Plan wykładu. Diagramy ER. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych. Podstawy modeli relacyjnych

Bazy 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ółowo

2017/2018 WGGiOS AGH. LibreOffice Base

2017/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ółowo

Język SQL. Rozdział 8. Język manipulowania danymi DML

Język SQL. Rozdział 8. Język manipulowania danymi DML Język SQL. Rozdział 8. Język manipulowania danymi DML Wstawianie danych i polecenie INSERT, modyfikowanie danych i polecenie UPDATE, usuwanie danych i polecenie DELETE, połączenia modyfikowalne, sekwencje.

Bardziej szczegółowo

Plan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych

Plan wykładu BAZY DANYCH II WYKŁAD 3. Zasięg zmiennych. Zasięg zmiennych Plan wykładu BAZY DANYCH II WYKŁAD 3 Zasięg zmiennych Zmienne powiązane Instrukcje warunkowe Pętle Pobieranie danych SQL w PL/SQL Rekordy dr inż. Agnieszka Bołtuć Zasięg zmiennych Zmienna jest dostępna

Bardziej szczegółowo

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ]; Braki w SQL obsługi zdarzeń i sytuacji wyjątkowych funkcji i procedur użytkownika definiowania złożonych ograniczeń integralnościowych Proceduralny SQL Transact- SQL używany przez Microsoft SQL Server

Bardziej szczegółowo

Tworzenie raportów XML Publisher przy użyciu Data Templates

Tworzenie raportów XML Publisher przy użyciu Data Templates Tworzenie raportów XML Publisher przy użyciu Data Templates Wykorzystanie Szablonów Danych (ang. Data templates) jest to jedna z metod tworzenia raportów w technologii XML Publisher bez użycia narzędzia

Bardziej szczegółowo

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania

Cel przedmiotu. Wymagania wstępne w zakresie wiedzy, umiejętności i innych kompetencji 1 Język angielski 2 Inżynieria oprogramowania Przedmiot: Bazy danych Rok: III Semestr: V Rodzaj zajęć i liczba godzin: Studia stacjonarne Studia niestacjonarne Wykład 30 21 Ćwiczenia Laboratorium 30 21 Projekt Liczba punktów ECTS: 4 C1 C2 C3 Cel przedmiotu

Bardziej szczegółowo

XML w bazach danych i bezpieczeństwie

XML 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ółowo