0% found this document useful (0 votes)
96 views50 pages

BP02 Mov

This document discusses the entity-relationship model (ER model) and its concepts, including entity types, relationships, attributes, and constraints. It provides examples of entity types, relationships, and attributes defined according to both the original Chen notation and the IDEF1X standard, which is based on ERwin, a commonly used data modeling tool. It also describes the different entity types, relationships, attributes, and constraints that can be defined and how they are represented in an ER diagram.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views50 pages

BP02 Mov

This document discusses the entity-relationship model (ER model) and its concepts, including entity types, relationships, attributes, and constraints. It provides examples of entity types, relationships, and attributes defined according to both the original Chen notation and the IDEF1X standard, which is based on ERwin, a commonly used data modeling tool. It also describes the different entity types, relationships, attributes, and constraints that can be defined and how they are represented in an ER diagram.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 50

MODEL OBJEKTI - VEZE

KONCEPTI MODELA METODOLOGIJA MODELIRANJA

MODEL OBJEKTI - VEZE

MODELI PODATAKA
Model objekti-veze Relacioni model Objektni model Objektno-relacioni model Aktivne baze podataka XML kao model podataka

MODEL OBJEKTI - VEZE


Model objekti-veze je najpopularniji i u praksi projektovanja BP najvie korieni konvencionalni model podatka. Postoji vie razliitih verzija ovog modela. Ovde se izlae verzija koja polazi od originalne Chen-ove verzije i notacije. Bie prikazana i notacija standarda IDEF1X, na kome se bazira CASE alat ERwin, veoma esto korieni alat za modeliranje podataka preko Modela objekti veze.

OSNOVNI KONCEPTI PMOV


