XML baze podataka Juraj Urbanke.

Slides:



Advertisements
Similar presentations
TENSES: PAST SIMPLE and PAST CONTINUOUS Prošla vremena: forma i upotreba Past simple ili obično prošlo vreme gradi se tako što se na infinitiv glagola.
Advertisements

Predavanje br. 7 Formiranje GIS-a II Relacione klase.
1.6. Pohrana podataka.
Provisioning Windowsa 10 na IoT, mobilnim i desktop uređajima
Programi zasnovani na prozorima
PRIJENOS PODATAKA.
v.as.mr. Samir Lemeš Univerzitet u Zenici
Petlje WHILE – WEND.
Baze podataka RKPedu / Pazin IT Pazin,
4.1 Vizualni (grafički) HTML uređivači
PONAVLJANJE CheckBox Koristi se za rešavanje zadataka gde je potrebno omogućiti uključivanje ili isključivanje jedne ili više opcija. Važna svojstva: –Checked.
Java programiranje sa bazama podataka
OSNOVE PROGRAMIRANJA U PROGRAMSKOM JEZIKU
Pojam DBMS. Relacione baze podataka
Teorema o 4 boje(Four color theorem)
PROGRAMIRANJE MENIJA.
CheckBox RadioButton RadioGroup
The Present Perfect Continuous Tense
Upravljanje DC servo motorima
Microsoft Office 2007 MS Office je programski paket koji sadrži više programa: MS Word – program za obradu teksta MS Excel – program za izradu tabela sa.
Multimedijalna e-Learning platforma
Tatjana Welzer Družovec (Inštitut za informatiko, FERI Maribor)
Petlje FOR - NEXT.
Dodatak webinaru o SQL-u
Komponente izbora i kontejnerske komponente
Uvod u HTML Zoltan Geller 2017
XML baze podataka Jelena Tomašević Matematički fakultet, Univerzitet u Beogradu
KREIRANJE OBJEKATA.
POVEZIVANJE DVA RAČUNARA U WINDOWS 7 KORIŠTENJEM LAN ETHERNET KABLA
APLIKATIVNI SOFTVER Za razliku od sistemskog softvera čiji je osnovni zadatak usmeravanje, nadgledanje i podržavanje rada računarskog sistema, aplikativni.
Izrada web-stranica.
Arrays and strings -2 (nizovi i znakovni nizovi)
Reference ćelije i opsega
Razvoj Web aplikacija Ajax.
Elektrotehnički fakultet – Podgorica Operativni sistemi
Armin Teskeredzic Zagreb, Hrvatska,
SUDOKU Ivo Doko Saša Buzov.
Vežba 1. Formatiranje teksta korišćenjem stilskih šablona
Struktura MAC adrese i Ethernet okvira
Pristup podacima Izvještaji
Page Layout Podešavanje stranica.
Element form Milena Kostadinović.
MessageBox.
predavanja v.as.mr. Samir Lemeš
Pojmovi digitalnog zapisa
PROGRAMSKI JEZIK PASCAL
PRAĆENJE STATISTIKE POSEĆENOSTI WEB-PREZENTACIJE
MATEMATIČKI FAKULTET, UNIVERZITET U BEOGRADU
ELEKTRONIČKA POŠTA ( ) OTVARANJE RAČUNA.
Lazarus okruženje TIPOVI UNIT-a
Osnovni simboli jezika Pascal
FAKULTET KEMIJSKOG INŽENJERSTVA I TEHNOLOGIJE
Do While ... Loop struktura
Virtualizacija poslovnih procesa metodom „Swimlane“ dijagrama
Programiranje – Small Basic
Memorije Vrste memorija i osnovni pojmovi Ispisne memorije
Strukture podataka i algoritmi 5. VRIJEME IZVRŠAVANJA ALGORITMA
5. Baze podataka Postavke MS Accessa.
C++ WORKSHOP Šimec Tino - FOI.
Fakultet elektrotehnike i računarstva
Naredbe u php-u.
Programski jezik C++ - Vježbe - 5. dio
Programski jezik Python
VAŽNOST ČITANJA U NIŽIM RAZREDIMA OSNOVNE ŠKOLE
LimeSurvey Uvjetni prikaz pitanja Internetska istraživanja
1. Sigurno u virtualnom svijetu
7. Baze podataka Postavke MS Accessa.
Programiranje - Naredbe za kontrolu toka programa – 1. dio
Utvrđivanje kvalitete oblikovanih pričuva šteta – run off analiza
INTERPOLACIJA PO DIJELOVIMA POLINOMIMA
Presentation transcript:

