bp lekcija 05_modelobjektiveze

36
Baze podataka Baze podataka Model objekti-veze Model objekti-veze 1

Upload: elvedin-talic

Post on 10-Aug-2015

32 views

Category:

Documents


3 download

DESCRIPTION

access

TRANSCRIPT

Page 1: BP Lekcija 05_ModelObjektiVeze

Baze podatakaBaze podatakaModel objekti-veze

Model objekti-veze 1

Page 2: BP Lekcija 05_ModelObjektiVeze

• Terminologija:– MOV: Model objekti-veze– ER: Entity-Relationship Model

MOV

– ER: Entity-Relationship Model

Model objekti-veze 2

Page 3: BP Lekcija 05_ModelObjektiVeze

• Jedan od najvećih problema u procesu razvoja BP je činjenica da projektanti, programeri i krajnji korisnici na potpuno različite načine shvataju podatke i načine njihove upotrebe, kao i procese iz posmatranog okruženja koje treba

MOV

i procese iz posmatranog okruženja koje treba modelovati

• Da bi se obezbedio precizan opis prirode podataka i načina na koji se oni koriste, potrebno je proizvesti jasan model koji nije striktno tehničke prirode

• Najčešće korišćeni model u praksi je MOV model

Model objekti-veze 3

Page 4: BP Lekcija 05_ModelObjektiVeze

• Glavna komponenta MOV pristupa je koncept entiteta (objekata i veza)

• Entiteti obuhvataju objekte koji se nalaze u jednoj organizaciji, kao i veze među objektima jedne organizacije,

MOV

jednoj organizaciji, kao i veze među objektima jedne organizacije,

• Ograničenja integriteta eniteta i veza čine važan deo MOV opisa odnosno specifikacije. – Na primer profesor može da predaje jedno

predavanje u određenom vremenu u jednoj sali na fakuletu.

Model objekti-veze 4

Page 5: BP Lekcija 05_ModelObjektiVeze

• MOV modelovanje obuhvata:– Skup entiteta (objekti i veze)– Uočavanje ograničenja– Definisanje ključeva

MOV

– Definisanje ključeva– Grafička predstava (DOV diagram)– Definisanje atributa– Dizajn globalne šeme – Svođenje globalne šeme na tabele (relacije)

Model objekti-veze 5

Page 6: BP Lekcija 05_ModelObjektiVeze

• Dijagram objekti-veze (DOV) je grafička prezentacija povezanih entiteta i ograničenja koja čine dati dizajn odnosno projekat

• Kao i kod ostalih vizuelno orijentisanih dizajn metodologija, on pruža grafički sažetak strukture

DOV

• Kao i kod ostalih vizuelno orijentisanih dizajn metodologija, on pruža grafički sažetak strukture baze podataka koji je veoma koristan dizajneru– u procenjivanju tačnosti, odnosno pravilnosti dizajna– za savetovanje sa kolegama i za objašnjavanje

programerima koji će je koristiti.

Model objekti-veze 6

Page 7: BP Lekcija 05_ModelObjektiVeze

• ER modelovanje je logičko modelovanje (logical data modeling)– Razlikuje se od fizičke realizacije baze podataka (physical

database design)• U logičkom modelovanju ne moraju se poznavati atributi

ER modelovanje

• U logičkom modelovanju ne moraju se poznavati atributi entiteta, primarni niti spoljašnji ključevi– Jednostavno se linijama spajaju entiteti– Npr. ZAPOSLENI su u vezi sa ODELJENJEM, a još uvek ne

znamo atribute ova dva entiteta• ER modelovanje ima sledeći koncept:

– Od generalnog ka pojedinačnom• Pogodno je u ranim fazama modelovanja

– Mnogo toga se menja

Model objekti-veze 7

Page 8: BP Lekcija 05_ModelObjektiVeze

• Objekti grupišu srodne podatke. • Mogu predstavljati entitete iz realnog sveta,

interfejse iz DTP, strukture iz rečnika podataka, ali mogu biti i čisti fabrikati, koji samo treba da istaknu povezanost različitih podataka pri

Objekti

ali mogu biti i čisti fabrikati, koji samo treba da istaknu povezanost različitih podataka pri procesiranju u sistemu.

• Objekat se identifikuje nazivom i listom svojstava, a grafički se predstavlja kao pravougaonik u kome se ispisuje naziv entiteta, koji je najčešće imenica.

Model objekti-veze 8

Page 9: BP Lekcija 05_ModelObjektiVeze

• U DOV se razlikuju takozvani jaki i slabi objekti• Narudžbenica je jak a stavka_narudžbenice je

slab objekat. • Između jakog i slabog objekta postoji

Objekti

• Između jakog i slabog objekta postoji identifikaciona i egzistencijalna zavisnost

Model objekti-veze 9

Egzistencijalno zavisi od

identifikije

Page 10: BP Lekcija 05_ModelObjektiVeze

