42
1 na: Glavna literatura za ovo područje je: Mladen Varga, Baze podataka: konceptua modeliranje podataka, DRIP, Zagreb, 1994. PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA Mnogi su koncepti modela entiteti-veze i relacijskog modela jednaki ili slični, što je prikazano u tablici. Model entiteti-veze Relacijski model tip entiteta relacijska shema skup entiteta relacija pojava entiteta n-torka (redak) atribut atribut domena domena (primarni) ključ primarni ključ veza 1:1 i 1:M strani ključ u postojećoj relaciji veza M:M, veze agregacije strani ključevi u novoj relaciji

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

  • Upload
    becca

  • View
    168

  • Download
    3

Embed Size (px)

DESCRIPTION

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA. Mnogi su koncepti modela entiteti-veze i relacijskog modela jednaki ili slični, što je prikazano u tablici. Napomena: Glavna literatura za ovo područje je: Mladen Varga, Baze podataka: konceptualno, logičko - PowerPoint PPT Presentation

Citation preview

Page 1: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

1Napomena: Glavna literatura za ovo područje je: Mladen Varga, Baze podataka: konceptualno, logičkoi fizičko modeliranje podataka, DRIP, Zagreb, 1994.

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAMnogi su koncepti modela entiteti-veze i relacijskog modela jednaki ili slični, što je prikazano u tablici.

Model entiteti-veze Relacijski model

tip entiteta relacijska shema

skup entiteta relacija

pojava entiteta n-torka (redak)

atribut atribut

domena domena

(primarni) ključ primarni ključ

veza 1:1 i 1:M strani ključ u postojećoj relaciji

veza M:M, veze agregacije strani ključevi u novoj relaciji

Page 2: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

2

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAPretvorba konceptualnog modela podataka razvijenog po pravilima modela entiteti-veze u relacijsku shemu baze podataka obavlja se u sljedećim koracima:

• Pretvorba entiteta u relacije (entitet relacija),

• Pretvorba atributa (atribut = atribut),

• Pretvorba veza (veza strani ključ u postojećoj ili novoj relaciji),

• Provjera normaliziranosti dobivene relacijske sheme.

Page 3: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

3

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKA

E1) Jaki entiteti tvore samostalne relacije. Primarni ključ relacije jednak je ključu entiteta.

E2) Identifikacijski slabi entiteti tvore zavisne relacije. Primarni ključ relacije slabog entiteta sastoji se od primarnog ključa relacije nadređenog jakog entitteta (ima i funkciju stranog ključa) i diskriminatora slabog entiteta. Budući dio primarnog ključa ima funkciju stranog ključa, za održavanje integriteta ovog stranog ključa određuje se pravilo kaskadnog obavljanja operacija promjene i brisanja.

Pretvorba entiteta u relacije

Svaki entitet tvori jednu relacijsku shemu. Ključ entiteta postaje primarnim ključem relacije.

Page 4: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

4

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAPretvorba entiteta u relacije

E3) Entiteti podtipovi tvore podrelaciju. Kod ekskluzivne specijalizacije u relaciju entiteta nadtipa može se uvesti atribut po kojem je napravljena specijalizacija.

Primjer: BROD se specijalizira na PUTNIČKI_BROD i TERETNI_BROD -> uvodi se atribut VRSTA_BRODA.

Primarni ključ relacije entiteta podtipa (podrelacije), jednak je ključu relacije entiteta nadtipa. Generalizacija/specijalizacija prikazuje se vezom Jest (Is_a) u kojoj entitet podtip "jest" entitet nadtip. Stoga primarni ključ podrelacije ima istovremeno funkciju stranog ključa. Za održavanje integriteta ovog stranog ključa prikladno je kaskadno obavljanje operacija promjene i brisanja.

Page 5: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

5

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAPretvorba atributa• Atributi entieta postaju atributi relacije. Posebni slučajevi:

A1)Atribut koji ima više vrijednosti (tzv. ponavljajuća grupa) tvori novu zavisnu relaciju. U "dobrom" modeliranju izbjegava se atribut s više vrijednosti, a uvodi se slabi entitet u kojem se nalazi atribut. Primarni ključ tako uvedenog slabog entiteta izabire se po pravilu E2 za izbor ključa zavisne relacije.

