You are on page 1of 18

MJEOVITA SREDNJA TEHNIKA KOLA TRAVNIK

k.2015/2016.god.

PREDMET: Baze podataka


TEMA: Primarni
klju
SADRAJ
1. UVOD 1
2. BAZA PODATAKA 2
2.1. Definicija i pojam baze podataka 2
2.2. Vrste baze podataka 3
3. PRIMARNI KLJU 3
3.1. Kljuevi u relacijskoj bazi podataka 3
3.2. Primarni klju 5
3.3. Strani klju 7
3.4. Kandidatski klju 7
3.5. Strani klju 8
3.6. Vanjski kljuevi 9
3.7. Dodavanje primarnog kljua 9
3.8. Uklanjanje primarnog kljua 10
3.9. Primarni klju u vezi s entitetima 12
3.10. Koritenje kaskadnih auriranja za promjenu vrijednosti primarnog kljua 13
4. ZAKLJUAK 14
5. LITERATURA 15

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

2.1. Definicija i pojam baze podataka

Baza podataka je skup podataka nekog informacionog sistema.Ona sadri podatke


razlicitih objekata poslovnog sistema,kao sto su na primjer: poslovni partneri, projekti,
proizvodi, usluge, fakture, narudbe, ugovori itd

Baza podataka je skup meusobno ovisnih podataka, pohranjenih bez redundancije


(preklapanja), koji slue jednoj ili vie aplikacija na optimalan nain, gdje su podaci neovisni
o programima kojima se obrauju i gdje postoji kontroliran pristup podacima (Martin, 1977.)

Baza podataka je skup operativnih i integriranih podataka obraivanih u jednoj organizaciji


(Date, 1990.)Baza podataka je skup povezanih podataka (Elmasri, Navathe, 1994.).

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.

Za upravljanje bazom podataka treba da upoznamo nekoliko kljunih


pojmova:primarni klju, strani klju i integritet baze podataka.
Najmanja koliina informacije u tabeli je polje. Polje se nalazi u presjeku reda i kolone
tabele. Svako polje ima svoje ime.Skup svih polja u jednom redu tabele naziva se atribut.
Svaki atribut tabele ima istu strukturu, ali razliite sadraje.Skup svih tabela i drugih objekata
(obrasci, izvetaji) definisanih u cilju reavanja odreenog zadatka naziva se baza 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.

Kod veine relacionih baza podataka potuju se sledea pravila integriteta:

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

Postoje sljedeelogike strukture baza podataka:

hijerarhijski model baza podataka

mreni model baza podataka

relacioni model baza podataka

objektno-orijentisani model baza podataka

objektno-relacioni model baza podataka

deduktivi model baza podataka

3. PRIMARNI KLJU

3.1. Kljuevi u relacijskoj bazi podataka

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.

Razlikujemo etiri vrste kljueva:

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.

Sl. 2. Povezanost dviju tablica

U relacijskoj bazi podataka nailazimo na dva opa ogranienja a to su entitetski i


referencijalni integritet. Entitetski integritet je vezan za primarni klju i on brani da vrijednost
primarnog kljua sadrava vrijednost NULL. Referencijalni integritet se vee za strani klju.
U relacijskoj shemi mora postojati strani klju koji e odgovarati primarnom kljuu,
pogledajmo primjer na slici.

Sl. 3. Povezanost stranih i primarnih kljueva

Relacije upanija i Drava ne zadovoljavaju pravilo referencijalnog integriteta jer u


relaciji upanija postoji vrijednost stranog kljua za koju ne postoji odgovarajua n-torka u
relaciji mjesto.

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:

indeks studenta u tabeli o podacima o studentu


broj rauna korisnika u banci
korisniko ime za elektronsku potu

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

Slui za identifikaciju zapisa

Moete dodati primarni klju iz jedne tablice u drugu tablicu za stvaranje odnosa izmeu
njih. U drugoj tablici se zove vanjski klju.

Na primjer, pretpostavimo da koristite primarni klju u tablici Kupci . U tablici Narudbe je


vanjski klju.

Sl. 4. Prikaz primarog i vanjskog kljua u tabelama Kupci i Narudbe

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:

Prednost u odnosu na kandidat kljueve koji su poslijedica nekog dogovorenog


ogranienja uvijek imaju kandidat kljuevi koji su poslijedica sutinskog ogranienja
(dogovorno ogranienje moe da se promjeni, a sutinsko nikada).

za kandidat kljueve koji su jedinstveni po prvom kriterijumu, prednost imaju oni koji
zauzimaju manje memorijskog prostora u datoteci koja odgovara relaciji.

Primjer:

Relacija OBLAST(SIFO, NAZIV),

PK SIFO jer je krae.

Relacija DRZI(SIFK, SIFC, DATUM)

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.

Primarni klju u tabeli nudi:

Polju primarnog kljua je uvjek pridruen indeks koji znatno ubrzava, upite,
pretraivanja i sortiranja.

Prilikom unosa novog zapisa mora se popuniti polje primarnog kljua.

Prilikom unosa novog zapisa u polje primarnog kljua nije mogue unijeti duplu
vrijednost.

Ako se ne zada drugaije Access uvek prikazuje sadraj tabele po redoslijedu


primarnog kljua.

Preporuljivo je da polje primarnog kljua bude to krae, kako bi se bre izvravale


operacije nad bazom.

