Model semistrukturalny



Podobne dokumenty
1 XML w bazach danych

Generowanie dokumentów XML z tabel relacyjnych - funkcje SQLX

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

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

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

Pakiety podprogramów Dynamiczny SQL

PODSTAWY BAZ DANYCH. 17. Obiektowość w Oracle. 2009/2010 Notatki do wykładu "Podstawy baz danych"

Rola języka XML narzędziem

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

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

Oracle PL/SQL. Paweł Rajba.

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

Obiektowe bazy danych

XML w bazie danych IBM DB2

XML w bazach danych i bezpieczeństwie

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

Spis treści. Przedmowa

Bazy danych dokumentów XML wykład 1 wprowadzenie

Obiektowość BD Powtórka Czas odpowiedzi. Bazy Danych i Systemy informacyjne Wykład 14. Piotr Syga

Post-relacyjne bazy danych

Technologia informacyjna

Język SQL, zajęcia nr 1

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

Bazy danych i strony WWW

Bazy danych 2. Wykład 1

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

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Przykładowy dokument XML

XML extensible Markup Language. Paweł Chodkiewicz

Wprowadzenie do technologii XML

Obiektowe bazy danych Ćwiczenia laboratoryjne (?)

Konstruowanie Baz Danych SQL UNION, INTERSECT, EXCEPT

XML w bazach danych i bezpieczeństwie

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

GML w praktyce geodezyjnej

extensible Markup Language, cz. 1 Marcin Gryszkalis, mg@fork.pl

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Wykorzystywanie parsera DOM w programach Java i PL/SQL

Język PL/SQL Pakiety podprogramów

Komunikacja i wymiana danych

mail: strona: konsultacje: na stronie (po wcześniejszym umówieniu drogą mailową)

Obiektowe bazy danych

Informatyka I BAZY DANYCH. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2017

BAZY DANYCH wprowadzenie. Opracował: dr inż. Piotr Suchomski

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

Rok akademicki: 2013/2014 Kod: ZZIP IN-s Punkty ECTS: 2. Kierunek: Zarządzanie i Inżynieria Produkcji Specjalność: Informatyka w zarządzaniu

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

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Środowisko XML (Extensible Markup Language).

Bazy danych. dr inż. Arkadiusz Mirakowski

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

Programowanie obiektowe

Procedury i funkcje składowane

LAB 7. XML EXtensible Markup Language - Rozszerzalny Język Znaczników XSD XML Schema Definition Definicja Schematu XML

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

XPath XML Path Language. XPath. XSLT część 1. XPath data model. Wyrażenia XPath. Location paths. Osie (axes)

252 Bazy danych. Praca z językiem XML

Programowanie w Ruby

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Wykład I. Wprowadzenie do baz danych

Literatura: SQL Ćwiczenia praktyczne Autor: Marcin Lis Wydawnictwo: Helion. Autor: Joanna Karwowska

Oracle11g: Wprowadzenie do SQL

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

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

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

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

WYKŁAD 1 METAJĘZYK SGML CZĘŚĆ 1

Systemy baz danych. mgr inż. Sylwia Glińska

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

Podstawy języka XML. UEK w Krakowie Janusz Stal & Grażyna Paliwoda-Pękosz

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Bazy danych i usługi sieciowe

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

Przykład 3 Zdefiniuj w bazie danych hurtownia_nazwisko przykładową funkcję użytkownika fn_rok;

DB2 XML Extender. Opracowane na podstawie dokumentacji IBM XML Extender

Projektowanie systemów baz danych

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Obiektowy model dokumentu. Katedra Mikroelektroniki i Technik Informatycznych

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

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

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

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

Bloki anonimowe w PL/SQL

Relacyjne bazy danych a XML

Wprowadzenie do XML. Joanna Jędrzejowicz. Instytut Informatyki

Wyzwalacze. Anna Fiedorowicz Bazy danych 2

15. Funkcje i procedury składowane PL/SQL

Semistrukturalne bazy danych Wykład dla studentów matematyki

Bazy danych - wykład wstępny

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

Pakiet XML Czym jest i z czym się je?

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Założenia do ćwiczeń: SQL Server UWM Express Edition: \SQLEXPRESS. Zapoznaj się ze sposobami użycia narzędzia T SQL z wiersza poleceń.

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

Podstawowe informacje o bazach danych. Technologie Informacyjne

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

Jak wygląda XML? Definiowanie typów dokumentów Część 1. DTD, XML Schema. Struktura logiczna dokumentu XML. Składnia XML. Encje predefiniowane.