A2)Obavezne atribute opisati ograničenjem "ne nul-vrijednosti". Ograničenje se opisuje naznakom NOT NULL u većini SUBP-ova.

A3)Atribute s jedinstvenim vrijednostima opisati ograničenjem "jedinstvenosti vrijednosti". Ograničenje se opisuje naznakom UNIQUE u većini SUBP-ova.

Page 6: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

6

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAPretvorba atributa

A4)Atribute strane ključeve opisati ograničenjem referencijalnog integriteta.

A5)Atribute s ograničenom domenom vrijednosti opisati ograničenjem uz kontrolu odnosno navođenjem domene u kojoj je ograničenje već opisano.

A6)Atributi veze koja se rješava uvođenjem stranog ključa idu u relaciju zajedno sa stranim ključem - kao opisni (neključni) atributi relacije.

A7)Atributi veze koja se rješava uvođenjem nove agregacijske relacije postaju atributi nove relacije - kao opisni (neključni) atributi relacije.

Page 7: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

7

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAMoguća odstupanja od pravila pretvorbe

Zanimljiv je poseban tip atributa s više vrijednosti, tzv. vektor. To je atribut koji ima točno određen broj vrijednosti. Npr. podatak o prihodu poduzeća po mjesecima ima 12 vrijednosti. Već tijekom konceptualnog modeliranja moguća su dva rješenja:

- odrediti 12 različitih atributa (npr. SIJEČANJ, VELJAČA, OŽUJAK itd.)

- utvrditi jedan atribut (npr. MJESEC) i pridijeliti ga novom identifikacijski slabom entitetu.

Page 8: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

8

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAMoguća odstupanja od pravila pretvorbe

NAZIV SIJEČANJ VELJAČA . PROSINAC

Nova 10520 9870 . 13665

Dva rješenja vektorskog atributa

fizički kompaktnije, bliskije korisniku i rabi manje n-torki

NAZIV MJESEC IZNOS

Nova 1 10520

Nova 2 9870

. . .

Nova 12 13665

primjerenije "relacijskom" poimanju podataka

lako se dodaje novi član vektora, a naredbe poput AVG, MIN, MAX i sl. lako se koriste.

Page 9: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

9

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAMoguća odstupanja od pravila pretvorbe

Za entitete nadtip i podtipove postoji osim pravila E3 i drugi način pretvorbe. Umjesto da svaki entitet nadtip i podtip tvori vlastitu relaciju, može se napraviti jedna relacija s atributima entiteta nadtipa i atributima svih podtipova. U toj relaciji svi specifični atributi podtipova mogu imati nul-vrijednosti.

Ako ima razmjerno malo nul-vrijednosti, a njih je manje kod neekskluzivne specijalizacije nego kod ekskluzivne, i ako se traže dobre karakteristike pretraživanja, ovo je rješenje vrlo prihvatljivo.

Page 10: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

10

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAMoguća odstupanja od pravila pretvorbe

Ponekad je teško pronaći dobar primarni ključ, posebice ako se u praksi ne zahtijeva jednoznačna identifikacija entiteta. U takvim slučajevima ključ je često sastavljen od skupa atributa, a u krajnjem slučaju i od svih atributa relacije. Kad ovakav ključ postane i strani ključ, njegova uporaba postaje složena. Stoga valja razmotriti uporabu umjetnog ključa (surogata) koji će biti jednostavan (redovito ima vrijednosti prirodnih brojeva), jedinstven i lak za korištenje. Neki SUBP-ovi mogu ga sami generirati.

Page 11: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

11

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAPretvorba binarnih veza

• Veza se rješava prenošenjem primarnog ključa u (drugu) relaciju gdje on postaje strani ključ.V1) U vezi 1:1 uvesti strani ključ u relaciju s manje n-torki ili