• Atributi su osobine (svojstva) entiteta. Atribut podrazumeva ime i vrednost svojstva (npr. atribut “boja” i njegova vrednost “plavo”).

• Entitet se opisuje pomoću jednog ili više svojstava (atributa).

Atributi

• Entitet se opisuje pomoću jednog ili više svojstava (atributa).

• Atributi su podaci osnovnog tipa, ili predefinisani domeni.

• Označavaju se elipsoidima i povezani su pravolinijskim konektorma sa objektima

Model objekti-veze 10

Page 11: BP Lekcija 05_ModelObjektiVeze

Atributi

Model objekti-veze 11

Page 12: BP Lekcija 05_ModelObjektiVeze

• Eng. Relationships• Veze su najvažniji deo DOV, jer definišu načine

na kojima su objekti uzajamno povezani • Veze se imenuju i njihovi nazivi odslikavaju

Veze

• Veze se imenuju i njihovi nazivi odslikavaju sematniku povezanosti između objekata– Predstavljaju asocijacije između entiteta klasa

Model objekti-veze 12

Page 13: BP Lekcija 05_ModelObjektiVeze

• Broj objekata u vezi definiše stepen (degree) veze

Veze

Student Majka Otac

Model objekti-veze 13

Student

Predmet

Ispit

Majka Otac

Dete

Roditelji

Binarna veza Ternarna veza

Page 14: BP Lekcija 05_ModelObjektiVeze

• Postoje brojne mogućnosti za funkcionalnost ternarne veze, na primer– (N : M : P), (1 : N : M), (1 : 1 : N) ili čak (1 : 1 : 1)

• Ternarnu vezu uvodimo samo onda kad se ona ne može rastaviti na dve binarne.

Veze

Model objekti-veze 14

Proizvod Zemlja

Kompanija

Izvozi

Ternarna veza

Page 15: BP Lekcija 05_ModelObjektiVeze

• Primer:– Npr: ako kompanija izvozi u neku zemlju, tada ona

odmah izvozi sve svoje proizvode u tu zemlju – Uz ovo pravilo, razmatrana ternarna veza može se

zameniti sa dve binarne

Veze

Model objekti-veze 15

Proizvod Zemlja

Kompanija

Proizvodi

Dve binarne veze

Izvozi

Page 16: BP Lekcija 05_ModelObjektiVeze

• Kardinalnost predstavlja odnos broja objekata koji se povezuju.

• Određivanje kardinalnosti se uglavnom vrši proučavanjem veza i odnosa između posmatranih objekata

Veze

proučavanjem veza i odnosa između posmatranih objekata

Model objekti-veze 16

Page 17: BP Lekcija 05_ModelObjektiVeze

• Tipovi kardinalnosti: – Jedan prema jedan (1:1) - na primer jedna uplata

dobavljaču se vrši po tačno jednoj fakturi dobavljača– Jedan prema više (1:N) - na primer jedna

narudžbenica sadrži više stavki narudžbenice

Veze

narudžbenica sadrži više stavki narudžbenice– Više prema više (N:M) - više dobavljača ima ugovore

sa više špeditera.

Model objekti-veze 17

FAKTURA_DOB UPLATA_DOB1:1

Profaktura

Page 18: BP Lekcija 05_ModelObjektiVeze

• Maksimalna kardinalnost– Maksimalan broj instanci entiteta koji može da

učestvuje u vezi– U navedenom primeru, veza je 1:N, ali je maksimalna

kardinalnost 1:5

Veze

kardinalnost 1:5

Model objekti-veze 18

KOŠARKAŠKI TIM IGRAČ1:N

Page 19: BP Lekcija 05_ModelObjektiVeze

• Minimalna kardinalnost– Minimalan broj instanci entiteta koji moraju da

učestvuju u vezi– U navedenom primeru, minimalna kardinalnost sa

leve strane je 1, a sa desne 0

Veze

leve strane je 1, a sa desne 0– Minimalna kardinalnost 0 – učešće u vezi je opciono– Minimalna kardinalnost 1 – učešće u vezi je obavezno

Model objekti-veze 19

PROFESOR PREDMETN:M

Profesor-Predmet

Page 20: BP Lekcija 05_ModelObjektiVeze

• Verzije ER modela:– Information Engineering (IE) (James Martin, 1990)– Integrated Definition for Information Modeling (IDEF1X)– Unified Modeling Language (UML)

Veze

Model objekti-veze 20

Page 21: BP Lekcija 05_ModelObjektiVeze

• IE notacija:

Veze

Jedan - obavezno

Model objekti-veze 21

Više - obavezno

Jedan - opciono

Više - opciono

Page 22: BP Lekcija 05_ModelObjektiVeze

• Primer 1

Veze

ODELJENJE ZAPOSLENI1:N

Model objekti-veze 22

ODELJENJE ZAPOSLENI

ili

