2 Natywne bazy XML Języki zapytań XQuery Źródła 14

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

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

Transkrypt

1 Plan wykładu Spis treści 1 Bazy przechowujące XML XMLType Schematy XML Perspektywy XMLType Biblioteki PL/SQL SQL/XML XML DB Repository Natywne bazy XML Języki zapytań XQuery Źródła 14 Bazy danych a XML Bazy danych umożliwiające przechowanie danych w formacie XML (ang. XMLenabled database systems) - postrelacyjne, obiektowo-relacyjne systemy zarządzania bazą danych, które na wejściu i na wyjściu akceptują i generują dane w postaci XML. Bazy danych dokumentów XML - natywne bazy danych XML (ang. native XML database systems)- zorientowane na przetwarzanie dokumentów XML, używają dokumentów XML jako podstawowego typu przechowywania. 1 Bazy przechowujące XML Przechowywanie danych XML w systemie plików w atrybutach typu: CLOB, XMLType w bazach danych w postaci zdekomponowanej XML DB mapowanie schematów XML na schematy baz danych generowanie schematów XML ze schematów baz danych i odwrotnie XML DB rozszerzenie funkcjonalności SZBD Oracle, służące wygodnemu gromadzeniu, generowaniu, przeszukiwaniu i przetwarzaniu dokumentów XML. Składowe: typ XMLType, możliwość wykorzystywania schematów XML, biblioteki programisty PL/SQL służące do parsowania dokumentów XML,

2 rozszerzenia języka SQL umożliwiające generowanie dokumentów XML na podstawie treści relacyjnej, mechanizm XML DB Repository, umożliwiający wykorzystanie bazy danych jako łatwo dostępnej składnicy dokumentów XML. 1.1 XMLType XMLType XMLType typ danych służący do przechowywania i przetwarzania dokumentów XML w obiektoworelacyjnym SZBD Oracle. Każda wartość typu XMLType jest odrębnym, kompletnym dokumentem XML. Fizyczne składowanie dokumentów na dwa sposoby: każdy dokument staje się jednym dużym obiektem CLOB (domyślnie), każdy dokument jest dekomponowany na rekordy zapisywane w wielu tabelach relacyjnych (wymaga posiadania schematu XML). Obsługa XMLType CREATE TABLE produkty_xml ( kod NUMBER(11), opis XMLType ) INSERT INTO produkty_xml VALUES ( , XMLType( <produkt> <nazwa>antena dachowa</nazwa> <symbol> </symbol> <cena>85</cena> </produkt> ) ); select opis from produkty_xml; OPIS <produkt> <nazwa>antena dachowa</nazwa> <symbol> </symbol> <cena>85</cena> </produkt> Funkcje do przetwarzania XMLType existsnode() - sprawdza, czy wartościowanie podanego wyrażenia XPath względem wartości XMLType zwraca co najmniej jeden element lub węzeł tekstowy. Wynikiem działania tej funkcji jest wartość 0 lub 1. 2