XML baze podataka Juraj Urbanke

Tipovi XML baza podataka

Flat files Najjednostavniji oblik XML baze podataka XML dokumenti se spremaju u datoteku, a njima se rukuje pomoću nekog API-ja Metoda je prihvatljiva za mali skup XML dokumenata

Flat files - primjer Diets\ Diets\Atkins Day1.xml Day2.xml Day3.xml Day4.xml Diets\3DayDiet Day1.xml Day2.xml Day3.xml

Relacijske baze podataka Skladištenje u relacijsku bazu podataka nudi niz prednosti na flat file sustavom: višekorisnički pristp sigurnost Skalabilnost ...

Usporedba XML-a i relacijskog modela Relacijski model podatci su smješteni u jednu hijerarhijsku strukturu podatci su smješteni u više tabela čvorovi imaju elemente i/ili atribute obilježja imaju jednu vrijednost elementi mogu biti ugniježđeni vrijednosti obilježja su nedjeljive elementi imaju definiran redoslijed Redoslijed redova i stupaca na postoji Shema je opcionalna Shema je obavezna

Relacijske baze podataka - 2 3 su osnovna načina za smještavanje XML-a u relacijsku bazu podataka CLOB (Character Large Object) “Čisto” relacijski pristup (pure relational) XML enabled

Skladištenje XML-a u CLOB Pretraživanje i modifikacija se vrše nad dokumentom izvan same baze podataka Baza podataka nije “svjesna” da smo u nju smjestili XML pa ne nudi nikakve servise za rad s XML-om XML dokumenti nisu indeksirani što degradira performanse

“Čisto” relacijski pristup skladištenja XML-a Kod ovo pristupa se koriste prednosti XML modela XML podatci se mapiraju na redove i stupce 2 najznačajnije tehnike mapiranja: table-based mapiranje object-relational mapiranje

“Čisto” relacijski pristup – table-based mapiranje Mapiranje zasnovano na tablicama je korišteno od strane velikog broja proizvoda Modelira XML dokument kao jednu ili kao skup tablica Koristi se najviše za serijalizaciju podataka iz relacijske baze podataka

“Čisto” relacijski pristup – table-based mapiranje - primjer <database>  <table>  <row>  <column1>... </column1>  <column2>... </column2>… </row>  <row> ...  </row> ...  </table>  <table> ...  </table> ... </database> 

“Čisto” relacijski pristup – object-relational mapiranje Koristi se od strane svih XML enabled relacijskih baza podataka XML se modelira kao stablo objekta Kao klase se modeliraju Elementi koji sadrže atribute Mješoviti sadržaj Složeni elementi Kao skalarna obilježja se modeliraju Jednostavni elementi PCDATA Zatim se klase modeliraju u tablice, a skalarna obilježja u atribute

“Čisto” relacijski pristup – object-relational mapiranje - primjer <?xml version =“1.0”?> < <Narudžba brojNarudžbe=“12345”> <Kupac brojKupca=“543”> <NazivKupca>FER </NazivKupca> <Ulica>Unska 3 </Ulica> <Grad>Zagreb </Grad> <PoštanskiBroj>10000</PoštanskiBroj> <Država>Hrvatska</Država> </Kupac> <Datum>5.6.2005.</Datum> <Stavka brojStavke=“1”> <Dio brojDijela=“123”> <Opis> <p><b>Francuski ključ:</b><br/> Nehrđajući čelik, doživotna garancija.</p> </Opis> <Cijena>735.68</Cijena>

“Čisto” relacijski pristup – object-relational mapiranje – primjer (nastavak) </Dio> <Količina>10</Količina> </Stavka> <Stavka brojStavke=ʺ2ʺ> <Dio brojDijela=ʺ456ʺ> <Opis> <p><b>Pištolj za bojanje:</b><br /> Aluminij, jednogodišnja garancija.</p> </Opis> <Cijena>1452.78</Cijena> <Količina>5</Količina> </Narudžba>