• Odeljenje ima jednog ili više zaposlenih• Zaposleni može biti u samo jednom odeljenju ili

ni u jednom

Page 23: BP Lekcija 05_ModelObjektiVeze

• Primer 2

Veze

ZAPOSLENI VEŠTINEN:M

Model objekti-veze 23

ZAPOSLENI VEŠTINE

ili

• Zaposleni mora da ima jednu ili može da ima više veština

• Jednu veštinu može da ima više zaposlenih. Ima veština kojih nema kod zaposlenih.

Page 24: BP Lekcija 05_ModelObjektiVeze

• Softveri za modelovanje:– Microsoft Visio– ERwin– DB Designer 4– MySQL Workbench

Veze

– MySQL Workbench

Model objekti-veze 24

Page 25: BP Lekcija 05_ModelObjektiVeze

• Slabi entiteti – identifikaciona zavisnost

Veze

ZGRADAZGRADA

ZgradaIDAdresa

Mesto

Model objekti-veze 25

APARTMANAPARTMAN

ZgradaIDApartmanBroj

BrojKreveta

Page 26: BP Lekcija 05_ModelObjektiVeze

• Slabi entiteti – identifikaciona zavisnost

Veze

SW_PROIZVODSW_PROIZVOD

NazivOSyS

TimDev

Model objekti-veze 26

VERZIJAVERZIJA

NazivVerzija

ReleaseDate

Page 27: BP Lekcija 05_ModelObjektiVeze

• Veza u kojoj jedan entitet učestvuje više puta u različitim ulogama naziva se rekurzivna ili unarna veza.

Rekurzivna veza

Model objekti-veze 27

Page 28: BP Lekcija 05_ModelObjektiVeze

• Pored osnovnog, postoji i prošireni model objekti veze, koji omogućava detaljnije definisanje veza između objekata.

• Pored asocijativnih veza koje oslikaju semantiku

Veze

• Pored asocijativnih veza koje oslikaju semantiku udruživanja objekata u sistemu, postoje i specifične veze kojima se izražava hijerarhija i komponovanje objekata.

• Postoje dve reprezentativne vrste ovakvih veza:– Specijalizacija/generalizacija– Agregacija

Model objekti-veze 28

Page 29: BP Lekcija 05_ModelObjektiVeze

• Generalizacija je apstrakcija u kojoj se skup sličnih tipova objekata predstavlja opštim generičkim tipom ili nadtipom– Slični tipovi objekata su oni koji imaju zajedničke

osobine i ponašanje

Generalizacija/specijalizacija

osobine i ponašanje– Npr: klasa Nastavnik i AdmOsoblje se može

generalizovati u klasu Radnik– Podtip nasleđuje osobine (atribute) nadtipa– Podtipovi imaju i neke svoje posebne osobine

• Specijalizacija je obrnuti postupak od generalizacije

• Specijalizacija – izbegavaju se NULL vrednosti

Model objekti-veze 29

Page 30: BP Lekcija 05_ModelObjektiVeze

Generalizacija/specijalizacija

Radnik

gene

raliz

acija

spec

ijaliz

acija

Ime

Adresa

Staž

SifRad

supertype

Model objekti-veze 30

NastavniciAdmOsoblje

gene

raliz

acija

spec

ijaliz

acija

ZvanjeRadnoMesto subtype

Page 31: BP Lekcija 05_ModelObjektiVeze

• Agregacija je klasa veza koja se ponaša kao klasa objekata i može da učestvuje u drugim vezama– Na primer klase objekata Nastavnik i

Predmet povezane su klasom veza Predaje.

Agregacija

Predmet povezane su klasom veza Predaje.– Studenti slušaju predavanja iz određenih

predmeta, ali kod određenih nastavnika– Predstava: klasa veza se posmatra kao

agregacija Kurs– Između klasa objekata Kurs i Student može

se uspostaviti veza Pohadja

Model objekti-veze 31

Page 32: BP Lekcija 05_ModelObjektiVeze

Agregacija

PredmetProfesor Predaje

KursSifN SifP

Model objekti-veze 32

Student

Ime Naziv

Ime

BrInd

Pohađa

Page 33: BP Lekcija 05_ModelObjektiVeze

Primer

Model objekti-veze 33

Page 34: BP Lekcija 05_ModelObjektiVeze

Primer

Model objekti-veze 34

Page 35: BP Lekcija 05_ModelObjektiVeze

• Model objekti veze omogućava potpunije shvatanje funkcionisanja sistema semantičkim opisom objekata i njihovih uzajamnih veza.

MOV- zaključak -

uzajamnih veza. • Korišćenjem DOV pojednostavljuje se

prevođenje logičkog u fizički model podatka.

Model objekti-veze 35

Page 36: BP Lekcija 05_ModelObjektiVeze

Pitanja Pitanja ??

Model objekti-veze 36

Pitanja Pitanja ??