3 SELECT kod FROM produkty_xml WHERE existsnode(opis, /produkt[cena=85] ) = 1; extract() - zwraca fragment dokumentu XML wskazany wyrażeniem XPath. extractvalue() - zwraca wartość skalarną odpowiadającą wynikowi wartościowania wyrażenia XPath. updatexml() - modyfikuje wybrane węzły w obiekcie XMLType. Argumentami funkcji updatexml() są pary: wyrażenie XPath, wartość. UPDATE ksiazki_xml p SET VALUE(p) = updatexml(value(p), //cena/text(), 56, //rok/text(), 2003) WHERE extractvalue(value(p), /ksiazka/@isbn )= X ; XMLTransform() - dokonuje transformacji dokumentu XML w oparciu o dostarczony arkusz stylów XSL. Zarówno dokument źródłowy, jak i arkusz stylów są przekazywane funkcji jako argumenty typu XMLType. Wynikiem działania funkcji jest przekształcony dokument XML, reprezentowany przez wartość XMLType. 1.2 Schematy XML Schematy XML Schematy XML (ang. XML Schema) - służą do przechowywania w bazie danych opisu struktury dokumentów XML, a następnie ich wykorzystywania do: walidacji dokumentów, automatycznego odwzorowywania dokumentów XML w struktury relacyjne, tworzenia tabel lub kolumn XMLType opartych na schematach XML, poprawy efektywności operacji DML na danych XML. Rejestracja schematu Rejestracja schematu za pomocą funkcji dbms_xmlschema.registerschema() pociąga za sobą szereg niejawnych operacji, wykonywanych przez SZBD, mających na celu przygotowanie infrastruktury dla składowania i przetwarzania dokumentów XML zgodnych z danym schematem: utworzenie obiektowych typów danych SQL umożliwiających składowanie dokumentów XML w postaci strukturalnej, utworzenie domyślnych tabel dla głównych elementów schematu. 3

4 Przykład DBMS_XMLSCHEMA.registerSchema( ksiazka.xsd, <xs:schema xmlns:xs=" xmlns:xdb=" <xs:element name="ksiazka" xdb:sqltype="ksiazka_t"> <xs:complextype> <xs:sequence> <xs:element name="tytul" type="xs:string"/> <xs:element name="cena" type="xs:float" xdb:sqlname="cena" xdb:sqltype="float"/> <xs:element name="autorzy" minoccurs="0" maxoccurs="1" xdb:sqltype="clob"> <xs:complextype> <xs:sequence> <xs:element name="autor" type="xs:string" minoccurs="1" maxoccurs="unbounded"/> </xs:sequence> </xs:complextype> </xs:element> <xs:element name="wydawnictwo" type="xs:string"/> <xs:element name="rok" type="xs:integer"/> </xs:sequence> <xs:attribute name="isbn" type="xs:string"/> </xs:complextype> </xs:element> </xs:schema> ); Przykład cd. SQL> desc KSIAZKA_T KSIAZKA_T is NOT FINAL Nazwa Wartość NULL? Typ SYS_XDBPD$ XDB.XDB$RAW_LIST_T isbn VARCHAR2(4000) tytul VARCHAR2(4000) CENA FLOAT(126) autorzy CLOB wydawnictwo VARCHAR2(4000) rok NUMBER(38) Definiowanie elementu na bazie schematu W oparciu o zarejestrowany schemat można utworzyć tabele, perspektywy lub kolumny typu XMLType. Podczas definiowania elementów XMLType należy wskazać adres URL, pod którym zarejestrowano schemat XML, oraz wskazać wybrany element główny schematu. CREATE TABLE ksiazki_col_xsd ( 4

5 id NUMBER, pozycja XMLType ) XMLTYPE COLUMN pozycja XMLSCHEMA "ksiazka.xsd" ELEMENT "ksiazka"; Schematy - dalsze możliwości dbms_xmlschema.generateschema() - automatyczne generowanie schematów XML na podstawie definicji obiektowych typów danych; jako argumenty przyjmuje nazwę właściciela i nazwę zdefiniowanego obiektowego typu danych. W wyniku funkcja zwraca wygenerowany schemat XML. Przepisywanie zapytań:konwersja zapytań zawierających wyrażenia XPath do zapytań operujących na tabelach i kolumnach źródłowych: -- zapytanie oryginalne: SELECT VALUE(k) FROM katalog k WHERE extractvalue(value(k), /katalog/ksiazka/rok ) = 2002 ; -- zapytanie po transformacji: SELECT VALUE(k) FROM katalog k WHERE k.xmldata.ksiazka.rok = 2002 ; dbms_xmlschema.copyevolve() - możliwość modyfikacji zarejestrowanego schematu XML. 1.3 Perspektywy XMLType Perspektywy XMLType Perspektywy XMLType budowane ponad tabelami obiektowo-relacyjnymi, a zwracające obiekty XMLType. Umożliwiają one przezroczystą prezentację istniejących danych w formacie XML. Podczas definiowania perspektyw XMLType mogą być wykorzystywane schematy XML. CREATE VIEW emp_xml_view (doc) AS SELECT XMLElement(NAME "EMPLOYEE", XMLForest(ename, job, sal)) FROM emp; SELECT doc FROM emp_xml_view v WHERE v.doc.existsnode( /EMPLOYEE[SAL>2900] )=1 DOC <EMPLOYEE> <ENAME>JONES</ENAME> <JOB>MANAGER</JOB> <SAL>2975</SAL> 5

6 </EMPLOYEE> <EMPLOYEE> <ENAME>SCOTT</ENAME> <JOB>ANALYST</JOB> <SAL>3000</SAL> </EMPLOYEE> 1.4 Biblioteki PL/SQL Biblioteki PL/SQL PL/SQL Parser API for XMLType (dbms_xmlparser) - zawiera parser DOM, służący do transformacji dokumentu XML do standardowej struktury drzewa Document Object Model (DOM). PL/SQL DOM API for XMLType (dbms_xmldom) - do nawigacji wewnątrz drzewa DOM. PL/SQL XSLT Processor for XMLType (dbms_xslprocessor) - do transformacji XSL. 1.5 SQL/XML SQL/XML SQL/XML część specyfikacji języka zapytań SQL, opisująca sposoby wykorzystywania SQL w połączeniu z XML; rozszerza SQL o funkcje i operatory służące do generowania dokumentów XML na podstawie zawartości relacyjnej bazy danych. Podstawowe funkcje: XMLElement(), XMLForest(), XMLGen(), XMLConcat(), XMLAgg(). XMLElement() XMLElement() służy do tworzenia elementów XML z danych, które nie są obiektami XML. SELECT p.nr_akt, XMLElement (NAME "prac", p.nazwisko) AS "wynik" FROM pracownicy p; <prac>krol</prac> 8902 <prac>michalski</prac> 9121 <prac>kukulski</prac> 9011 <prac>wierzbicki</prac> 6

7 9235 <prac>fikus</prac> 8904 <prac>skalski</prac> Z wykorzystaniem atrybutów: SELECT XMLElement (NAME "prac", XMLAttributes(p.nr_akt AS "id"), p.nazwisko) AS "wynik" FROM pracownicy p; <prac id="8901">krol</prac> <prac id="9235">fikus</prac> <prac id="8904">skalski</prac> <prac id="8910">moniuszko</prac> <prac id="8911">wrzosek</prac> <prac id="9411">lisiecki</prac> <prac id="8932">brzozka</prac> XMLForest() XMLForest() tworzy las elementów XML na podstawie danych nie będących obiektami XML. SELECT p.nr_akt, XMLForest(p.nazwisko AS "nazwisko", p.placa AS "placa") AS "wynik" FROM pracownicy p WHERE p.nr_akt < 9000 ; NR_AKT wynik <nazwisko>krol</nazwisko><placa>7000</placa> 8902 <nazwisko>michalski</nazwisko><placa>5000</placa> 8904 <nazwisko>skalski</nazwisko><placa>3500</placa> 8910 <nazwisko>moniuszko</nazwisko><placa>5000</placa> 8911 <nazwisko>wrzosek</nazwisko><placa>1500</placa> 8913 <nazwisko>kowalska</nazwisko><placa>5000</placa> XMLGen() XMLGen() pozwala generować dokumenty XML na podstawie szablonu realizowanego na źródłowych danych relacyjnych. SELECT XMLGen ( <prac id="{$nr_akt}"> <nazwisko>{$nazwisko}</nazwisko> <placa>{$placa}</placa> </prac>, p.nr_akt, p.nazwisko AS nazwisko, p.placa) AS "wynik" FROM pracownicy p WHERE p.nr_akt < 9000 ; 7

8 wynik <prac id="8901"> <nazwisko>krol</nazwisko> <placa>7000</placa> </prac> <prac id="8902"> <nazwisko>michalski</nazwisko> <placa>5000</placa> </prac> XMLAgg() XMLAgg() służy do tworzenia lasu elementów z kolekcji elementów XML wywiedzionych z różnych rekordów tabeli. SELECT XMLElement(NAME "dzial", XMLAttributes(p.id_dzialu AS "id"), XMLAgg(XMLElement(NAME "prac", p.nazwisko)) ) AS "wynik" FROM pracownicy p GROUP BY id_dzialu; <dzial id="10"> <prac>krol</prac> <prac>skalski</prac> <prac>kowalska</prac> </dzial> <dzial id="20"> <prac>moniuszko</prac> <prac>lisiecki</prac> <prac>wojcik</prac> <prac>rybak</prac> <prac>szczesny</prac> <prac>wrzosek</prac> </dzial> SELECT XMLElement(NAME "dzial", XMLAttributes(nazwa AS "nazwa"), XMLAgg(XMLElement(NAME "prac", nazwisko) ORDER BY nazwisko)) AS "wynik" FROM pracownicy NATURAL JOIN dzialy GROUP BY nazwa; <dzial nazwa="badania"> <prac>nawrocki</prac> <prac>prusinska</prac> </dzial> <dzial nazwa="ksiegowosc"> <prac>bielecka</prac> <prac>brzozka</prac> <prac>mazur</prac> 8

9 <prac>wojcik</prac> </dzial> 1.6 XML DB Repository XML DB Repository Repozytorium dokumentów XML (ang. XML DB Repository) jest usługą SZBD Oracle, umożliwiającą przechowywanie i udostępnianie dokumentów XML w formie wirtualnego systemu plików, implementowanego wewnątrz bazy danych. Dostęp do repozytorium dokumentów XML jest możliwy poprzez FTP, WebDAV/HTTP lub SQL. Dokumenty i foldery umieszczane w repozytorium są zapisywane w tabelach bazy danych. Programista może uzyskać dostęp do tych tabel m.in. za pomocą funkcji pakietu dbms_xdb. 2 Natywne bazy XML Natywne bazy XML Baza danych dokumentów XML: definiuje model dla dokumentów XML-owych; dokumenty XML podstawową jednostką składowania; wykorzystuje dowolny sposób fizycznego składowania. Funkcjonalność bazy danych dokumentów XML Bazy dokumentów XML zapewniają: składowanie dokumentów XML, definiowanie i przechowywanie schematów (DTD, XMLSchema), 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. 9

10 2.1 Języki zapytań Języki zapytań Wymagania: zapisanie złożonych warunków wyszukiwań deklaratywność wyniki w tej samej formie, co dane źródłowe wykonanie przekształceń znalezionej informacji, w tym agregacji obsługa kwantyfikatorów zachowanie hierarchii i sekwencji struktur itp. Języki zapytań dla XML Lorel - opracowano w ramach przedsięwzięcia LORE w Uniwersytecie Stanforda jako język zapytań dla danych półstrukturalnych. Dostosowany do przetwarzania dokumentów XML; jest językiem składniowo podobnym do SQL; był on wzorowany na OQL ze standardu ODMG. select R.tytuł from dokument.książka.rozdział R, R(.punkt)+.tytuł TP where TP = "Standardowe typy danych"; XML-QL - opracowano w laboratoriach AT&T. Zapytania XML-QL składają się z dwóch części: where (jak w SQL from i where razem wzięte) i construct (odpowiada klauzuli select z SQL). where <książka> <rozdział> <tytuł> $TR </> <punkt+.tytuł> $TP </> </rozdział> </książka> in "ksiazka.xml", $TP = "Standardowe typy danych" construct <tytuł> $TR </tytuł> XML-GL - graficzny język zapytań opracowany na Politechnice Mediolańskiej; jest próbą realizacji języka przyjaznego ludziom na wzór QBE (Query-By-Example = zapytanie poprzez przykład) opracowanego dla relacyjnych baz danych. 10

11 XSLT - rekomendowany przez W3C język do definiowania transformacji dokumentów XML w inne dokumenty (być może również XML). Jedno przekształcenie XSLT przetwarza tylko jeden dokument XML. XSLT jest przeznaczony raczej do formatowania i wyświetlania dokumentów, jednak szablon XSLT jest definicją pewnej funkcji działającej w zbiorze dokumentów XML, ma więc pewne podstawowe cechy zapytania. <?xml version="1.0" encoding="iso "?> <xsl:stylesheet version="1.0" xmlns:xsl=" <xsl:template match="/"> <xsl:apply-templates select="książka/rozdział"/> </xsl:template> <xsl:template match="/książka/rozdział"> <xsl:if test="punkt//tytuł= Standardowe typy danych "> <tytuł> <xsl:value-of select="tytuł"/> </tytuł> </xsl:if> </xsl:template> </xsl:stylesheet> XQL - służy do wybierania i filtrowania elementów oraz tekstu z dokumentów XML; nie pozwala na konstruowanie nowych elementów w wyniku zapytania. Zapytanie XQL może zwrócić tylko pewien podzbiór elementów i tekstów znajdujących się w dokumentach wejściowych. Jest to język zapytań ścieżkowych podobny do XPath. książka/rozdział[punkt//tytuł= Standardowe typy danych ]/tytuł XPATH - deklaratywny język wykorzystywany przez kilka innych technologii rekomendowanych przez konsorcjum W3C. XPath jest używany do adresowania elemen- 11

12 tów dokumentów XML (m.in. w XSLT i XLink/XPointer) oraz do wyszukiwania wzorców w dokumentach XML (m.in. w XSLT i XQuery). XQuery - jest tym dla XML czym jest SQL dla baz danych. 2.2 XQuery XQuery XQuery - funkcyjny język zapytań dla dokumentów XML Cechy: deklaratywny i zgodny z modelem danych XML; konstrukcje języka zawsze zwracaja wartość; konstrukcje można zagnieżdżać; zbudowany na bazie wyrażeń XPath; zdolny do przetwarzania dokumentów zawierających odwołania do różnych przestrzeni nazw; umożliwia kontrolę typów dla systemu typów XML Schema; poprawnie działa również wtedy, gdy nie zdefiniowano schematów albo są one niedostępne; umożliwia łączenie danych pochodzących z wielu dokumentów i liczenie agregacji; rekomendowany przez W3C. XQuery - składowe Podstawowe elementy języka: sekwencje wyrażenia (ścieżkowe, warunkowe, agregacje, kwantyfikatory) zmienne operatory funkcje wbudowane wartości logiczne komentarze proste funkcje użytkownika Zasady wielkość liter jest rozróżniana elementy, atrybuty i zmienne muszą mieć nazwy zgodne ze standardem XML łańcuchy umieszczamy w apostrofach lub cudzysłowie nazwy zmiennych są poprzedzone znakiem $ ($zmienna) komentarze są ograniczone dwukropkami (:komentarz:) 12

13 Budowanie zapytania Otwarcie pliku XML: doc("ksiazki.xml") Wybór elementów (tytuły książek znajdujących się w księgarni): doc("ksiazki.xml")/ksiegarnia/ksiazka/tytul w wyniku: <title jezyk="pl">rok 1984</title> <title jezyk="pl">hyperion</title> <title jezyk="pl">ubik</title> Budowanie warunku: doc("ksiazki.xml")/ksiegarnia/ksiazka[cena<30] w wyniku: <ksiazka kategoria="dziecieca"> <tytul jezyk="pl">entliczek Pentliczek</tytul> <autor>jan Brzechwa</autor> <rok>2011</rok> <cena>1.99</cena> </ksiazka> Budowanie zapytania z FLWOR FLWOR - akronim słów: For, Let, Where, Order by, Return : pozwala przejść po elementach zadanej kolekcji (fraza for), zdefiniować zmienne pomocnicze (fraza let), odfiltrować niepotrzebne elementy (fraza where), uporządkować to, co pozostanie (fraza order by), wypisać wynik w odpowiedniej postaci (fraza return). Zamiast: doc("ksiazki.xml")/ksiegarnia/ksiazka[cena>30]/tytul można użyć: 13

14 for $x in doc("ksiazki.xml")/ksiegarnia/ksiazka where $x/cena>30 return $x/tytul FLWOR udostępnia sortowanie: for $x in doc("ksiazki.xml")/ksiegarnia/ksiazka where $x/cena>30 order by $x/tytul return $x/tytul XQuery dalsze składowe instrukcje warunkowe i kwantyfikatory for $k in collection("ksiegarnia")/ksiazka order by $k/tytul return <pozycja> { if (count($k/autor) <= 2) then $k/autor else <praca-zbiorowa/> } { $k/tytul } </pozycja> Funkcje i rekurencja declare function local:st($elem as element()) as element()* { for $p in $elem/*[name()="punkt" or name()="rozdział"] return <pozycja> { $p/@id, $p/tytuł, local:st($p) } </pozycja> }; kontrola typu typy podstawowe badanie typu 3 Źródła Źródła W wykładzie wykorzystano materiały: BUNEMAN P., Semistructured data, W: Proceedings of PODS, 1997, ABITEBOUL S., Querying semi-structured data, W: Proceedings of ICDT, 1997,

15 Oracle XML DB Developer s Guide 10g Release 1, dokumentacja techniczna Oracle Zbigniew Jurkiewicz, Semistrukturalne bazy danych - wprowadzenie, materiały do wykładów, Instytut Informatyki UW Materiały do wykładów Pani mgr Wandy Kik Wikipedia 15

2 Natywne bazy XML Języki zapytań XQuery Źródła 18

2 Natywne bazy XML Języki zapytań XQuery Źródła 18 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

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

Przetwarzanie dokumentów XML w Oracle10g: XML DB

Przetwarzanie dokumentów XML w Oracle10g: XML DB Przetwarzanie dokumentów XML w Oracle10g: XML DB Maciej Zakrzewicz Politechnika Poznaska Streszczenie System zarzdzania baz danych Oracle10g posiada szereg wbudowanych mechanizmów, słucych do przechowywania,

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

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

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

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

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

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

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umożliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

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

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

Relacyjne bazy danych. Podstawy SQL

Relacyjne bazy danych. Podstawy SQL Relacyjne bazy danych Podstawy SQL Język SQL SQL (Structured Query Language) język umoŝliwiający dostęp i przetwarzanie danych w bazie danych na poziomie obiektów modelu relacyjnego tj. tabel i perspektyw.

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

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

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

Oracle PL/SQL. Paweł Rajba.

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

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia Składowe wyzwalacza ( ECA ): określenie zdarzenia ( Event ) określenie

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

Wykorzystywanie parsera DOM w programach Java i PL/SQL

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

Bardziej szczegółowo

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

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

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

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

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 5. SQL praca z tabelami 2

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

P o d s t a w y j ę z y k a S Q L

P o d s t a w y j ę z y k a S Q L P o d s t a w y j ę z y k a S Q L Adam Cakudis IFP UAM Użytkownicy System informatyczny Aplikacja Aplikacja Aplikacja System bazy danych System zarządzania baz ą danych Schemat Baza danych K o n c e p

Bardziej szczegółowo

XML Schema. Bartłomiej Świercz. Łódź, 19 listopada 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz XML Schema

XML Schema. Bartłomiej Świercz. Łódź, 19 listopada 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz XML Schema XML Schema Bartłomiej Świercz Katedra Mikroelektroniki i Technik Informatycznych Łódź, 19 listopada 2005 roku Wstęp XML Schema służy do definiowania struktury dokumentu XML (pełni podobną funkcję jak DTD).

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

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

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

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

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

Bardziej szczegółowo

Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL

Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL Pakiety podprogramów, specyfikacja i ciało pakietu, zmienne i kursory pakietowe, pseudoinstrukcje (dyrektywy kompilatora), dynamiczny SQL.

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

Język SQL, zajęcia nr 1

Język SQL, zajęcia nr 1 Język SQL, zajęcia nr 1 SQL - Structured Query Language Strukturalny język zapytań Login: student Hasło: stmeil14 Baza danych: st https://194.29.155.15/phpmyadmin/index.php Andrzej Grzebielec Najpopularniejsze

Bardziej szczegółowo

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika Programowanie w SQL procedury i funkcje UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika 1. Funkcje o wartościach skalarnych ang. scalar valued

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Intro. I.Wojnicki, ZTB:XML ZTB: XML. Igor Wojnicki. Katedra Informatyki Stosowanej, Akademia Górniczo-Hutnicza w Krakowie.

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

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze Cechy bloków nazwanych: w postaci skompilowanej trwale przechowywane na serwerze wraz z danymi wykonywane na żądanie użytkownika lub w

Bardziej szczegółowo

Post-relacyjne bazy danych

Post-relacyjne bazy danych Post-relacyjne bazy danych Historia języka SQL 1. Sequel-XRM 2. Sequel/2 SQL 3. ANSI SQL 1986 (ISO 1987) 4. X/Open (UNIX), SAA(IBM) 5. ANSI SQL 1989 6. ANSI/ISO SQL 92 Entry level 7. ANSI SQL 92 (SQL 2)

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

Monika Kruk Mariusz Grabowski. Informatyka Stosowana WFiIS, AGH 13 grudzień 2006

Monika Kruk Mariusz Grabowski. Informatyka Stosowana WFiIS, AGH 13 grudzień 2006 OBIEKTOWOŚĆ W BAZIE DANYCH ORACLE Monika Kruk Mariusz Grabowski Informatyka Stosowana WFiIS, AGH 13 grudzień 2006 Plan prezentacji kilka słów o bazie danych ORACLE rzecz o obiektach ORACLE tworzenie typów

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

Materiały. Technologie baz danych. Plan wykładu Kursory. Wykład 5: Kursory jawne. Podprogramy. Kursory jawne. Kursory niejawne

Materiały. Technologie baz danych. Plan wykładu Kursory. Wykład 5: Kursory jawne. Podprogramy. Kursory jawne. Kursory niejawne Materiały dostępne są na stronie: Materiały Technologie baz danych aragorn.pb.bialystok.pl/~gkret Wykład 5: Kursory jawne. Podprogramy. Małgorzata Krętowska Wydział Informatyki Politechnika Białostocka

Bardziej szczegółowo

Bloki anonimowe w PL/SQL

Bloki anonimowe w PL/SQL Język PL/SQL PL/SQL to specjalny język proceduralny stosowany w bazach danych Oracle. Język ten stanowi rozszerzenie SQL o szereg instrukcji, znanych w proceduralnych językach programowania. Umożliwia

Bardziej szczegółowo

1 Wprowadzenie do bloków nazwanych 1. 2 Parametry 2. 3 Procedury i funkcje 3. 4 Pakiety 6. 5 Podsumowanie Źródła 10

1 Wprowadzenie do bloków nazwanych 1. 2 Parametry 2. 3 Procedury i funkcje 3. 4 Pakiety 6. 5 Podsumowanie Źródła 10 Plan wykładu Spis treści 1 Wprowadzenie do bloków nazwanych 1 2 Parametry 2 3 Procedury i funkcje 3 4 Pakiety 6 5 Podsumowanie 10 6 Źródła 10 1 Wprowadzenie do bloków nazwanych Rodzaje bloków w PL/SQL

Bardziej szczegółowo

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678');

UPDATE Studenci SET Rok = Rok + 1 WHERE Rodzaj_studiow =' INŻ_ST'; UPDATE Studenci SET Rok = Rok 1 WHERE Nr_albumu IN ( '111345','100678'); polecenie UPDATE służy do aktualizacji zawartości wierszy tabel lub perspektyw składnia: UPDATE { } SET { { = DEFAULT NULL}, {

Bardziej szczegółowo

Przykłady najlepiej wykonywać od razu na bazie i eksperymentować z nimi.

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

1 Model semistrukturalny 1 2 XML 3. 3 XPath 8. 4 Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML

1 Model semistrukturalny 1 2 XML 3. 3 XPath 8. 4 Bazy danych a XML Bazy przechowywujące XML Natywne bazy XML Plan wykładu Spis treści 1 Model semistrukturalny 1 2 XML 3 3 XPath 8 4 Bazy danych a XML 11 4.1 Bazy przechowywujące XML.......................... 11 4.2 Natywne bazy XML..............................

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

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

Bazy dokumentów XML. Język XML. extensible Markup Language Bazy dokumentów XML Język XML extensible Markup Language Klasy strukturalizacji danych Dane niestrukturalne sposób składowania danych nie zawiera informacji o ich wewnętrznej logicznej strukturze, dane

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

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u

Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u Funkcje w PL/SQL Funkcja to nazwany blok języka PL/SQL. Jest przechowywana w bazie i musi zwracać wynik. Z reguły, funkcji utworzonych w PL/SQL-u będziemy używać w taki sam sposób, jak wbudowanych funkcji

Bardziej szczegółowo

Wprowadzenie do arkuszy stylistycznych XSL i transformacji XSLT

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

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL

Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL Aplikacje internetowe laboratorium XML, DTD, XML Schema, XSL Celem ćwiczenia jest stworzenie dokumentu XML, wyposażenie dokumentu w specyfikację struktury (przy użyciu DTD i XML Schema), oraz transformacja

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

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

Przykładowa baza danych BIBLIOTEKA

Przykładowa baza danych BIBLIOTEKA Przykładowa baza danych BIBLIOTEKA 1. Opis problemu W ramach zajęć zostanie przedstawiony przykład prezentujący prosty system biblioteczny. System zawiera informację o czytelnikach oraz książkach dostępnych

Bardziej szczegółowo

Bazy danych. dr inż. Arkadiusz Mirakowski

Bazy danych. dr inż. Arkadiusz Mirakowski Bazy danych dr inż. Arkadiusz Mirakowski Początek pracy z Transact SQL (T-SQL) 153.19.7.13,1401 jkowalski nr indeksu 2 Perspektywa - tabela tymczasowa - grupowanie Perspektywa (widok) Perspektywa (widok)

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

XML extensible Markup Language 3

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

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 Patryk Czarnik (MIMUW) 12 bazy danych, bezpieczeństwo XML 2007/08 1

Bardziej szczegółowo

252 Bazy danych. Praca z językiem XML

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

Obiektowe bazy danych

Obiektowe bazy danych Obiektowe bazy danych Obiektowo-relacyjne bazy danych Wykład prowadzi: Tomasz Koszlajda Obiektowo-relacyjne bazy danych Ewolucja rozszerzeń relacyjnego modelu danych: Składowanie kodu procedur w bazie

Bardziej szczegółowo

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/

Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Paweł Rajba pawel@ii.uni.wroc.pl http://www.itcourses.eu/ Wprowadzenie Historia i standardy Podstawy relacyjności Typy danych DDL tabele, widoki, sekwencje zmiana struktury DML DQL Podstawy, złączenia,

Bardziej szczegółowo

Obiektowe bazy danych Obiektowe i obiektowo-relacyjne bazy danych

Obiektowe bazy danych Obiektowe i obiektowo-relacyjne bazy danych Obiektowe bazy danych Obiektowe i obiektowo-relacyjne bazy danych Wykład prowadzi: Tomasz Koszlajda Obiektowe bazy danych Obiektowe i obiektowo-relacyjne bazy danych W ramach niniejszego wykładu zostaną

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

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

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

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

Używany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu.

Używany kiedy pełna treść instrukcji SQL jest nieznana przed uruchomieniem programu. Plan wykładu Spis treści 1 Dynamiczny SQL 1 2 Wyzwalacze 2 3 Podsumowanie 9 4 Źródła 9 1 Dynamiczny SQL Dynamiczny SQL Dynamiczny SQL - technika programowania umożliwiająca generowanie instrukcji SQL dynamicznie

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

Obiektowe bazy danych Ćwiczenia laboratoryjne (?)

Obiektowe bazy danych Ćwiczenia laboratoryjne (?) Obiektowe bazy danych Ćwiczenia laboratoryjne (?) Tworzenie typów obiektowych 1. Zdefiniuj typ obiektowy reprezentujący SAMOCHODY. Każdy samochód powinien mieć markę, model, liczbę kilometrów oraz datę

Bardziej szczegółowo

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie Programowanie MSQL show databases; - pokazanie jakie bazy danych są dostępne na koncie show databases; - wyświetlenie wszystkich baz danych na serwerze create database nazwa; - za nazwa wstawiamy wybraną

Bardziej szczegółowo

Spis tre±ci. 1 Wst p... 1 1.1 Zawarto± rozdziaªów... 1 1.2 Projekt LoXiM... 2

Spis tre±ci. 1 Wst p... 1 1.1 Zawarto± rozdziaªów... 1 1.2 Projekt LoXiM... 2 1 Wst p..................................................... 1 1.1 Zawarto± rozdziaªów................................... 1 1.2 Projekt LoXiM........................................ 2 2 Strukturalne obiektowe

Bardziej szczegółowo

www.comarch.pl/szkolenia Operacja PIVOT w języku SQL w środowisku Oracle 21.11.2012

www.comarch.pl/szkolenia Operacja PIVOT w języku SQL w środowisku Oracle 21.11.2012 Operacja PIVOT w języku SQL w środowisku Oracle 21.11.2012 Zakres Wprowadzenie Idea przestawiania danych Możliwe zastosowania Przestawianie danych bez klauzuli PIVOT Konstrukcja klauzuli Korzyści ze stosowania

Bardziej szczegółowo

Pawel@Kasprowski.pl Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski. pawel@kasprowski.pl

Pawel@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ółowo

Aplikacje internetowe laboratorium XML, DTD, XSL

Aplikacje internetowe laboratorium XML, DTD, XSL Aplikacje internetowe laboratorium XML, DTD, XSL Celem ćwiczenia jest stworzenie dokumentu XML, wyposażenie dokumentu w specyfikację struktury (przy użyciu DTD), oraz transformacja dokumentu XML do postaci

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

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9.

1 DML - zapytania, część II Grupowanie Operatory zbiorowe DML - modyfikacja 7. 3 DCL - sterowanie danymi 9. Plan wykładu Spis treści 1 DML - zapytania, część II 1 1.1 Grupowanie................................... 1 1.2 Operatory zbiorowe............................... 5 2 DML - modyfikacja 7 3 DCL - sterowanie

Bardziej szczegółowo

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

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład

ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko. Typy rozproszonych baz danych. Systemy klient-serwer. Klient-serwer: Przykład ORACLE (Wykład 1) aragorn.pb.bialystok.pl/~aonisko Typy rozproszonych baz Systemy typu klient-serwer (jeden serwer) Jednorodna rozproszona baza (kilka serwerow, jeden system zarzadzania baza ) Niejednorodna

Bardziej szczegółowo

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

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

Zasady transformacji modelu DOZ do projektu tabel bazy danych

Zasady transformacji modelu DOZ do projektu tabel bazy danych Zasady transformacji modelu DOZ do projektu tabel bazy danych A. Obiekty proste B. Obiekty z podtypami C. Związki rozłączne GHJ 1 A. Projektowanie - obiekty proste TRASA # * numer POZYCJA o planowana godzina

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

Zaawansowane bazy danych i hurtownie danych semestr I

Zaawansowane bazy danych i hurtownie danych semestr I Podprogramy Wydział Informatyki Politechnika Białostocka Zaawansowane bazy danych i hurtownie danych semestr I Procedury do przeprowadzenia akcji Funkcje do obliczania wartości Pakiety do zbierania logicznie

Bardziej szczegółowo

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

Obiektowe bazy danych

Obiektowe bazy danych Obiektowe bazy danych 1 Plan rozdziału 2 Wprowadzenie obiektowy model danych Obiekty w bazie danych definiowanie i przechowywanie składowe i metody konstruktory referencje dziedziczenie i polimorfizm Kolekcje

Bardziej szczegółowo

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota

3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota Laboratorium nr 3 1 Bazy Danych Instrukcja laboratoryjna Temat: Wprowadzenie do języka SQL, tworzenie, modyfikacja, wypełnianie tabel 3 Przygotowali: mgr inż. Barbara Łukawska, mgr inż. Maciej Lasota 1)

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

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

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

Bardziej szczegółowo

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

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

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

Bazy danych. Polecenia SQL

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