zadržati prirodnu vezu "roditelj-dijete". Na taj način bit će manje nul-vrijednosti. Moguća su i druga rješenja, ovisno o kardinalnosti veze:a) Veza 1,1:1,1 može se riješiti i uvođenjem svih atributa jednog entiteta u relaciju drugog entiteta, jer je broj pojava oba entiteta jednak. Za primarni ključ se izabire ključ jednog od entiteta što sudjeluju u vezi.b) U vezi 0,1:1,1 uvodi se strani ključ u relaciju entiteta koji obavezno sudjeluje u vezi.c)Veza 0,1:0,1 može se riješiti i uvođenjem nove relacije kao u vezi M:M (pravilo V3), ali s razlikom da se za primarni ključ izabire ključ jednog od entiteta.

Page 12: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

12

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAPretvorba binarnih veza

V2)U vezi 1:M uvesti strani ključ u relaciju na strani M. Ovo sigurno vrijedi za vezu 1,1:0,M. Za vezu 0,1:0,M drugo rješenje je uvođenje nove relacije kao u vezi M:M (pravilo V3), ali s razlikom da se za primarni ključ uzima ključ entiteta na strani M.

V3)U vezi M:M otvoriti novu relaciju. Vrijedi za sve kombinacije kardinalnosti veze M:M. Nova relacija zove se agregacijskom, asocijativnom ili veznom. Primarni ključ agregacijske relacije uvijek je sastavljen od primarnih ključeva relacija što čine agregaciju. Dijelovi primarnog ključa agregacijske relacije koji odgovaraju primarnim ključevima relacija u agregaciji imaju funkciju stranih ključeva prema tim relacijama. Za održavanje integriteta ovih stranih ključeva ne smije se rabiti nuliranje u operacijama promjene i brisanja.

Page 13: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

13

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAPretvorba veza višeg stupnja

V4) Otvoriti novu relaciju (slično vezi M:M). Nova relacija ima toliko stranih ključeva koliki je stupanj veze. Npr., u ternarnoj vezi tri su strana ključa i od njih se formira primarni ključ.

Sudjeluju li u ternarnoj vezi entiteti A, B i C (tim redoslijedom je opisana kardinalnost veze), primarni ključ nove relacije je jedan od mogućih ključeva:• 1:1:1 - mogući ključevi: ključA, ključB

ključA, ključC

ključB, ključC• 1:1:M - mogući ključevi: ključA, ključC

ključB, ključC• 1:M:M – primarni ključ: ključB, ključC• M:M:M - primarni ključ: ključA, ključB, ključC

Page 14: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

14

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAPretvorba veza

• Višestruke binarne veze dvaju entiteta:• veze 1:1 i 1:M mogu se realizirati u istoj relaciji

(stranim ključevima)• veze M:M ne smiju se realizirati istom relacijom, nego zasebnim

agregacijskim relacijama.

Page 15: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

15

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAPretvorba veza

Primarni ključ lako je utvrditi pronađu li se primarne funkcijske zavisnosti, prikazane na slici na sljedećem slajdu, koje proizlaze iz ključeva entiteta koji sudjeluju u vezi. Sve agregacijske relacije dobivene pretvorbom binarnih veza tipa M:M i svih veza višeg stupnja proizlaze iz takvih funkcijskih zavisnosti. Vidi se da npr. ternarna veza tipa 1:M:M ima primarni ključ sastavljen od ključeva entiteta B i C.

• Primarne (međuentitetske) funkcijske zavisnosti:• Za veze u kojima sudjeluju entiteti A, B (binarna) i C (ternarna veza)• Kod veza nastalih specijalizacijom/agregacijom ne formiraju se

primarne funkcijske zavisnosti

• Sekundarne (unutarentitetske) zavisnosti

Page 16: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

16

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAPretvorba vezaPrimarne funkcijske zavisnosti

A:B:C Funkcijske zavisnosti

1:1 KljučA → KljučB

KljučB → KljučA

1:M KljučB → KljučA

M:M KljučA, KljučB (sastavljen ključ) → Ø

1:1:1 KljučA, KljučB → KljučC

KljučA, KljučC → KljučB

KljučB, KljučC → KljučA

1:1:M KljučA, KljučC → KljučB

KljučB, KljučC → KljučA

