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