Professional Documents
Culture Documents
k.2015/2016.god.
1. UVOD
1
U ovom maturskom radu emo govorit o PRIMARNOM KLJUU kao i o njegovim
specifinostima. Najvie emo panje obratit na to zato je primarni klju bitan za baze
podataka tekako se postavlja i kako se brie.
Rei emo koje vrste imamo primarnih kljueva, njihovu funkciju i rei emo to je to
AUTONUM.
Najprije emo rei nesto o bazama podataka da bi nam bilo to jasnije o temi kojoj
priamo.
U drugom dijelu maturskog rada emo priati o samoj temi tj. primarnom kljuu, koje
vrste imamo te neto o njegovim funkcijama.
2
2. BAZA PODATAKA
Kao kljuni dio svake baze podataka izdvaja se sistem za upravljanje bazompodataka,
koji predstavlja softverski sistem, tj. specifinutehnologiju obrade velike koliine podataka i
obezbjeuje jednostavnopretraivanje i odravanje, paralelno koritenje istog skupa
podataka,pouzdanost, sigurnost itd. Na primjer, i Access je, ukratko reeno, sistem
zaupravljanje bazama podataka.
Integritet baze podataka ini skup pravila koji obezbjeuje ispravnost zavisnosti i
nepromenljivosti stanja baze podataka prilikom unoenja, osvjeavanja i brisanja podataka.
Osnovno pravilo integriteta baze podataka je da za svaki atribut sekundarne tabele mora
postojati samo jedan odgovarajui atribut u primarnoj tabeli.
Nije mogue uneti atribut u sekundarnu tabelu, ukoliko ne postoji atribut u primarnoj
tabeli.
Ne moe se ukloniti atribut primarne tabele, ukoliko postoji slog koji je povezan u
sekundarnoj tabeli.
Nije dozvoljena izmena atributa u sekundarnoj tabeli ako za strani klju nema
odgovarajue vrednosti u primarnoj tabeli.
Ne moe se izmjeniti vrednost primarnog kljua u primarnoj tabeli sve dok postoji
povezan atribut u sekundarnoj tabeli.
Ova pravila pomau odravanju kompletne i pouzdane baze podataka. Bazu podataka
treba najprije paljivo isplanirati, pa tek onda kreirati i oblikovati.
3
2.2. Vrste baze podataka
3. PRIMARNI KLJU
Moramo imati nain kako specifirati podatke unutar odreene relacije. Moramo
definirati vrijednosti koje e biti jedinstvene za svaki atribut ponaosob, znai da ne moe
jedna vrijednost biti pripisana dva razliita atributa.
super klju (superkey) atribut ili skup atributa koji jedinstveno odreuje n-torku
unutar relacije,
kandidat klju (candidate key) super klju takav da nema nijedan odgovarajui
podskup koji bi bio super klju unutar relacije,
primarni klju (primary key) kandidat klju koji je odabran da jedinstveno odredi n-
torku unutar relacije,
jedinstveni klju (unique key) kandidat klju koji nije odabran da bude primarni
klju
4
Sl. 1. Tablica Student
Na tablici Student emo pokazati razlike izmeu gore navedenih kljueva. Na primjer
super klju moe biti [IdStudent, Prezime], kandidat klju mogu biti [IdStudent], [JMBG],
primarni klju je [IdStudent] a jedinstveni klju je [JMBG]. Kandidat za primarni klju mora
zadovoljiti dva uvjeta jedinstvenost (na relacijskoj shemi niti u jednom trenutku ne mogu
postojati dvije n-torke s jednakim vrijednostima skupa atributa K) i minimalnost (niti jedan
pravi podskup od skupa atributa K nema svojstva jednoznanosti ). I primarni i jedinstveni
klju moraju ispuniti uvjete jedinstvenosti i minimalnosti, ali relacija moe sadravati samo
jedan primarni klju, dok jedinstvenih moe imati vie.
Primarni klju se mora paljivo birati. Kao to smo vidjeli da ime studenta oito nije
ispunilo uvjet, budui da postoji puno ljudi koji nose isto ime. Vrijednost samog primarnog
kljua se ne bi uope trebao mijenjati kada se jednom postavi. Ako elimo povezati n-torke iz
razliitih tablica koristimo vanjske ili strane kljueve (foreign key). Strani klju je atribut ili
skup atributa unutar jedne relacije koji odgovara kandidat kljuu neke relacije to i vidimo na
slici ispod.
5
3.2. Primarni klju
Primarni klju tabele je atribut ( ili skup atributa) koji jedinstveno identifikuje vrste u
tabeli. Njegova vrijednost se ne smije izostaviti ( ne smije biti NULL).
Na primjer:
Svaka tablica u bazi podataka mora imati primarni klju, polja ili skup polja koja sadre
jedinstvene vrijednosti za svaki zapis koji je spremljen u tablici. Primarni klju moete
koristiti za otkrivanje i odnose se svaki zapis.Access moe automatski stvoriti polje
primarnog kljua prilikom stvaranja tablice ili moete odrediti polja koja elite koristiti kao
primarni klju. U ovom se maturskom radu objanjava kako i zato koristiti primarni klju.
Tablica moe imati samo jedan primarni klju. Primarni klju je polje ili skup polja koja:
Sadri jedinstvene vrijednosti za svaki zapis
e se indeksirati
Moete dodati primarni klju iz jedne tablice u drugu tablicu za stvaranje odnosa izmeu
njih. U drugoj tablici se zove vanjski klju.
6
U situacijama kada neka relacija ima vie kandidat kljueva, za potrebe identifikacije n-torki
relacije i realizaciju direktnog pristupa moramo da izaberemo jedan od njih.
Definicija: Primarni klju neke eme relacije R je jedan izabrani kandidat klju, ili jedini
kandidat klju ako nema izbora. Svaka ema relacije ima jedan i samo jedan primarni klju.
U situacijama kada neka ema relacije ima vie kandidat kljueva, izbor PK se vri po
slijedeim kriterijumima:
za kandidat kljueve koji su jedinstveni po prvom kriterijumu, prednost imaju oni koji
zauzimaju manje memorijskog prostora u datoteci koja odgovara relaciji.
Primjer:
PK SIFK,a kandidat klju su atributi SIFK, SIFC. Prednost se daje atributu SIFK, poto
knjiga van biblioteke moe biti kod jednog lana, a dogovorno ogranienje pozajmice na
jednu knjigu moe biti ukinuto nekim novim pravilima biblioteke.
Polju primarnog kljua je uvjek pridruen indeks koji znatno ubrzava, upite,
pretraivanja i sortiranja.
Prilikom unosa novog zapisa u polje primarnog kljua nije mogue unijeti duplu
vrijednost.
.
7
3.3. Super klju
Iz definicije relacije proizilazi da se u relaciji nikada ne mogu javiti dvije identine n-
torke. Svakoj vrijednosti skupa atributa A1,A2, ...An eme relacije R=(Ai) odgovara jedna n-
torka u relaciji r, odnosno skup vrijednosti a1, a2, ... an.
Primjer:
Definicija: Super klju neke eme relacije R je svaki podskup atributa X te eme koji ima
osobinu da jednoznano odreuje n-torke u relaciji.
Iz osobine unikatnosti n-torke proizilazi da svaka ema relacije ima bar jedan super
klju. U krajnjem sluaju, kada postoji samo jedan super klju, u njegov sastav ulaze svi
atributu eme relacije.
Iz osobine unikatnosti n-torki u relaciji, je jasno da cijela ema, odnosno kombinacija atributa
SIFA, SIFN, KOJI predstavlja super klju. Moemo zakjuiti da je i kombinacija SIFA, SIFN
super klju, poto se injenica da je neki autor napisao neki naslov evidentira samo jednom n-
torkom u relaciji. Meutim atributi SIFA i SIFN pojedinano, a pogotovo koji, nisu super
kljuevi. Jedan autor moe napisati vie naslova, naslov moe imati vie autora. A mnogi
autori e biti prvi, drugi itd za naslove koje su napisali.
Definicija: Kandidat klju neke eme relacije R je svaki podskup atributa X te eme
koji ima osobinu da jednoznano odreuje n-torke relacije, a da ni jedan njegov pravi
podskup nema tu osobinu.
Drugim rijeima, kandidat klju neke eme relacije R je svaki njen super klju koji
ima osobinu minimalnosti. Takvih super kljueva moe biti vie za datu relaciju. Oni mogu
biti bez ili sa zajednikim atributima. Svaka ema relacije ima bar jedan super klju.
8
3.5. Strani klju
Za objanjavanje pojma stranog kljua potrebne su dvije relacije.
Primjer:
OBLAST(SIFO, NAZIV).
Situacija da atribut SIFO u relaciji NASLOV, ima vrijednost nepostojee oblasti iz relacije
OBLAST, nije prihvatljiva. Mogua je situacija da se nabavlja nova knjiga koja ima nsalov,
dodaje joj se ifra, a da se ne zna kojoj ooblasti pripada. Tada se ta knjiga upisuje u bazu, a
atributo SIFO se dodjeljuje NULL vrijednost koja se naknadno moe unijeti.
Definicija: Strani klju u emi relacije R je svaki njen podskup atributa za koji vai
ogranienje vrijednosti u relaciji r na slijedee dvije vrijednosti:
vrijednost NULL.
9
DRZI(SIFK, SIFC, DATUM)
Vanjski klju jednostavno reeno, je primarni klju druge tablice. Vrijednosti u polju
vanjskog kljua odgovaraju vrijednostima u primarnom kljuu koja upuuje na to da su
povezana dva zapisa.
1. U navigacijskom oknu desnom tipkom mia kliknite tablicu u koju elite dodati primarni
klju, a zatim na izbornikom preacu kliknite Prikaz dizajna .
2. U prvom praznom retku reetki dizajna tablice, u stupcu Naziv polja upiite naziv,
primjerice IDKupca
4. Pod Svojstva polja, u Nove vrijednosti, pritisnite Korak kako biste koristili rastue
numerike vrijednosti za primarni klju ili pritisnite Sluajno kako biste koristili
nasumine brojeve.
10
Sl. 5. Prikaz alatne trake
Prije nego to moete ukloniti primarni klju, provjerite jesu li sudjelovali u nekom od
odnosa tabela. Ako pokuate ukloniti primarni klju za koji postoji odnos, Access vas
upozorava da odnos morate najprije izbrisati. Ako su tablice koje sudjeluju u odnosu
otvorene, zatvorite ih. Ne moete izbrisati odnos izmeu otvorenih tablica.
Kliknite crtu odnosa za odnos tablice koji elite izbrisati (linije podebljano kada je odaberete)
i zatim pritisnite tipku DELETE.
11
Sl. 7. Opcije za tabele na alatnoj traci
U navigacijskom oknu desnom tipkom mia kliknite tablicu iz koje elite ukloniti
primarni klju, a zatim na izbornikom preacu kliknite Prikaz dizajna.
Odaberite trenutnu primarnog kljua.Ako se primarni klju sastoji od vie polja, pritisnite
bira retka za bilo koje polje u primarnom kljuu.
Na kartici Dizajn u grupi Alati pritisnite Primarni klju. Oznaka kljua se uklanja s polja
koja ste prethodno naveli kao primarni klju.
Kada spremite novu tablicu bez postavljanja primarnog kljua, Access od vas trai da
biste je stvorili. Ako odaberete dastvara se polje ID koje koristi vrstu podataka
Samonumeriranje za omoguavanje jedinstvene vrijednosti za svaki zapis. Ako tablica ve
sadri polje Samonumeriranje, Access koristi polja kao primarni klju.
AUTONUM-Automatski broja koji se svaki redak povea (smanji) za jedan ili stavlja
neki proizvoljni broj.
12
3.9. Primarni klju u vezi s entitetima
U sluaju veze jedan-na-jedan, primarni se klju jednog entiteta ukljuuje u drugi entitet i
naziva se vanjski klju, jer je klju odreenog entiteta, ali se trenutno nalazi u drugome
entitetu. U ovom sluaju nije bitno iz kojeg entiteta vadimo klju.
U sluaju veze jedan-na-vie, primarni klju se uvijek vadi iz entiteta na strani jedan, i
uvrtava kao vanjski klju na stranu vie.
U sluaju veze viena-vie, potrebno je izvaditi primarne kljueve oba entiteta i uvrstiti ih
u novostvorenu tablicu, tablicu veze. Kad god stvaramo tablicu veze, mogue je u nju uvrstiti
i dodatne atribute, potrebne toj vezi.
13
3.10. Koritenje kaskadnih auriranja za promjenu vrijednosti
primarnog kljua
Ponekad je potrebno aurirati vrijednost primarnog kljua. Ako taj primarni klju
koristite kao vanjski klju, moete automatski aurirati promjene u svim podreenim
instancama vanjskog kljua.
Pri tom imajte na umu kako je primarni klju vrijednost koja na jedinstven nain
identificira svaki redak (zapis) u tablici baze podataka. Vanjski klju je stupac koji se
podudara s primarnim kljuem. Obino se vanjski kljuevi nalaze u drugim tablicama i
omoguuju stvaranje odnosa (veze) izmeu podataka u tablicama.
Ponekad se takvi ID brojevi (ili druge vrste primarnih kljueva) mijenjaju. Kada se to
dogodi, moete promijeniti vrijednost primarnog kljua i tu promjenu automatski kaskadno
prenijeti kroz sve povezane podreene zapise. To se postie ukljuivanjem referencijalnog
integriteta i kaskadnih auriranja izmeu dvije tablice.
14
4. ZAKLJUAK
15
5. LITERATURA
Web Stranice:
1. https://racunarstvoiinformatika.wordpress.com/2012/02/06/primarni-kljuc-strani-
kljuc-i-integritet-baze-podataka/, (20.4.2016.)
2. https://support.office.com/hr-hr/article/Dodavanje-postavljanje-promjena-ili-
uklanjanje-primarnog-klju%C4%8Da-07b4a84b-0063-4d56-8b00-65f2975e4379,
(20.4.2016.)
Knjige:
Prof. dr Mladen Veinovi, Doc. dr Goran imi, UVOD U BAZE PODATAKA, Zagreb
2006.
16
Datum predaje rada: / / godine
Komisija:
Predsjednik:
Ispitiva:
lan:
17