1:M:M KljučB, KljučC → KljučA

M:M:M KljučA, KljučB, KljučC → Ø

Page 17: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

17

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAPretvorba veza

Slika na sljedećem slajdu pokazuje pravila pretvorbe osnovnih tipova veze u relacijsku shemu. Na lijevoj se strani nalazi dijagram entiteti-veze. Tamo gdje kardinalnost može poprimiti bilo koju dozvoljenu vrijednost stavljena je oznaka x. Na desnoj strani dobivena je relacijska shema u kojoj je primarni ključ potcrtan. Za ternarnu vezu prikazan je opći slučaj s kardinalnošću M:M:M u kojem je primarni ključ agregacijske relacije sastavljen od sva tri ključa entiteta u vezi. Ako je kardinalnost veze drugačija (1:1:1, 1:1:M ili 1:M:M), ključ se lako određuje prema pravilu V4 za ternarne veze.

Višestruke veze dvaju entiteta su nezavisne. Binarne veze 1:1 i 1:M mogu se realizirati u istoj relaciji uvođenjem dvaju stranih ključeva. Ali to ne vrijedi za dvije veze M:M. One se ne smiju realizirati istom relacijom, nego s dvije agregacijske relacije.

Page 18: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

A(ključA,…,ključB,atribut)B(ključB,…)

A(ključA,…,)B(ključB,…,)A_B(ključA,ključB,atribut)

A B

atribut

x,M x,M

A B

atribut

x,x x,1

B C

atribut

x,M x,M

A

x,M

A(ključA,…,)B(ključB,…,)C(ključC,…,)A_B_C(ključA,ključB,ključC,atribut)

Pravila pretvorbe veza u relacijsku shemu

18

Page 19: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

19

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAPrimjeri pretvorbe veza:

ODJEL

Zaposlenje

OSOBA

zapošljava(radno mjesto)

radi(radnik)

0,1

1,M

ODJEL(ODJEL__KLJUČ,…)OSOBA(OSOBA__KLJUČ,…,ODJEL__KLJUČ )

U dijagramu nisu ucrtani atributi, pa je ODJEL__KLJUČ uzet za ključ, podcrtan je i ima funkciju primarnog ključa. Točkama su naznačeni opisni, neključni atributi.Strani ključ uveden pravilom V2 pisan je kurzivom.

Page 20: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

20

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAPrimjeri pretvorbe veza:STUDENT

NASTAVNIK PREDMETKlasa_

predavanja

1,M

1,1 0,M

sluša

predaje okuplja

STUDENT(STUDENT__KLJUČ,...)NASTAVNIK(NASTAVNIK__KLJUČ,...)PREDMET(PREDMET__KLJUČ,...)KLASA_PREDAVANJA(STUDENT__KLJUČ,PREDMET__KLJUČ,NASTAVNIK_KLJUČ)

Nova relacija KLASA_PREDAVANJA uvedena je po pravilu V4.

Page 21: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

21

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAPrimjeri pretvorbe veza:

0,MPROIZVOD

Šifra Naziv

SASTAV_PROIZVODA

Količina

0,M

sastoji se od u sastavu

PROIZVOD(ŠIFRA, NAZIV)SASTAV_PROIZVODA(ŠIFRA__NAD, ŠIFRA__POD, KOLIČINA)

Nova relacijaSASTAV_PROIZVODA uvedena je pravilom V3.ŠIFRA_NAD predstavlja šifru nadproizvoda, a ŠIFRA_POD šifru podpro- izvoda.Obje odgovaraju ŠIFRI proizvoda, ali su preimenovane jer relacija ne smije imati dva atributa jednakog naziva.

Page 22: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

22

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKA

Izvor: Robert Manger, predavanja iz kolegija Baze podataka, PMF, Zagreb, 2008/09.

Page 23: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

23

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKADobar model entiteti-veze pretvorbom daje relacijsku shemu baze podataka koja se nalazi barem u 3NF. Naime, "normalizirani" entiteti pretvaraju se u normalizirane relacije, a uvedeni strani ključevi ne unose smetajuće funkcijske zavisnosti u relacije.