Baza danych. Modele danych

Transkrypt:

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 atrybutów encji z tej samej grupy mogą się różnić wykorzystywany do wymiany i integracji danych z źródeł heterogenicznych struktury danych nie muszą być regularne łatwość wyszukiwania, bez wiedzy o typach atrybutów trudniejsza optymalizacja XML ( ang. Extensible Markup Language Rozszerzalny Język Znaczników) to nie język programowania standard rekomendowany oraz specyfikowany przez W3C to sposób zapamiętywania danych wraz z ich strukturą w dokumencie tekstowym otwarty, elastyczny, bezpłatny, nadmiarowy niezależny od platformy sprzętowej XML to rama składniowa do tworzenia języków specyficznych dla wielu zastosowań różnice: XML a model semistrukturalny w modelu danych semistrukturalnych można wyrazić dowolny graf skierowany, w XML tylko drzewo w dokumentach XML kolejność występowania elementów w ramach elementu nadrzędnego jest ważna. W modelu semistrukturalnym krawędzie nie są porządkowane w dokumencie XML istnieje kilka typów składników struktury, spośród których podstawowe to elementy i atrybuty. W modelu danych semistrukturalnych nie istnieje takie rozróżnienie Document Object Model ( DOM ) Document Object Model jest standardem modelowania dokumentów XML przy użyciu struktury drzewa znaczniki XML i ich zawartości są modelowane przez węzły drzewa; zagnieżdżanie znaczników służy za podstawę do konstruowania hierarchii.

Document Object Model jest wykorzystywany jako forma reprezentacji dokumentów XML w pamięci komputera transformacja dokumentu XML do postaci DOM jest realizowana automatycznie przez parser DOM standard W3C DOM definiuje zespół klas i interfejsów, pozwalających na dostęp do struktury dokumentów oraz jej modyfikację Rysunek pozyskano z materiałów II Szkoły PLOUG Poprawność dokumentu w XML Dokument dobrze sformułowany ( ang. well formed ) zgodność z regułami skład XML niepusta zawartość wszystkie konstrukcje rozpoczęte muszą być jawnie zakończone każda konstrukcja zawarta w innej musi być w niej zawarta w całości Przeznaczenie: tylko wyświetlanie

Dokument prawidłowy ( ang. valid ) poprawność składniowa jest well formed powiązany i zgodny z istniejącym DTD lub XML Schema Przeznaczenie: wyświetlanie i przetwarzanie Dokument w XML plik tekstowy znaczniki początkowe ujęte w znaki < > końcowe ujęte w </ > budowa dokumentu prolog, element główny, elementy podrzędne znakowanie znaczeniowe nie ma predefiniowanych znaczników znaczniki odzwierciedlają strukturę dokumentu/danych znacznikom nie jest z góry przypisany sposób prezentacji do formatowania wizualnego konieczne jest użycie arkusza stylistycznego Język Xpath ( ang. XML Path Language, język scieżek ) To specyfikacja języka służącego do adresowania, odczytywania i przeszukiwania drzew DOM dokumentów XML. Xpath odgrywa podobną rolę w stosunku do drzew DOM, jak język SQL w środowisku relacyjnych baz danych stosuje notację przypominającą ścieżki dostępu w systemach plików zawiera bibliotekę standardowych funkcji pozwala stosować dwa rodzaje zapisu wyrażeń: skrócony, pełny lub mieszany jest rekomendowany przez W3C

przykłady wyrażeń: / katalog / ksiazka / autorzy / / wydawnictwo / / ksiazka [ 1 ] / / autor [ 2 ] / / ksiazka [ @isbn = 83-7279-149-X ] / / ksiazka [ contains ( tytul, XML ) ] Bazy danych a XML bazy danych umożliwiające przechowywanie danych w formacie XML ( ang. XML enabled database systems) postrelacyjne, obiektowo-relacyjne systemy zarządzania, które na wejściu i 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 ( podstawowy typ przechowywania ) Standard SQL/XML został zdefiniowany w postaci specyfikacji przygotowanej przez nieformalną grupę SQLX. W pracach nad nimi brali udział przedstawiciele takich firm jak: DataDirect Technologies, Hewlett-Packard, IBM, Microsoft, Oracle, Sybase i innych. SQL/XML to ogólny standard dotyczący zastosowania SQL w ogólnie rozumianym przetwarzaniu dokumentów XML. Jego pierwsze implementacje zostały stworzone przez Oracle, IBM i DataDirect Technologies. Pod koniec roku 2003 SQL/XML stał się częścią standardu języka SQL. Zakres standardu SQL/XML definiuje mapowanie pomiędzy SQL a XML typ danych XML funkcje Typ danych XML W większości systemów zarządzania bazą danych użytkownicy mogą przechowywać dokumenty XML za pomocą typów VARCHAR, CLOB lub też w postaci dekomponowanej na kolumny typu prostego znajdujące się w jednej lub wielu tabelach. Wszystkie te metody mają swoje wady, najważniejszą jest to, że SZBD nie wie, że przetwarza dokumenty XML. W związku z tym sposób przetwarzania nie uwzględnia specyfiki struktur oraz metod przetwarzania XML. SQL/XML wprowadza nowy typ danych mający na celu zwiększenie funkcjonalności i wydajności