.
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:

DRZI(SIFK, SIFC, DATUM)

Relacija koja sadri: knjige koje dre lanovi od kog datuma

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.

ema relacije moe da ima vie super kljueva.

3.4. Kandidatski klju


Relacija JEAUTOR

JEAUTOR(SIFA, SIFN, KOJI)

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:

NASLOV(SIFN, NAZIV, SIFO) i

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 primarnog kljua u nekoj relaciji (ciljnoj relaciji)

vrijednost NULL.

Strani kljuevi se mogu naglaavati iskoenim slovima.

Strani kljuevi se mogu naglaavati masnim slovima:

CLAN ( SIFC, IME )

POZAJMICA ( SIFP, SIFC, SIFK, DANA )

KNJIGA ( SIFK, SIFN )

REZERVACIJA ( SIFN, SIFC, DATUM )

NASLOV ( SIFN, NAZIV, SIFO )

JE_AUTOR ( SIFA, SIFN, KOJI )

OBLAST ( SIFO, NAZIV )

Mogu se javiti situacije:

- jedna ema relacije moe da sadri vie stranih kljueva.

POZAJMICA ( SIFP, SIFC, SIFK, DANA )

- strani kljuevi mogu biti u sastavu primarnog kljua.

- JEAUTOR(SIFA,SIFN, KOJI) i REZERVACIJA(SIFN, SIFC, DATUM)

- strani klju moe biti istovremeno i primarni klju u cjelini.

9
DRZI(SIFK, SIFC, DATUM)

3.6. Vanjski kljuevi

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.

Za razliku od primarnih kljueva:

Tablica moe imati vie od jednog vanjskog kljua.

Vanjski klju nuno nema jedinstvene vrijednosti.

Vanjski klju pouzdano ne moe prepoznati odreeni zapis.

3.7. Dodavanje primarnog kljua

Dobar prijedlog za postavljanje primarnog kljua ima sljedee uslove:


Jedinstvena je svaka vrijednost. Nema dva zapisa u tablici i imaju iste vrijednosti za
klju.

Nikad nije prazna niti null uvijek sadri vrijednost.

Kada se uspostaviti, svaka vrijednost je relativno trajna. Najbolje vrijednosti u kljuu


polja nikad ne promijeniti.

Evo kako se dodaje primarni klju ukratko:

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

3. U stupcu Vrsta podataka kliknite padajuu strelicu, a zatim automatsko numeriranje.

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.

5. Na kartici Dizajn u grupi Alati pritisnite Primarni klju.

10
Sl. 5. Prikaz alatne trake

3.8. Uklanjanje primarnog kljua


Kada uklanjate primarni klju tablice, polja koja su ranije sluila kao primarni klju
vie nee sluiti kao primarni identifikatori zapisa. Uklanjanjem primarnog kljua ne brie
polja iz tablice, no, uklonit e se oznaka primarnog kljua s tih polja. Uklanjanjem primarnog
kljua uklonit e se indeks koji je stvoren za primarni klju.

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.

Na kartici Alati baze podataka u grupi Prikai/sakrij pritisnite Odnosi.

Sl. 6. Pristup povezivanju tablica na alatnoj traci

Ako tablice koje sudjeluju u odnosu ne budu vidljive, na kartici Dizajn u


grupi Odnosi pritisnitePokai tablicu. Zatim u dijalokom okviru Pokai tablicu odaberite
tablicu koju elite dodati, pritisniteDodaj i zatim Zatvori.

Kliknite crtu odnosa za odnos tablice koji elite izbrisati (linije podebljano kada je odaberete)
i zatim pritisnite tipku DELETE.

Na kartici Dizajn u grupi Odnosi pritisnite Zatvori.

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

Kako bi se veze ostvarile, potrebno je uiniti odgovarajuu stvar s primarnim kljuem.

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.

Sl. 8. Prikaz tabela

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.

Na primjer, pretpostavimo kako koristite ID broj proizvoda koristite kao primarni


klju. Jedan ID broj proizvoda na jedinstven nain identificira taj proizvod. Taj ID broj
takoer moete koristiti kao vanjski klju u tablici podataka o narudbama. Na taj nain
moete pronai sve narudbe koje se odnose na neki proizvod, jer svaki put kada netko narui
taj proizvod njegov ID postaje dio narudbe.

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.

U nastavku rada imajte na umu ova pravila:

Mogue je ukljuiti kaskadna auriranja samo za polja primarnog kljua postavljena


na tekstualnu, odnosno numeriku vrstu podataka. Kaskadna auriranja ne mogu se
koristiti za polja postavljena na vrstu podataka Samonumeriranje.

Kaskadna auriranja mogu se ukljuiti samo izmeu tablica s odnosom jedan-prema-


vie.

14
4. ZAKLJUAK

Na kraju emo rei par rijei o primarnim kljuevima.


Mogue je da se primarni klju sastoji od vie atributa, te se naziva kompozitnim
primarnim kljuem. Ako planiramo primarni klju tablice koristiti kao vanjski klju u nekoj
drugoj tablici, korisno je da taj primarni klju bude jednostavan.
U nekim sluajevima korisno je dodati i dodatni atribut u kompozitni primarni klju,
atribut koji nije vanjski klju, kako bi dobili vie mogunosti unutar tablice.

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:

Datum odbrane: / / godine Ocjena: (


)

17

You might also like