Provjera normaliziranosti relacija temelji se na uočavanju primarnih i sekundarnih funkcijskih zavisnosti. Primarne funkcijske zavisnosti međuentitetne su zavisnosti koje vrijede među ključevima različitih entiteta odnosno relacija, a sekundarne funkcijske zavisnosti unutarentitetne su zavisnosti koje vrijede unutar jednog entiteta odnosno relacije.

Provjera jesu li relacije u normalnoj formi

Page 24: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

24

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKA1. Izvođenje primarnih funkcijskih zavisnosti: Za veze u kojima

sudjeluju entiteti A, B (u binarnoj) i C (u ternarnoj) primarne funkcijske zavisnosti izvode se kao na slici na slajdu 16 kod pretvorbe veza. Kod veza nastalih specijalizacijom/ generalizacijom ne formiraju se primarne funkcijske zavisnosti.

2. Ispitivanje relacija na sekundarne (unutarentitetske) funkcijske i ostale zavisnosti (npr. višeznačne).

3. Normalizacija nenormaliziranih relacija: Ako sve funkcijske zavisnosti (primarne i sekundarne) u relaciji proizlaze samo iz primarnog ključa, relacija je normalizirana (barem u 3NF). Ako se utvrdi da relacije nisu dovoljno normalizirane, potrebno ih je normalizirati uobičajenim postupkom normalizacije.

Koraci pri provjeri jesu li relacije u normalnoj formi

Page 25: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

25

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAKoraci pri provjeri jesu li relacije u normalnoj formi

Projektant konceptualnog modela treba znati teoriju normalizacije i što je "normalizirani" entitet.

Osnovno pravilo modeliranja "normaliziranih" entiteta odnosno intuitivne normalizacije:

Svaki "normalizirani" entitet:

a) mora biti definiran skupom (vlastitih) atributa koji opisuju samo vlastita, entitetu prirođena (inherentna) obilježja odnosno svojstva,

b) mora imati podskup atributa (ključ) koji omogućuju jednoznačno identificiranje svake pojave entiteta.

Page 26: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

26

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAKoraci pri provjeri jesu li relacije u normalnoj formi

Svaki atribut koji se ne može pripisati samo promatranom entitetu nije vlastiti atribut. On ukazuje na povezanost s drugim entitetom koji ima isti takav atribut. Tijekom konceptualnog modeliranja takav atribut treba izbaciti iz entiteta, te utvrditi vezu prema drugom entitetu. U relacijskoj teoriji nevlastiti atribut ima funkciju stranog ključa. Budući se u modelu entiteti-veze povezivanje entiteta obavlja vezom, a ne stranim ključem, takav atribut (strani ključ) nije potreban.

Studijski primjer – knjiga Mladen Varga, Baze podataka: konceptualno, logičkoi fizičko modeliranje podataka, DRIP, Zagreb, 1994.

Page 27: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

27

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKA

Zadana su dva pojednostavljena entiteta iz baze podataka KNJIŽNICA (npr. u Martinovom prikazu):

Primjer pretvorbe veze M:M modela entiteti-veze u dvije veze 1:M (relacijski model)

napisatiKNJIGA AUTOR

ima

ISBN AutorIDNaslov ImeGodina PrezimeStranica InfoVrstaIDIzdavacID

Page 28: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

28

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAPrimjer pretvorbe veze M:M modela entiteti-veze u dvije veze 1:M (relacijski model)

Veza M:M ne može postojati u relacijskom modelu podataka i ne može se ostvariti u MS Accessu. Dakle, potrebno je takvu vezu riješiti dodavanjem još jednog entiteta (relacije, tablice). Takav entitet naziva se još i međuentitet ili agregacijski entitet. Uvodimo relaciju (tablicu) KNJIGA_AUTOR između tablica KNJIGA i AUTOR. Između tablica KNJIGA i KNJIGA_AUTOR uspostavlja se jedna veza 1:M, a između tablica AUTOR i KNJIGA_AUTOR uspostavlja se druga veza 1:M.