(1,1)Radi Radnik Zapo{ ljavanje (0,1)Rukovodi Rukovo| eno (1,1) Zapo{ ljava (0,M) Odelenje

(0,M) Pravi

Rukovo| enje Asortiman (0,M) Napravljen (0,M) Sastavljen

Struktura

Proizvod (0,M) Ugra| en


4

Definicija atributa
Matbr (1,1)Mlb Adrese Jezici Imena (1,1)NazivOd Zapo{ ljava (0,M) Zapo{ ljavanje [ ifraOdel (1,1)[ ifOd (1,M)ZnaJezik (1,1)Adresa (1,1)ImeR (1,1)Radi Radnik (0,1)Rukovodi (1,M) Isplate Rukovo| enje Godine Plate

Odelenje

(1,1)Starost

Rukovo| eno (1,1)

Mlb: Radnik ----> Matbr ImeR: Radnik ----> Imena ZnaJezik: Radnik ----> Jezici

(1,1) (1,1) (1,M)


5

Definicija atributa - rekapitulacija


U MOV se ne koriste vieznani atributi Svi atributi moraju da budu primenljiva svojstva na sve objekte u odgovarajuoj klasi. Zbog toga je donja granica kardinalnosti atributa (preslikavanje KLASA-->DOMEN) uvek DG = 1. Kako se ne koriste vieznani atributi, to je za ovo preslikavanje i GG = 1, pa se kardinalnosti atributa ne moraju predstavljati na DOV

Definicija atributa - rekapitulacija

Atributi identifikatori objekata mogu se posebno oznaiti (na primer sa zvezdicom, ili podvlaenjem). U MOV se ne koriste semantiki domeni, niti se moe uspostaviti bilo kakva veza izmeu atributa jedne ili vie klasa.

Jezici ImeR Adresa Mlb* Starost Zna 0,M

NazivJ

[ ifOd* ZnaJezik 1,M Radnik (1,M)

NazivOd

(1,1)Radi

Zapo{ ljava (0,M) Odeljenje

Zapo{ ljavanje (0,1)Rukovodi Rukovo| eno (1,1)

Datum

Rukovo| enje Isplate

Iznos

Pored Dijagrama objekti veze, neophodno je dati i definiciju atributa, odnosno njihovih domena. U sledeoj tabeli dati su primeri definicija atributa sa ogranienjima:
ATRIBUT Mlb NazivJ Adresa Datum Starost ifOd DOMEN long string string date short short Between 15,65 Moduo_11 OGRANIENJE NotNull And Substring(1,2) Between 1,31 And Substring(3,4) Between 1,12 .... In(Srpski, Ruski, Engleski, Nemaki)

Tabela 2.1. Definicija atributa sa ogranienjima


9

GENERALIZACIJA - SPECIJALIZACIJA
Mlb* Ime Starost

Gra| anin Vrsta (0,M) S Penzija

Semestar BrojInd

Student

Radnik

Dete RadniOdnos(1,1)

Penzioner

Plata

S Zanimanje(0,1)

Dodatak

Daktilograf

Voza~

Lekar

Satnica

KlasaDakt

KlasaVoz

Specijalnost RadnoMesto

Stalni

Privremeni

10

AGREGACIJA I DEKOMPOZICIJA
BrojInd Ime (0,M) Student Prijava (1,1) Smer [ ifraNast Overe (0,M) Nastavnik Zvanje ImeNast DatumPol Ocena (0,M) Predmet [ ifPred NaziPred

Slika 2.5. Agregacija (dekompozicija)


11

AGREGACIJA I DEKOMPOZICIJA

Dobavlja~

(0,M)

Obskrba (0,M)

(0,M)

Proizvod

Projekat

Slika 2.6. Viestruke veze izmeu objekata agregacija


12

RegBroj

Marka

Boja

[ ifNast

ImeNast

Kola (1,1) Parkira BrojInd (0,1) Student (0,M) Ime Semestar (0,M) (1,M) Registr Prijava (0,M) (0,M) Datum Ocena [ ifPred

Nastavnik (0,1) Predaje (0,M) Predmet (1,1) Pripada (1,M) [ ifKat NazivKat Katedra [ ifProj (0,M) U~estv. (),M) NazivProj Projekat (1,M) [ ifZad Zadatak NazivPred

Vrsta(0,1) Imaju

(1,M) Roditelj S . ImeRod Vanredni (1,1) Zaposl (0,M) Preduze} e Zanimanje

Mlb

RegBroj

NazivPred

NazivZad

OpisZad

DOV za fakultetski IS

13

OGRANIENJA
Strukturna ogranienja (ogranienja na preslikavanja), koja su prikazana na samom modelu; Vrednosna ogranienja (ogranienja na vrednosti atributa): Prosta ogranienja na vrednosti pojedinanih atributa Sloena ogranienja koja povezuju vrednosti vie atributa istog i/ili razliitih objekata. Mogue je definisati formalni jezik za iskazivanje vrednosnih ogranienja.

14

Jezik za iskazivanje vrednosnih ogranienja


Za iskazivanje vrednosnih ogranienja koriste se formule tzv. Objektnog rauna. Pod Objektnim raunom se ovde podrazumeva Predikatski raun prvog reda u kome promenljive uzimaju vrednosti iz definisanih klasa objekata u sistemu. injenica da promenljiva uzima vrednost iz neke klase objekta oznaava se na sledei nain: x : O, gde je x pojavljivanje, a O klasa nekog objekta, odnosno promenljiva x uzima vrednosti iz skupa pojavljivanja objekta O. x' oznaava vrednost promenljive pre operacije auriranja, dok x oznaava vrednost promenljive posle operacije auriranja. Obe vrednosti su neophodne da bi se iskazala dozvoljena promena stanja u modelu podataka.
15

Takozvana "dot notacija" se koristi da povee promenljive iz dve klase objekata preko nekog preslikavanja definisanog u modelu.

Iskaz
x : O.P, oznaava da x (odnosno x') uzima vrednosti iz klase koja je kodomen preslikavanja P klase O.

16

Atomske formule, odnosno simboli koji se koriste da oznae neki atomski predikat su:
x.A y.B gde su x i y promenljive (objekti), A i B su atributi tipova objekata O1 i O2 iz ijih pojavljivanja, respektivno, promenljive x i y uzimaju vrednosti (x : O1, y : O2), a je operacija poreenja (na primer <, >, =, Between,...), definisana nad domenom atributa A i B (A i B moraju biti definisani nad istim domenom). x.A C, gde su x, A i kao i u prethodnom stavu, a C je konstanta koja ima isti domen kao i A.

17

Formule objektnog rauna (ddf) formiraju se preko sledeih produkcionih pravila (sintakse):

ddf:: = atom | (ddf) | Not ddf | ddf And ddf | ddf Or ddf | Exists naziv-_promenljive (ddf) | Foreach naziv_promenljive (ddf) | If ddf Then ddf
18

Ogranienje se definie na sledei nain:

definicija_promenljivih naziv_ogranienja (lista_promenljivih) : = ddf;


Na primer: x : Student Ogr1 (x) := x.Semestar Between 1, 9; Ako se usvoji konvencija da promenljiva dobije naziv klase iz koje uzima vrednost, tada se ona ne mora deklarisati. Po ovoj konvenciji, gornje ogranienje bi bilo: Ogr1 (Student) : = Student.Semestar Between 1 i 9;
19

Primeri:
(1) Student petog ili vieg semestra mora da ima vie od 10 poloenih ispita. Ogr2(Student,Prijava) : = Foreach Student (If Student.Semestar >= 5 Then Card (Student.Prijava) >10); Ovde je uvedena funkcija Card (S) koja daje broj elemenata skupa S

20

Primeri:
(2) Student treeg semestra je poloio Matematiku. Ogr3(Student,Prijava ,Predmet) : = Foreach Student (If Student.Semestar = 3 Then Exists Student.Prijava (Student.Prijava.Predmet. NazivPr ='<Matematika'));

21

Primeri:
(3) Pretpostavimo da u modelu na Slici 2.7 Student ima i izvedeni atribut ProsOc (prosena ocena). Tada oigledno vai sledee ogranienje: Ogr4(Student,Prijava) : = Foreach Student (Student.ProsOc = Suma (Student. Prijava.Ocena) / Prijava);

Card

(Student.

22

Primeri:
4) Ocena studenta iz nekog predmeta ne moe opadati: x:Prijava, x' : Prijava Ogr5(x, x', Student, Predmet)= Foreach x Foreach x' (If x.Student.BrojInd = x'.Student. BrojInd And x.Predmet.ifPred = x'. Predmet.ifPred Then x'.Ocena x.Ocena)

23

OPERACIJE
Oigledno je da se u MOV mogu definisati sledee operacije odravanja baze podataka, analogne operacijama u Mrenom modelu: Ubacivanje (Insert) novog pojavljivanja objekta u klasu, Izbacivanje (Delete) pojavljivanja objekta iz klase, Auriranje (Update) odnosno izmena vrednosti nekog atributa datog pojavljivanja objekta neke klase, Povezivanje (Connect) pojavljivanja O1 klase A sa pojavljivanjem O2 klase B, Razvezivanje (Disconnect) pojavljivanja O1 klase A od pojavljivanja O2 klase B i Prevezivanje (Reconnect) pojavljivanja O1 klase A od pojavljivanja O2 klase B.
24

DINAMIKA PRAVILA INTEGRITETA


Pravila integriteta definiu dozvoljena stanja i dozvoljene prelaze sistema iz stanja u stanje; ini ga trojka <Ogranienje, Operacija, Akcija> preko koje se iskazuje koje se akcija preduzima kada neka operacija narui definisano ogranienje. Opta sintaksna konstrukcija za iskazivanje pravila integriteta je:

CREATE INTEGRITY RULE <naziv_pravila> ogranienje | naziv-ogranienja ON ATTEMPTED VIOLATION akcija


25

Strukturna dinamicka pravila integriteta i fiziki MOV


[ ifraSind Sindikat NazivSind (0,M) ^ lanstvo (0,1) Radnik Zaposlenje Adresa DatumPo~ (1,1) (O,M) (1,M) ImeRadn (0,M) Isplate (0,M) Preduze} e Asort OpisPro S Amortizacija O Vrsta(1.1) NazivPro Koli~inaNar (O,M) Proizvod (0,M) RegBroj DelPred [ ifPro (0,M) Podr (0,M)Nadr Delatnost NazivDelatn Sastavnica [ ifDelatn KolUgradnje

[ ifraRad

DatumZavr{

NazivPred

Datum

Iznos

Ma{ ina

Materijal

26

Strukturna dinamicka pravila integriteta i fiziki MOV


Operacija Insert Radnik Preslikavanje Radnik --> Zaposlenje Radnik --> lanstvo Radnik --> Isplate Delete Radnik Radnik --> Zaposlenje Radnik --> lanstvo Radnik --> Isplate Insert lanstvo lanstvo --> Radnik lanstvo --> Sindikat Delete lanstvo lanstvo --> Radnik lanstvo --> Sindikat Inset Zaposlenje Zaposlenje --> Radnik Zaposlenje --> Preduzee Delete Zaposlenje Zaposlenje --> Radnik Opcija Cascades Cascades Cascades Restrict SetNull Restrict Restrict Cascade

27

VERZIJE MOV-a: IDEF1x standard

28

Veze po PMOV sintaksi

29

Veze po IDEF1x i IE standardu

30

VERZIJE MOV-a: IDEF1x standard

31

VERZIJE MOV-a: IDEF1x standard

32

a) jedan:vise identifikujua veza b) jedan:vise neidentifikujua veza c) nespecificirana veza

33

Objekti po PMOV sintaksi

34

Objekti po IDEF1x standardu

35

Atributi i domeni

36

Viseznani atributi

37

Viseznani atributi

38

Viseznani atributi

39

Viseznani atributi

40

letova u toku dana (let je identifikovan preko datuma i vremena poletanja aviona). Karta sadri podatke o avionskoj liniji, prezimenu i imenu putnika, mestu polazita, mestu krajnjeg odredita, datumu izdavanja, roku vaenja i ceni. Kuponi karte sadre identine podatke i podatke o pojedinanim letovima izmedu polazita i krajnjeg odredita: mesto poletanja, mesto sletanja, osnovni podaci o avionu. broj leta, klasa sedita, datum i vreme poletanja.

Primer 1: Avionska karta za jednu standardnu avio-liniju moe biti sastavljena od vie kupona. Jedna linija moe da ukljui vie letova na relaciji izmedju mesta polaska i mesta krajnjeg odredita. Svaki avion obino ima nekoliko

41

42

43

44

45

Generalizacija i specijalizacija

46

VERZIJE MOV-a: IDEF1x standard

47

VERZIJE MOV-a: IDEF1x standard

48

Agregacija

49

VERZIJE MOV-a: IDEF1x standard

50

You might also like