przetwarzania dokumentów XML. Typ ten wg standardu można wykorzystywać do definiowania kolumn tabel, zmiennych, oraz parametrów procedur i funkcji. W przypadku bazy danych Oracle to typ XMLType Jego obiektowy charakter umożliwia wykorzystywane wartości typu XMLType nie tylko w przypadkach narzucanych przez standard SQL/XML przykłady: 1) CREATE TABLE Produkty_xml ( Kod NUMBER( 5 ), Opis XMLType ) ; INSERT INTO Produkty_xml VALUES ( 125, XMLType ( < produkt> < nazwa> Komputer </nazwa > < cena > 1975</cena> </produkt> ) ) ; 2) CREATE OR REPLACE FUNCTION Fun_xml RETURN XMLType IS BEGIN RETURN XMLType('<maly>dokument</maly>'); END; 3) CREATE TABLE Cv_xml OF XMLTYPE ; SELECT * FROM Cv_xml ; <zbior> <cv> <dane_osobowe> <imie> Święty </imie> <nazwisko> Mikołaj </nazwisko> <adres> <ulica> Choinkowa 113 </ulica> <miasto> Chmura Śniegowa </miasto> </adres> <telefon>nieznany</telefon> <data_urodzenia>1573</data_urodzenia> </dane_osobowe>

<jezyki> <jezyk> <nazwa>angielski</nazwa> <stopien>doskonały</stopien> </jezyk> <jezyk> <nazwa>niemiecki</nazwa> <stopien>przeciętny</stopien> </jezyk>... </cv> </zbior> Przeszukiwanie dokumentów XML dokumenty zapisane w bazie danych jako obiekty XMLType mogą być łatwo przeszukiwane z poziomu SQL dzięki specjalnym funkcjom: ExistsNode(, ) Extract(, ) Extractvalue(, ) Najbardziej ogólna składnia tych funkcji; <funkcja>(< obiekt_xmltype >, ' < wyrażenie_xpath >') funkcja existsnode( ) sprawdza, czy wynik ewaluacji podanego wyrażenia Xpath zwraca przynajmniej jeden element. Jeśli tak, wówczas wynikiem jej działania jest wartość 1, w przeciwnym przypadku 0. funkcja extract( ) zwraca fragment dokumentu XML wyznaczony przez podane wyrażenie Xpath. funkcja extractvalue( ) zwraca zawartość tekstową węzła wyznaczonego przez podane wyrażenie Xpath. Wyrażenie to musi wskazywać na nie więcej niż jeden węzeł, inaczej funkcja nie zadziała. przykłady: SELECT Kod, extract (Opis, /produkt/ nazwa[ cena > 1500] ) FROM Produkty_xml ; 125 <nazwa> Komputer </nazwa>

SELECT extract ( VALUE ( k ), //autor ) FROM Ksiazki_xml k ; <autor>stephen Forte</autor> <autor>thomas Howe</autor> <autor>kurt Wall</autor> <autor>paul Cassel</autor> <autor>craig Eddy</autor> <autor>jon Price </autor> <autor>scott Worley</autor> <autor>fabio Arciniegas</autor>... <autor>elliotte Rusty Harold</autor> <autor>robert Eckstein</autor> SELECT k.existsnode('//ksiazka[cena=31]') FROM Ksiazki_xml k; 1 SELECT extractvalue(value(k),'//ksiazka[cena=31]/tytul') FROM Ksiazki_xml k; Dane w sieci WWW SELECT extract(value(k),'//ksiazka[cena=31]/tytul') FROM Ksiazki_xml k; <tytul>dane w sieci WWW</tytul>