podatkovni modeli in jeziki

30
1 PMJ, 2015/16 Podatkovni modeli in jeziki 2015/16 Iztok Savnik, FAMNIT

Upload: tranhanh

Post on 04-Feb-2017

239 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Podatkovni modeli in jeziki

1PMJ, 2015/16

Podatkovni modeli in jeziki

2015/16

Iztok Savnik, FAMNIT

Page 2: Podatkovni modeli in jeziki

PMJ, 2015/16

Osnovni podatki

Naslov: Podatkovni modeli in jezikiPredavatelj: dr. Iztok SavnikVaje: domače naloge Točke: 6 KTKomunikacija: e-učilnica, forumi, e-posta, govorilne ureGovorilne ure: po predavanjuURL: osebje.famnit.upr.si/~savnik/predmeti/PMJE-učilnica: e.famnit.upr.si

Page 3: Podatkovni modeli in jeziki

3PMJ, 2015/16

Ocenjevanje

• Sestava ocene:– Ocena domačih nalog – 40%– Ocena pisnega izpita – 40%– Ocena ustnega izpita – 20%

• Vsaka od delnih ocen mora biti pozitivna!

Page 4: Podatkovni modeli in jeziki

4PMJ, 2015/16

Vsebina

1) Tekstovne podatkovne baze2) Objektno-relacijski podatkovni model3) Semantične mreže4) Konceptualni podatkovni modeli5) Logični podatkovni model

Page 5: Podatkovni modeli in jeziki

5PMJ, 2015/16

Smoter (1)

Poglabljanje znanja

– Razširiti pogled – Podati izvore – Predstaviti formalne osnove– Predstaviti moderne implementacije– Predstaviti sisteme– Globalen pogled na jezike in modele

Page 6: Podatkovni modeli in jeziki

PMJ, 2015/16

Smoter (2)

• Prikaz izvorov in formalnega ozadja– Logika, izjavni račun, predikatni račun– Relacijski račun, relacijska algebra– Regularni jeziki– Grafi, konceptualne mreže– Predikatni račun– Opisna logika– Hornovi stavki

Page 7: Podatkovni modeli in jeziki

7PMJ, 2015/16

Smoter (3)

Pregled modernih jezikov in modelov – SQL3– XML, Xquery– RDF, SparQL, Linked Data– OWL– CycL– SQL, QBE– UML– Prolog, Datalog– F-Logic, Flora

Page 8: Podatkovni modeli in jeziki

8PMJ, 2015/16

Smoter (4)

Reference na moderne sisteme– Virtuoso

• “innovative enterprise grade multi-model data server for agile enterprises & individuals“

• Open source: VOS

– Triple-stores• 3store, 4store, jena, sesame, rdf3x, algerograph, ...

– Cyc– Deduktivne podatkovne baze

• Datalog, F-Logic, Flora

– Načrtovalska orodja• Oracle, Informix, ...

Page 9: Podatkovni modeli in jeziki

9PMJ, 2015/16

Smoter (5)

Praktično znanje

– Razvoj aplikacij, ki slonijo na uporabi podatkovnih modelov.

– Uporabo modernih orodij in tehnik za implementacijo podatkovnih okolij.

– Razvijanje zmožnosti obvladovanja kompleksnih podatkovnih okolij.

– Razvijanje zmožnosti za razvoj aplikacij v praksi.

Page 10: Podatkovni modeli in jeziki

10PMJ, 2015/16

Tekst (1)

• Regularni jeziki– Primerni za opis teksta– Bližje jezikom– BNF, Kontekstno neodvisni jeziki– Delno-strukturirani podatki

• Strukturiran tekst– XML, SSL– XPath, XQL– XML-Schema– XQuery

Page 11: Podatkovni modeli in jeziki

11PMJ, 2015/16

Tekst (2)

• Podatkovni model– XML, SSL

• Povpraševalni jeziki– XQL, Xquery, XML-QL

• Konceptualni modeli– XML-Shema

• XML podatkovne baze– Virtuoso– RDBMS vsebujejo vmesnike do XML

Page 12: Podatkovni modeli in jeziki

12PMJ, 2015/16

Objektno-relacijski model (1)

• Relacijski model– Codd, 1970– Matematične osnove: n-terice in relacije– Izjavni račun => relacijski račun– Algebra relacij – Deklarativni povpraševalni jezik SQL2

• De-facto standard • Relacijska kompletnost jezika

Page 13: Podatkovni modeli in jeziki

13PMJ, 2015/16

Objektno-relacijski model (2)

• Relacijski model– Proceduralni programski jezik SQL2– Shranjene procedure – Računanje s tabelami– Računsko kompleten jezik– Vsebuje pravila

• Prožilci• Realizacija AI ekspertnih sistemov• Še precej problemov ...

Page 14: Podatkovni modeli in jeziki

14PMJ, 2015/16

Objektno-relacijski model (3)

• SQL3– Objektno-relacijski model– Abstraktni Podatkovni Tipi = Razredi

• Uporabniško definirani tipi• Metode, dedovanje, polimorfizem,

– Kompleksni atributi• n-terice, množice, polja, tabele, itd.• Bogat nabor operacij

Page 15: Podatkovni modeli in jeziki

15PMJ, 2015/16

Objektno-relacijski model (4)

• SQL3– Uporabljeni programski modeli

• Proceduralni gradniki• Objektni gradniki• Pravila in prožilci• Rekurzija, fiksne točke

