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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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
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 → Ø
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.
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
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.
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.
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.
22
PRETVORBA MODELA ENTITETI-VEZE U RELACIJSKI MODEL
PODATAKA
Izvor: Robert Manger, predavanja iz kolegija Baze podataka, PMF, Zagreb, 2008/09.
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
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
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.
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.
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
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).
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.
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.
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.
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
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
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).
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
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:
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
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:
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
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
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
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.