“Čisto” relacijski pristup – object-relational mapiranje – primjer (nastavak)

“Čisto” relacijski pristup skladištenja XML-a - poteškoće Glavni problem ovog pristupa slijedi iz razlika između relacijskog modela i XML formata Samo mapiranje može biti složen posao, a manipulacijom novonastalom strukturom još složenija

XML enabled relacijske baze podataka Nastale kao odgovor na poteškoće kod “čisto” relacijskog pristupa U relacijske sustave ugrađeni mehanizmi koji olakšavaju rad s XML dokumentima Ovakva baza je “svjesna” da radi s XML strukturama i u skladu s time nudi različite servise Mogu smjestiti XML u CLOB, ali i u više tabela kada se koristi object-relational mapiranje

XML enabled relacijske baze podataka - nastavak Implementirane su mogućnosti za pretraživanje teksta specifične za XML dokumente Uglavnom uključuju podršku za upitne jezike (najčešće XPath) i API-je (najčešće DOM) u skladu s preporukama W3C XML enabled baze ne uvode novi model za rad s XML-om već proširuju postojeći - relacijski

XML enabled relacijske baze podataka - nastavak Najpoznatije realizacije XML enabled baza podataka Oracle 9i Oracle 10g Microsoft SQL Server 2000 Microsoft Access XP IBM DB2 ...

Native XML Efikasno skladištenje XML-a u RDBMS (Relational BataBase Management System) podrazumijeva implementaciju tehnika za premošćivanje razlika između dva modela Alternativni pristup je izgradnja novog tipa baze podataka koji bi kao osnovnu logičku jedinicu imala XML dokumente podacima manipulirala koristeći XML standarde

Native XML - nastavak Takvi proizvodi se nazivaju Native XML baze podataka Definiraju logički model za dokument, a ne definiraju uvjete za podatke u doumentu Sve komponente XML dokumenta se skladište bez izmjene

Native XML - nastavak U bazu se može smjestiti samo XML Iz baze se može dobiti samo XML XML format se automatski mapira na odabrani model za fizičko skladištenje podataka

Native XML - nastavak Takvim podacima se upravlja samo posredno – pomoću baze podataka i XML upitnih jezika Sve Native XML baze podržavaju jedan ili više upitnih jezika Iz početka se koristio XPath, ali je W3C kasnije samo za tu namjenu razvio XQuery

Native XML - nastavak Promjena i brisanje se mogu izvesi na 3 načina Izvan baze pomoću nekog API-ja Jezikom definiranim posebno za tu namjenu (XUpdate inicijativa) Sam upitni jezik sadrži i ove mogućnosti

Native XML – primjer <?xml version=”1.0”?> <diet> <meal mealName=”breakfast”> <item itemName=“toast” unit=”slice” quantity=“2” /> <item itemName=“bacon” unit=”strip” quantity=“2” /> </meal> </diet>

Native XML - nastavak Najistaknutije implementacije Native XML baza podataka Tamino (Software AG) Xindice (Apache) oZone eXist ...

Izbor načina skladištenja XML dokumenta Jedan od najbitnijih faktora je oblik onoga što skladištimo Data centric dokumenti koriste XML za transport podataka, a namijenjeni su prvenstveno za čitanje od strane računala regularna struktura fino strukturirani malo ili nimalo mješovitog sadržaja

Izbor načina skladištenja XML dokumenta – nastavak Document centric dokumenti su obično namijenjeni čitanju od strane čovjeka manje regularna struktura slabo strukturirani podaci dosta mješovitog sadržaja

Izbor načina skladištenja XML dokumenta – nastavak Ne postoji opće pravilo za izbor načina skladištenja, ali se generalno može reći da su relacijske baze podataka prikladnije za one tipove XML dokumenta gdje je integritet na prvom mjestu, pa... za data-centric XML dokumente najčešće koristimo relacijske baze podataka za document-centric XML dokumente najčešće koristimo Native XML baze podataka