Važno je istaknuti da se primarni ključ tablice KNJIGA_AUTOR sastoji od primarnog ključa tablice KNJIGA (ISBN) i primarnog ključa tablice AUTOR (AutorID).

Page 29: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

29

PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL

PODATAKAPrimjer pretvorbe veze M:M modela entiteti-veze u dvije veze 1:M (relacijski model)

Objašnjenje potkrepljujemo prikazom veza kao u prozoru Relationships u MS Accessu.

Page 30: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

30

FIZIČKO MODELIRANJE PODATAKA

Fizičko modeliranje polazi od logičkog odnosno implementacijskog modela, a rezultira izrađenim fizičkim modelom. Fizički model je opis stvarne fizičke organizacije podataka, točnije baze podataka realizirane na medijima za memoriranje podataka.

Fizički zapis je skup povezanih jedinica podataka, koji čini osnovnu fizičku jedinicu podataka. On je fizička realizacija logičkog zapisa. Odnos fizičkog i logičkog zapisa je proizvoljan, ali se najčešće jedan logički zapis realizira jednim fizičkim zapisom. Osim "čistih" podataka fizički zapis sadrži i druge pomoćne podatke potrebne za prikaz i postupanje sa zapisima u računalu (pokazivače, kontrolne podatke i sl.). Ti podaci se nazivaju meta-podaci.

Page 31: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

31

FIZIČKO MODELIRANJE PODATAKA

Skup fizičkih zapisa čini fizičku datoteku, a skup međusobno povezanih fizičkih zapisa raznih tipova čini fizičku bazu podataka.

Page 32: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

32

ODLUKE FIZIČKOG MODELIRANJA

Potrebno je napraviti izmjene logičkog modeliranja tako da baza podataka odgovara specifičnoj situaciji jer nema točno određenog recepta ni pravila koja se mogu dosljedno provoditi za svaku bazu podataka.

U ove promjene spadaju:

1. Denormalizacija i

2. Particija

Promjene logičkog modeliranja

Page 33: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

33

ODLUKE FIZIČKOG MODELIRANJAPromjene logičkog modeliranja

Denormalizacija:

Denormalizacija je obrnuti proces od normalizacije. Kod normalizacije se tablice razdvajaju, a ovdje se prema potrebi ponovno spajaju.

Zašto?

Ako su veze složene (komplicirane)

Ako se tablice često ne mijenjaju, a dobivaju složene upite

Ako se gubi smisao veze (funkcijska zavisnost)

Particija:

• Horizontalna – Redovi se dijele u više datotetka

• Vertikalna – Stupci se dijele u više datotetka

Page 34: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

34

ODLUKE FIZIČKOG MODELIRANJAPromjene logičkog modeliranja

Logičko <-> Fizičko

Npr. baza podataka u MS Accessu "Biblioteka.mdb"

• Fizičko: To je fizička datoteka koja sadrži MS Access bazu podataka

• Logičko: "Biblioteka" se sastoji od tablica KNJIGE, AUTORI,… (logička datoteka)

Određivanje tipova podataka atributa

Određivanje kojeg tipa podatak će biti određeni atribut. Npr. "Ime" će biti tekstualnog tipa (točan naziv tipa ovisi o tome koji sustav za upravljanje bazom podataka se koristi; za MS Access je to TEXT).

Page 35: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

35

ODLUKE FIZIČKOG MODELIRANJA

Određuje se kako će biti organizirane datoteke na vanjskoj memoriji (disku).

METODE PRISTUPA ZAPISIMA:

Ne postoji metoda pristupa zapisima (slogovima) koja je najbolja u obavljanju svih operacija. U izboru metode pristupa zapisima mogu pomoći dvije mjere: omjer čitanja zapisa (CR), koji pokazuje odnos broja pročitanih prema ukupnom broju zapisa u datoteci, te omjer promijenjenih zapisa (UF), koji pokazuje odnos broja promijenjenih prema ukupnom broju zapisa.

Određivanje fizičke organizacije datoteka

Page 36: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

36

ODLUKE FIZIČKOG MODELIRANJA

