Strukturna komponenta Model podataka · Prva normalna forma zahteva da vrednosti atributa budu jednozna čne Objekti ponekad imaju i viševrednosne atribute , tj. atribut mo že imati
Post on 20-Jan-2020
2 Views
Preview:
Transcript
Modelovanje podatakaModelovanje podataka
19.12.201219.12.2012 / 37/ 3722
Ne moNe možžemo reemo reššiti iti problemproblemee koristekoristećći i isti naisti naččin in razmirazmiššljanja koji ljanja koji smo koristili kada smo koristili kada su oni nastali.su oni nastali.
Albert EinsteinAlbert Einstein
19.12.201219.12.2012 / 37/ 3733
Model podatakaModel podataka
�� Model podataka Model podataka jeje prezentacija strukture prezentacija strukture podataka podataka koja koja ččini osnovu zaini osnovu za kreiranje i kreiranje i funkcionisanjefunkcionisanje baze podatakabaze podataka
�� Model podataka se sastoji iz Model podataka se sastoji iz 33 komponenete: komponenete:
�� sstrukturntrukturnee
�� integritetnintegritetnee
�� operacijskoperacijskee
19.12.201219.12.2012 / 37/ 3744
Strukturna komponenta Strukturna komponenta
�� OObuhvata osnovne koncepte i pravila za buhvata osnovne koncepte i pravila za izgradnju sloizgradnju složženih koncepataenih koncepata
�� SSadradržži primitivni primitivnee konceptkoncepte, njihovee, njihoveosobinosobine,e, pravila koripravila koriššććenjenja,a, semantiksemantikuu i i pravila za kreiranje slopravila za kreiranje složženih koncepata enih koncepata
�� Takodje moTakodje možže dae da sadrsadržži unapred kreirani unapred kreiraneeslosložženenee konceptkonceptee
�� SSkup primitivnih i slokup primitivnih i složženih komponenata enih komponenata modela podataka modela podataka se se koristi za opis nivokoristi za opis nivoaaintenzijeintenzije i i nivonivoaa ekstenzije ekstenzije
19.12.201219.12.2012 / 37/ 3755
Odnos nivoa intenzije i ekstenzijeOdnos nivoa intenzije i ekstenzije
19.12.201219.12.2012 / 37/ 3766
Integritetna komponenta Integritetna komponenta
�� PPredstavlja skup ograniredstavlja skup ograniččenja enja iziz relanog sistemarelanog sistemaddefinisanefinisanih pomoih pomoććuutipova ogranitipova ograniččenja enja
�� Karakteristike tipa ograniKarakteristike tipa ograniččenja su:enja su:
�� Formalizam za zapisivanje Formalizam za zapisivanje ((definicijadefinicija))
�� PravilPravilaa interpretacijinterpretacijee (validacij(validacijaa))
�� Oblast definisanosti Oblast definisanosti ((logilogiččkkaa strukturstrukturaaobeleobeležžja nad kojja nad kojimaima se ogranise ograniččenje definienje definiššee))
�� Oblast interpretacije Oblast interpretacije ((tip logitip logiččke strukture ke strukture podataka nad kojpodataka nad kojiimmaa se ogranise ograniččenje definienje definiššee))
19.12.201219.12.2012 / 37/ 3777
Operacijska komponenta Operacijska komponenta
�� Operacijska komponenta odrOperacijska komponenta održžava ava dinamiku realnog dinamiku realnog sistemasistema
�� SSlulužži za artikulaciju jezika za manipulisanje i za artikulaciju jezika za manipulisanje podacimapodacima
�� Njena glavna namena suNjena glavna namena su upitupitii i ai ažžuriranjuriranjaabaze podataka baze podataka
19.12.201219.12.2012 / 37/ 3788
Tipovi modela podatakaTipovi modela podataka�� Hijerarhijski modelHijerarhijski model ččineine segmenti segmenti podapodatakatakaslosložženi u hijerarhijsku strukturueni u hijerarhijsku strukturu stablastabla
�� MreMrežžni model ni model sese predstavpredstavljalja usmerenim grafom usmerenim grafom u kojem su u kojem su ččvorvorovi saovi sa podacipodacimama, a , a granegrane među među ččvovorovrovima definiima definiššu veze među podacima u veze među podacima
�� Relacioni model Relacioni model jeje zasnovan na matematizasnovan na matematiččkom kom pojmu pojmu povezanih npovezanih n--dimenzionalnih dimenzionalnih relacijrelacija a predstavljenih tabelama predstavljenih tabelama
�� Objektni model Objektni model zasnovanzasnovan na konceptu objekata, na konceptu objekata, tj. tj. skupskupaa podataka i operacija koje se na njima podataka i operacija koje se na njima mogu izvrmogu izvrššavatiavati
19.12.201219.12.2012 / 37/ 3799
Hijerarhijski modelHijerarhijski model�� Formira se na osnovu relacije roditeljFormira se na osnovu relacije roditelj--dete, dete,
gde jedan roditelj mogde jedan roditelj možže imati vie imati višše dece, ali e dece, ali jedno dete ima samo jednog roditeljajedno dete ima samo jednog roditelja
�� Direktan pristup samo vrhu hijerarhijeDirektan pristup samo vrhu hijerarhije
�� Prva hijerarhijska rePrva hijerarhijska reššenja IBM: BOMP (Bill enja IBM: BOMP (Bill Of Materials Planning) Of Materials Planning) i i DD--BOMP (DataBase BOMP (DataBase Organization and Maintenance Processor) Organization and Maintenance Processor)
�� Najpoznatija DBMS reNajpoznatija DBMS reššenja po ovom enja po ovom modelu su IBMmodelu su IBM--ovi IMS (ovi IMS (Information Information Management SystemManagement System)) i DBi DB--2 (DataBase 2) i 2 (DataBase 2) i Microsoftov Windows RegistryMicrosoftov Windows Registry
19.12.201219.12.2012 / 37/ 371010
19.12.201219.12.2012 / 37/ 371111
MreMrežžni model ni model �� NNastao astao 1969. (autor Charles Bachman) 1969. (autor Charles Bachman) kao kao
posledica ograniposledica ograniččenja hijerarhijskog modelaenja hijerarhijskog modela
�� Zasniva se na mreZasniva se na mrežži podataka u kojoj ne i podataka u kojoj ne postoje nadređeni i podređeni entiteti postoje nadređeni i podređeni entiteti
�� MreMrežžna struktura prikazuje relacije među na struktura prikazuje relacije među podacima u opodacima u odnosdnosu n:nu n:n, , ččime seime se smanjuje smanjuje redudantnost i skraredudantnost i skraććuje vreme pristupa uje vreme pristupa podacima podacima (direktan pristup svim podacima)(direktan pristup svim podacima)
�� SStruktura truktura je je slosložženija, enija, aa implementacija implementacija komplikovanija komplikovanija od hijerarhijskeod hijerarhijske
�� Primeri: DEC VAX DBMS, Honeywell IDSPrimeri: DEC VAX DBMS, Honeywell IDS19.12.201219.12.2012 / 37/ 371212
Primer mrePrimer mrežžnog modelanog modela
19.12.201219.12.2012 / 37/ 371313
Relacioni model podatakaRelacioni model podataka�� Autor je Edgar F. Codd krajem 60Autor je Edgar F. Codd krajem 60--ihih
�� NajNajččeeššćće korie koriššććeni model kod DBMSeni model kod DBMS
�� Relacioni model Relacioni model opisuje opisuje bazbazuu podataka podataka kaokaoskup pravougaonih tabelaskup pravougaonih tabela –– relacijarelacija
�� Svaka relacija ime svoj Svaka relacija ime svoj nazivnaziv po kopo kojejem je m je razlikujemo od ostalih relacija u istoj bazirazlikujemo od ostalih relacija u istoj bazi
�� Vrsta tabele sadrVrsta tabele sadržži podatke jednog entitetai podatke jednog entiteta
�� KKolona relacije sadrolona relacije sadržži i podatkepodatke jednog atributa jednog atributa
�� Atribut takođe ime svoj Atribut takođe ime svoj nazivnaziv po kopo kojejem ga m ga razlikujemo od ostalih u istoj relaciji razlikujemo od ostalih u istoj relaciji
19.12.201219.12.2012 / 37/ 371414
Primer tabele relacionog modelaPrimer tabele relacionog modela
19.12.201219.12.2012 / 37/ 371515
Konceptualni model podatakaKonceptualni model podataka
�� Konceptualni model podataka je prikazKonceptualni model podataka je prikazorganizovanogorganizovanog skupskupaa podataka i podataka i njihovih njihovih vezvezaaprikazanih u obliku nezavisnom od primeneprikazanih u obliku nezavisnom od primene
�� Nezavistan je od sistema za upravljanje bazom Nezavistan je od sistema za upravljanje bazom podataka i drugih implementacionih repodataka i drugih implementacionih reššenjaenja
�� Predstavlja detaljni model koji prikazuje Predstavlja detaljni model koji prikazuje kompletnu strukturu podataka sistema kompletnu strukturu podataka sistema
�� Sistem analitiSistem analitiččari kao prvi korak u modelovanju ari kao prvi korak u modelovanju kreiraju konceptualni model podatakakreiraju konceptualni model podataka
19.12.201219.12.2012 / 37/ 371616
EntityEntity--relationship model podatakarelationship model podataka�� EntityEntity--relationship (ER) model podataka kreirao relationship (ER) model podataka kreirao
je je Peter Peter Chen 1976. godineChen 1976. godine,, koji je kao koji je kao nezavistan ukljunezavistan uključčivan u razliivan u različčite baze podatakaite baze podataka
�� PPredstavlja organizaciredstavlja organizacijuju podataka kojpodataka koja a prikazujprikazujee strukturu i vezstrukturu i vezee između podataka između podataka iinezavistan nezavistan je od bilo kojeg DBMSje od bilo kojeg DBMS
�� ER model podataka je grafiER model podataka je grafiččka prezentacija ka prezentacija koja slukoja služži za opis konceptualnog modelai za opis konceptualnog modela
�� UML modelovanje podataka je ekspresivnije od UML modelovanje podataka je ekspresivnije od ER modela, jer se moER modela, jer se možže transformisati u e transformisati u dijagrame klasa, koji sadrdijagrame klasa, koji sadržže strukturu podataka e strukturu podataka modela i ponamodela i ponaššanjeanje
19.12.201219.12.2012 / 37/ 371717
Primer EPrimer E--R dijagramaR dijagrama
19.12.201219.12.2012 / 37/ 371818
Razvoj konceptualnog modela podatakaRazvoj konceptualnog modela podataka�� SluSluččajevi koriajevi koriššććenja obezbeđuju odgovarajuenja obezbeđuju odgovarajućće e
popoččetne informacije za model podatakaetne informacije za model podataka
�� Za kompletiranje modela podataka potrebna su Za kompletiranje modela podataka potrebna su dalja istradalja istražživanja kod korisnikaivanja kod korisnika
�� Upotrebom alata za izradu prototipa mogu se Upotrebom alata za izradu prototipa mogu se kreirati izgledi ekrana i izvekreirati izgledi ekrana i izvešštajataja
�� Model podataka kreira se kombinacijom:Model podataka kreira se kombinacijom:
�� TopTop--down pristupom se izdvajaju podaci bitni down pristupom se izdvajaju podaci bitni za poslovni sistemza poslovni sistem
�� BottomBottom--up pristupom se razrađuju detalji up pristupom se razrađuju detalji pojedinih dokumenatapojedinih dokumenata
19.12.201219.12.2012 / 37/ 371919
Proces konceptualnog modelovanja Proces konceptualnog modelovanja podatakapodataka
Proučavanje
postojećih
modela podataka
Proučavanje
slučajeva
korišćenja
Proučavanje
drugih zahteva
Razvoj
konceptualnog
modela podataka
Provera
kompletnosti
modela
Primena
logičkog
modela podataka
Sastanak sa
korisnicima
Revizija
zahteva
Ponavljaj dok
ne bude
kompletno
19.12.201219.12.2012 / 37/ 372020
Uloga konceptualnog modelovanja Uloga konceptualnog modelovanja podataka u sistemskoj analizipodataka u sistemskoj analizi
Proučavanje
slučajeva korišćenja
i drugih zahteva
Razvoj
konceptualnog
modela podataka
Prevod u
objektno-relacioni
model
Izdvajanje klasa
entiteta
Uvođenje granica
i kontrolnih klasa
Izrada
dijagrama sekvenci
Izrada analizirarih
dijagrama klasa
Nastavak
dizajna
Izdvajanje
analiziranih klasa
19.12.201219.12.2012 / 37/ 372121
UML model podatakaUML model podataka
�� UML je konstruisan tako da opiUML je konstruisan tako da opišše statie statiččke i ke i dinamidinamiččke aspekte sistemake aspekte sistema
�� StatiStatiččki deo se uglavnom predstavlja pomoki deo se uglavnom predstavlja pomoćću u dijagrama klasadijagrama klasa
�� Modelovanje podataka pomoModelovanje podataka pomoćću UML svodi se u UML svodi se na definisanje samih klasa, njihovih atributa, na definisanje samih klasa, njihovih atributa, identifikatora i veza između klasaidentifikatora i veza između klasa
�� Ovaj model podataka podrOvaj model podataka podržžava veava većći broj i broj CASE alataCASE alata
19.12.201219.12.2012 / 37/ 372222
UML model podatakaUML model podataka
19.12.201219.12.2012 / 37/ 372323
ObjektnoObjektno--relacioni model relacioni model �� Koncepti ER modela sliKoncepti ER modela sliččni su konceptima UML ni su konceptima UML
modela, modela, ššto prevođenje iz ER u UML model to prevođenje iz ER u UML model ččini jednostavnim ini jednostavnim
�� Koristi se u UML modelovanju podatakaKoristi se u UML modelovanju podataka
�� PPredstavlja redstavlja ERER model promodel prošširen objektno iren objektno orijentisanim konceptimaorijentisanim konceptima
�� UML model se moUML model se možže proe prošširiti u dijagram klasa iriti u dijagram klasa tako tako ššto se na strukturu podataka dodaju to se na strukturu podataka dodaju ponaponaššanjaanja
�� Korisnici teKorisnici tešško razlikuju strukturu od ko razlikuju strukturu od ponaponaššanjaanja
19.12.201219.12.2012 / 37/ 372424
Razvijanje
konceptualnog
model podataka
Provera
objektno-orijentisanih
proširenja
Prevođenje u
objektne
relacije
Integrisanje
objektnih relacija
Dodela
odgovornosti
klasama
Kreiranje
analitičkih
dijagrama klasa
19.12.201219.12.2012 / 37/ 372525
ObjektnoObjektno--relacioni modelrelacioni model
19.12.201219.12.2012 / 37/ 372626
RRelacionelacioni ii i objektnoobjektno--relacioni modelrelacioni model�� ObjektnoObjektno--relacioni model je relacioni model sa relacioni model je relacioni model sa
objektnoobjektno--orijentisanim proorijentisanim prošširenjimairenjima
�� NajNajččeeššćća proa prošširenja su sledeirenja su sledećća:a:
�� ggeneralizacijaeneralizacija
�� vviišševrednosni atributievrednosni atributi
�� mmehanizmi za podrehanizmi za podrššku agregacijiku agregaciji
�� iidentifikatordentifikatorii objekataobjekata
�� veze po referenci (pokazivaveze po referenci (pokazivačči)i)
�� uvođenje operacija u relacijeuvođenje operacija u relacije
�� bogatiji tipovi podatakabogatiji tipovi podataka
19.12.201219.12.2012 / 37/ 372727
GeneralizacijaGeneralizacija�� Relacija između klasa Relacija između klasa sa 2sa 2 semantisemantiččke ke
manifestacije:manifestacije:
�� nasleđivanjenasleđivanje: n: nasleđena klasa implicitno asleđena klasa implicitno poseduje sve atrubute, operacije i asocijacije poseduje sve atrubute, operacije i asocijacije osnovne klaseosnovne klase
�� substitucijasubstitucija:: objekat izvedene klase moobjekat izvedene klase možže se e se nanaćći i kadakada se ose oččekuje objekat osnovne klaseekuje objekat osnovne klase
�� Posledica: aPosledica: ako u nekoj asocijaciji uko u nekoj asocijaciji uččestvuje estvuje osnovna klasa, onda u instanci te asocijacije osnovna klasa, onda u instanci te asocijacije mogu umogu uččestvovati objekti svih klasa izvedenih iz estvovati objekti svih klasa izvedenih iz te klase, u suprotnom te klase, u suprotnom –– samo objekti izvedene samo objekti izvedene klase sa atributima i operacijama osnovne klase sa atributima i operacijama osnovne
19.12.201219.12.2012 / 37/ 372828
ViVišševrednosni atributievrednosni atributi
�� Prva normalna forma zahteva da vrednosti Prva normalna forma zahteva da vrednosti atributa budu jednoznaatributa budu jednoznaččnene
�� OObjekti ponekad imaju i vibjekti ponekad imaju i višševrednosne evrednosne atributeatribute, tj. atribut mo, tj. atribut možže imati vie imati višše e vrednosti u jednom objektuvrednosti u jednom objektu
�� Ovo pravilo vaOvo pravilo važži samo za pojedinai samo za pojedinaččne ne atributeatribute
19.12.201219.12.2012 / 37/ 372929
Mehanizmi za podrMehanizmi za podrššku agregacijiku agregaciji�� Relacione tabele suRelacione tabele su razdvojenerazdvojene, a, a vveza između eza između
tabela se odrtabela se održžava pomoava pomoććuu stranih kljustranih ključčeva eva
�� Mahanizmi za podrMahanizmi za podrššku agregaciji su umetnute ku agregaciji su umetnute tabele i klasteritabele i klasteri
�� Kod umetnutih tabela (nizova) jedna tabela je Kod umetnutih tabela (nizova) jedna tabela je definisana unutar drugedefinisana unutar druge, a, a uumetnutoj metnutoj (fizi(fiziččki ki udaljenoj) udaljenoj) tabeli motabeli možže se pristupiti iskljue se pristupiti isključčivo ivo preko glavne koripreko glavne koriššććenjem pokazivaenjem pokazivačča umetnutea umetnute
�� Klasteri zahtevaKlasteri zahtevajuju da svi delovi budu da svi delovi budu ččuvani uvani zajedno zbog lakzajedno zbog lakššeg eg nalanalažženja podataka i enja podataka i drugdrugih operacijaih operacija, , da da imaju naziv i nalazeimaju naziv i nalaze sesefizifiziččki ugnjeki ugnježždeni u relacijudeni u relaciju
19.12.201219.12.2012 / 37/ 373030
Identifikatori objekataIdentifikatori objekata (OID)(OID)
�� ORDBMSORDBMS dozvoljavaju kreiranje tabela dozvoljavaju kreiranje tabela objekata objekata gde sgde svaki revaki redd u tabeli objekata ima u tabeli objekata ima OIDOID povezan sa vrednopovezan sa vrednoššćću objekta dodeljen u objekta dodeljen kada je red kreirankada je red kreiran
�� OOIDID momožže biti korie biti koriššććen en pripri referencreferenciriraanjunjurelacijrelacija a
�� OID OID nisu predviđeni da slunisu predviđeni da služže u poslovnim e u poslovnim aplikacijama u tradicionalnom smislu aplikacijama u tradicionalnom smislu
19.12.201219.12.2012 / 37/ 373131
Ostala proOstala prošširenjairenja�� RRelacije po referencama elacije po referencama koriste pokazivakoriste pokazivačče e
sa povezivanje sa određenim redomsa povezivanje sa određenim redom, , ššto je to je alternativa u odnosu na strane kljualternativa u odnosu na strane ključčeveeve
�� UvođenjeUvođenje operacijoperacija u relacije objekata a u relacije objekata dodaje ponadodaje ponaššanje objektu u osnosu na anje objektu u osnosu na strukturu reprezentovanu atributimastrukturu reprezentovanu atributima
�� Bogatiji tBogatiji tipovipovii skupova skupova (geografske ta(geografske taččke, ke, slike, crteslike, crtežži,i, BLOBs, korisniBLOBs, korisniččki tipovi...) ki tipovi...) uvode se koriuvode se koriššććenjem stereotipovaenjem stereotipova
19.12.201219.12.2012 / 37/ 373232
Prevođenje Prevođenje konceptualkonceptualnog u nog u objektnoobjektno--relacioni model relacioni model
�� Prevođenje klasaPrevođenje klasa: svaka klasa postaje od : svaka klasa postaje od objektobjektnnee relacijrelacije, identifikator klase je primarni e, identifikator klase je primarni kljuključč objekta, objekta, aa ostali atributi ostali atributi alternativalternativni ni kljuključčevievi
�� Prevođenje vezaPrevođenje veza: veza u dijagramu klasa poti: veza u dijagramu klasa potičče e od od stranstranogog kljuključčaa ili ili pokazivapokazivaččaa
�� Normalizacija objekataNormalizacija objekata:: poveznicipoveznici mogu imati mogu imati redundansuredundansu i takvi trebai takvi treba da budu normalizovanida budu normalizovani
�� Spajanje objekSpajanje objektnih relacija:tnih relacija: momožže se desiti da je e se desiti da je spajanje spajanje sa normalizacijom sa normalizacijom neophodan neophodan postupak za otklanjanje redundanse podataka postupak za otklanjanje redundanse podataka
19.12.201219.12.2012 / 37/ 373333
Problemi prevoProblemi prevođenja konceptualnog đenja konceptualnog u objektnou objektno--relacioni modelrelacioni model
�� Problemi su vezani pre svega za znaProblemi su vezani pre svega za značčenja enja atributa u klasamaatributa u klasama
�� Glavni problemi integracije ovog novog Glavni problemi integracije ovog novog modela su:modela su:
�� sinonimisinonimi
�� homonimi ihomonimi i
�� zavisnosti između atributa koji nisu u zavisnosti između atributa koji nisu u kljuključčuu
19.12.201219.12.2012 / 37/ 373434
SinonimiSinonimi
�� MoguMogućće je da postoji 2 ili vie je da postoji 2 ili višše atributa sa e atributa sa razlirazliččitim imenima, ali sa istim znaitim imenima, ali sa istim značčenjemenjem
�� Tada se kreira jedan atribut, sa novim ili Tada se kreira jedan atribut, sa novim ili jednim od postojejednim od postojeććih nazivaih naziva
�� Primer: moguPrimer: mogućće je da kod Studenta e je da kod Studenta postoje atributi Matipostoje atributi MatiččniBroj i StudentId, niBroj i StudentId, oba sa istim sadroba sa istim sadržžajem ajem
19.12.201219.12.2012 / 37/ 373535
HomonimiHomonimi
�� MoguMogućće je da u 2 klase koje se spajaju e je da u 2 klase koje se spajaju postoje 2 atributa istog imena sa razlipostoje 2 atributa istog imena sa različčitim itim znaznaččenjimaenjima
�� Tada oni dobijaju nova, detaljnija imena i Tada oni dobijaju nova, detaljnija imena i oba se zadroba se zadržžavaju kao atributiavaju kao atributi
�� Primer: u 2 klase Student ima atribut Primer: u 2 klase Student ima atribut adresu, ali je jedna kuadresu, ali je jedna kuććna adresa, a druga na adresa, a druga privremena adresaprivremena adresa
19.12.201219.12.2012 / 37/ 373636
Zavisnosti između atributa koji Zavisnosti između atributa koji nisu u kljunisu u ključčuu
�� Kada se 2 normalizovane relacije spajaju u Kada se 2 normalizovane relacije spajaju u jednu klasu mogujednu klasu mogućće je da postoji zavisnost e je da postoji zavisnost između njihovih atributaizmeđu njihovih atributa
�� Primer: Radnik ima atribute RadnoMesto i Primer: Radnik ima atribute RadnoMesto i Rukovodilac, kako ima jednog Rukovodioca Rukovodilac, kako ima jednog Rukovodioca tada on zadtada on zadžžava atribut RadnoMesto, a ava atribut RadnoMesto, a kreira se unarna relacija Rukovodikreira se unarna relacija Rukovodi
top related