Podatkovni modeli in jeziki
Transcription
Podatkovni modeli in jeziki
Podatkovni modeli in jeziki 2013/14 Iztok Savnik, FAMNIT PMJ, 2013/14 1 Osnovni podatki Naslov: Predavatelj: Vaje: Točke: Seminar: Komunikacija: Govorilne ure: URL: E-učilnica: PMJ, 2013/14 Podatkovni modeli in jeziki dr. Iztok Savnik domače naloge 6 KT + 3 KT (?) e-učilnica, forumi, e-posta, govorilne ure po predavanju osebje.famnit.upr.si/~savnik/predmeti/PMJ e.famnit.upr.si Ocenjevanje • Sestava ocene: – Ocena domačih nalog – 20% – Ocena pisnega izpita – 40% – Ocena ustnega izpita – 40% • Vsaka od delnih ocen mora biti pozitivna! PMJ, 2013/14 3 Vsebina 1)Predstavitev teksta 2)Semantične mreže 3)Objektno-relacijski podatkovni model 4)Konceptualni podatkovni modeli 5)Logični podatkovni model PMJ, 2013/14 4 Smoter (1) Poglabljanje znanja – Razširiti pogled – Podati izvore – Predstaviti formalne osnove – Predstaviti moderne implementacije – Predstaviti sisteme – Globalen pogled na jezike in modele PMJ, 2013/14 5 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 PMJ, 2013/14 Smoter (3) Pregled modernih jezikov in modelov – SQL3 – XML, Xquery – RDF, SparQL, Linked Data – OWL – CycL – SQL, QBE – UML – Prolog, Datalog – F-Logic, Flora PMJ, 2013/14 7 Smoter (4) Reference na moderne sisteme – Virtuoso • “innovative enterprise grade multi-model data server for agile enterprises & individuals“ • Open source: VOS – Triple-store • 3store, 4store, jena, sesame, rdf3x, algerograph, ... – Cyc – Deduktivne podatkovne baze • Datalog, F-Logic, Flora – Načrtovalska orodja • Oracle, Informix, ... PMJ, 2013/14 8 Smoter (4) 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. PMJ, 2013/14 9 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 PMJ, 2013/14 10 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 PMJ, 2013/14 11 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 PMJ, 2013/14 12 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 PMJ, 2013/14 13 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 ! PMJ, 2013/14 14 Vizualizacija RDF baz PMJ, 2013/14 15 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 16 PMJ, 2013/14 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 PMJ, 2013/14 17 Semantične mreže (5) • Cyc PMJ, 2013/14 18 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 PMJ, 2013/14 19 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 ... PMJ, 2013/14 20 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 PMJ, 2013/14 21 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 PMJ, 2013/14 22 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 PMJ, 2013/14 23 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 PMJ, 2013/14 24 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 PMJ, 2013/14 25 Logični model (2) • LDM (Kuper,Vardi) – Semantični model • Datalog (Ullman) – Prolog nad podatkovnimi bazami • F-Logic (Kifer) – Objektni model – Prolog PMJ, 2013/14 26 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 PMJ, 2013/14 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, ... – PMJ, 2013/14 Praksa (3) • Novejša programska okolja – – – – – – Digitalne knjižnice Semantični splet Triple-store Dataspaces Aplikacijska razvojna okolja ... PMJ, 2013/14 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 PMJ, 2013/14 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. PMJ, 2013/14 31