U sekvencijalnom (serijskom) pristupu zapisima se pristupa jedan za drugim, od prvog u datoteci prema posljednjem. Sekvencijalni pristup pogodan je za obrade u kojima je CR ili CR+UF blizu ili jednako 1, dakle za grupnu obradu zapisa.

U izravnom (direktnom) pristupu zapisu se pristupa preko njegovog ključa. Pristup zapisu je najviše u nekoliko koraka, a idealno u jednom koraku. Ovaj pristup pogodan je za obrade u kojima je CR ili CR+UF malen ili blizu 0, dakle za pojedinačnu (transakcijsku) obradu zapisa.

METODE PRISTUPA ZAPISIMA:

Page 37: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

37

ODLUKE FIZIČKOG MODELIRANJAMETODE PRISTUPA ZAPISIMA:

Karakteristika Sekvencijalna Direktna Indeksna

Pristup sekvencijalan izravan (direktan)

neizravan

Broj koraka prosječno N/2 1(2) 2(3)

Iskorištenost prostora

potpuna slaba srednja

Obrada zapisa grupna pojedinačna pojedinačna, grupna

Karakteristike glavnih metoda

Page 38: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

38

ODLUKE FIZIČKOG MODELIRANJA

Procesom indeksiranja se stvara pomoćna datoteka koja sadrži pokazivače na zapise sortirane po određenom kriteriju. (Ako se često sortira prema prezimenu onda je dobro indeksirati prezime.)

Indeksi ubrzavaju pristup podacima, a time i pretraživanje baze, ali usporavaju promjene. Prevelik broj indeksa usporava rad baze podataka tako da se gubi prednost indeksiranja. Indeksiranje je beskorisno ako u indeksiranom stupcu ima puno istih podataka (u tom slučaju je porebno preispitati normalizaciju).

Metode pristupa zapisima - Indeksni pristup:

Page 39: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

ODLUKE FIZIČKOG MODELIRANJA

Indeksni pristup:

Sekvencijalna lista

1 McCarthy

2 Levstein

3 Allen

4 Williams

5 Thacker

6 Brown

7 Hinzman

8 Berlin

9 Dailey

10 Gray

Indeksirana lista

Allen 3

Berlin 8

Brown 6

Dailey 9

Gray 10

Hinzman 7

Levstein 2

McCarthy 1

Thacker 5

Williams 4

Upit: "Berlin"

39

Page 40: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

ODLUKE FIZIČKOG MODELIRANJA

Indeksni pristup:Sekvencijalna lista

1 McCarthy

2 Levstein

3 Allen

4 Williams

5 Thacker

6 Brown

7 Hinzman

8 Berlin

9 Dailey

10 Gray

Upit: "Berlin"

Sekvencijalno pretraživanje

počinje na prvom redu i pretražuje

zapise do pronalaženja

traženog.

8 ciklusa

Kliknite za početak

40

Page 41: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

ODLUKE FIZIČKOG MODELIRANJA

Indeksni pristup:Indeksirana lista

Allen 3

Berlin 8

Brown 6

Dailey 9

Gray 10

Hinzman 7

Levstein 2

McCarthy 1

Thacker 5

Williams 4

Upit: "Berlin"

Indeksno pretraživanje ide na

sredinu i miče se gore ili dolje za pola preostalih

zapisa

Kliknite za početak

3 ciklusa41

Page 42: PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL PODATAKA

42

1. Koristite indekse za veće tablice

2. Indeksirajte primarni ključ

3. Indeksirajte polja za pretraživanje

4. Koristite indekse za broj zapisa >100, ali ne <30

5. Provjerite koja ograničenja za broj indeksa ima SUBP

6. Ne koristiti indekse ako će u poljima biti NULL vrijednosti

7. Koristiti indekse za postojane podatke

8. Koristiti indekse za polja iz uvjeta pretraživanja

ODLUKE FIZIČKOG MODELIRANJA

Pravila za korištenje indeksa:Pravila za korištenje indeksa:

Odabir indeksa:Odabir indeksa:Stvara se tablica indeksa da bi se odredile lokacije redova (zapisa) u datoteci koji zadovoljavaju određeni uvjet.