– Novi tipi• Multimedia: blob, clob• Intervali• Drevesa, grafi

Page 16: Podatkovni modeli in jeziki

16PMJ, 2015/16

Logika

• Formalna osnova modelov in jezikov • Izjavni račun

– Osnovne metode• Predikatni račun

– Relacijski račun– Opisna logika = strukturiran del PR– Prolog = del PR (hornovi stavki)– Semantični modeli

• Metode– Sklepanje, Dedukcija – Resolucija

Page 17: Podatkovni modeli in jeziki

17PMJ, 2015/16

Semantične mreže (1)

• Logika !– Konceptualni grafi (Sowa, 1981)– Terminologije -> Ontologije

• Jeziki za predstavitev znanja – KL-ONE, Classics, Back– Sklepanje

• Grafovski podatkovni modeli– Grafi kot logika + Grafi kot podatki

• Novejši jeziki– RDF, RDFS, OWL, Rules

Page 18: Podatkovni modeli in jeziki

18PMJ, 2015/16

Semantične mreže (2)

• RDF– Podatkovne baze na osnovi trojic– 3store, Virtuoso, AlegroGraph, – LinkedData, Web of Data– BIGDATA

• SparQL– Povpraševalni jezik nad trojicami– Temelji na grafovskih vzorcih– Game changer !

Page 19: Podatkovni modeli in jeziki

19PMJ, 2015/16

VizualizacijaRDF baz

Page 20: Podatkovni modeli in jeziki

20PMJ, 2015/16

Semantične mreže (3)

• Opisna logika – Strukturiran del PR– Lahko predstavimo s trojicami: v osnovi imamo RDF– XML zapis

• OWL– W3 standard– Opisna logika razširjena s praktičnimi jezikovnimi

gradniki• Sklepanje

– Povpraševalni jezik– Sklepanje s koncepti– Sklepanje na osnovi konceptov in podatkov

Page 21: Podatkovni modeli in jeziki

21PMJ, 2015/16

Semantične mreže (4)

• Cyc– Največji sistem za delo z znanjem– Temelji na PR– Sklepanje s pravili

• Predstavitev znanja– Konceptualne mreže (ontologije)– Višja ontologija, osnovne teorije, specifične

teorije– Predefinirane semantične relacije

Page 22: Podatkovni modeli in jeziki

22PMJ, 2015/16

Semantične mreže (5)

• Cyc

Page 23: Podatkovni modeli in jeziki

23PMJ, 2015/16

Konceptualni modeli (1)

• Grafovski podatkovni model– Vozlišča predstavljajo koncepte– Povezave so lahko različnih vrst + imajo lastnosti– ER, SDM, IFO, OM, UML

• Abstrakcije– Entiteta / Razmerje– Kompozicija/Dekompozicija– Generalizacija/Specializacija– Asociacija– Enkapsulacija– Dedovanje

Page 24: Podatkovni modeli in jeziki

24PMJ, 2015/16

Konceptualni modeli (2)

• Entiteta-razmerje– Najbolj razširjen model

• Semantični modeli– Precej „akademski“ modeli– FDM, SDM, IFO, 3DIS

• Objektni model– Običajni objektni gradniki

• UML– Združuje vse zgoraj našteto

Page 25: Podatkovni modeli in jeziki

25PMJ, 2015/16

Logični model (1)

• Logika uporabljena za – predstavitev sheme in podatkov– povpraševalni jezik

• Največ modelov sloni na predikatnem računu

• Podmnožica predikatnega računa– Hornovi stavki– Prolog

Page 26: Podatkovni modeli in jeziki

26PMJ, 2015/16

Logični model (2)

• LDM (Kuper,Vardi)– Semantični model

• Datalog (Ullman)– Prolog nad podatkovnimi bazami

• F-Logic (Kifer)– Objektni model– Prolog

Page 27: Podatkovni modeli in jeziki

PMJ, 2015/16

Praksa (1)

• Praktično vsi podatki so predstavljeni z nekim podatkovnim modelom– Celo običajen tekst ali datoteko urejevalnika moramo

velikokrat obravnavat kot podatkovni model– Tekst, HTML, XML, Internet, elektronske knjižnice,

podatkovne baze, …– Dataspace - Podatki organizacije v različnih oblikah

Page 28: Podatkovni modeli in jeziki

PMJ, 2015/16

Praksa (2)

• Večina aplikacij v praksi so informacijski sistemi– Večjo aplikacijo enostavno implementiramo v SUPB– Obstaja množica visokonivojskih jezikov za pisanje

aplikacij, ki temeljijo na podatkovnih modelih– Novejša orodja združujejo več modelov in jezikov:

Virtuoso, Oracle, ...

Page 29: Podatkovni modeli in jeziki

PMJ, 2015/16

Domače naloge

1) Domača naloga po večjem sklopu snovi– 4-5 domačih nalog– Manjši primeri uporabe podatkovnih

modelov in jezikov– Primer: definiraj podatkovno bazo knjižnice

z XML, DTD, SSL, XQL, ...– Osnova za pisni izpit !

2) Domače naloge = 1 seminar

Page 30: Podatkovni modeli in jeziki

30PMJ, 2015/16

Literatura

• I. Savnik, Prosojnice za predmet “Podatkovni modeli in jeziki”, Spletna učilnica, 2013/14.

• Literatura za posamezno poglavje bo na voljo v spletni učilnici.