You are on page 1of 135

Podatak, informacija, znanje i mudrost

 informacijski resurs organizacije


o podaci prate svaku poslovnu aktivnost
o većina podataka je u digitalnom obliku
 podacima treba upravljati -> informacijski sustav :
o prikuplja i pohranjuje podatke organizacije
o obrađuje podatke (uz izvršenje poslovnog procesa)
o isporučuje informacije (potrebne za odlučivanje)
Podatak
 Podatak je skup prepoznatljivih znakova zapisanih na mediju
o na papiru (knjiga, notes), filmu (fotografija, filmski zapis), magnetskom
mediju (datoteka na disketi ili disku u računalu, videozapis na videokaseti)
o Elementarni podatak je simbolički prikaz jednog obilježja promatranog
objekta
o podatak “Ivan” prikazuje ime promatrane osobe
<Ana, težina, 62kg, 17.3.2007.> objekt obilježje podatak vrijeme
Informacija
 Informacija (obavijest) jest činjenica s određenim značenjem
o Informacija donosi novost, obavještava o nečemu, otklanja neizvjesnost i
služi kao podloga za odlučivanje.
o Informacija se zapisuje u obliku podataka

Značajke informacije
 Kvalitetna informacija jest
o Točna - korektno opisuje stanje stvari
o Potpuna - potpuno opisuje stanje stvari
o Primjerena, relevantna - odgovara problemu i osobi
o Pravovremena - dobivena na vrijeme
 Vrijednost informacije :
o Ovisna je o kvaliteti
o Ovisna je o primatelju
 Upotrebom se ne troši
Znanje
 Znanje je uređen skup informacija nekog područja kojim se opisuje stanje stvari
ustanovljeno po prihvaćenom kriteriju (znanstvenom, iskustvenom)
o Postoje različiti načini prikaza znanja
-najpoznatiji je u obliku pravila (u matematici aksioma, teorema, lema ...)
 Mudrost - sud o tome što je istinito i ispravno. Mudrost “zna” kada i kako koristiti
znanje.

Podaci se sastoje od simbola koji se mogu tumačiti. To predstavlja činjenicu.


Informacije su interpretirani podaci u nekom kontekstu. Što
Znanje daje značenje informacijama. Dobiva se kroz iskustvo ili razmišljanje. Why
Mudrost prosuđuje ono što je istinito, ispravno ili trajno. To daje uvid. Ona "zna"
kada i kako koristiti znanje. Kako
Informacijska tehnologija (informacijska i komunikacijska tehnologija)
 Tehnologija obrade podataka, ciljevi:
o potpora poslovnim procesima (praćenje) (“automatizacija” poslovanja)
o dobivanje informacija (upravljanje) (“automatizacija” odlučivanja)
o osobni rad, komunikacija i suradnja (povezivanje) (“automatizacija
“osobnog i grupnog rada)
 Sredstva:
o računalna i komunikacijska sredstva (hardver)
o računalni programi (softver)
o ljudi (“lifeware”)
o organizacija (“orgware”)
Informacijski sustav (izvršni sloj) – izvođenje poslovnog procesa
 Upotrebom informacijske tehnologije može se izvođenje poslovnog procesa
o “automatizirati” - uz manje manualnog rada
(obračun kamata u bankama obavlja se programski)
o učiniti djelotvornijim
(u računalom podržanoj proizvodnji ona se prati računalno u svakom
trenutku – kontinuirano – odmah se otkrivaju greške i problemi, a ne
povremenim nadgledanjem)
o učiniti na drugačiji način
(naručivanje se može obaviti putem Interneta)
 Reinženjering poslovnog procesa, promjena načina obavljanja poslovnog
procesa, moguća je primjenom informacijske tehnologije.

Informacijski sustav (upravljački sloj) - upravljanje i odlučivanje


 Informacija je podloga za donošenje (poslovne) odluke.
 Pomoću odluka se upravlja sustavom.

 Mogućnosti obrade podataka:


o izvještavanje (reporting)
o analitička obrada
Vrijednost prodaje po mjesecima, tržištima i proizvodima?
o otkrivanje znanja iz podataka / rudarenje podataka
Po čemu se razlikuju profitabilni kupci od neprofitabilnih?
o ekspertno zaključivanje iz podataka (ekspertni sustavi)
Ako je stopa inflacije 5%, cijena …, isplati li se investirati u …
o zaključivanje simulacijom (simulacija)
Koliko i kakvih strojeva treba za efikasnu proizvodnju skupa proizvoda?
Radimo pokuse na računalu – mijenjamo parametre i gledamo rezultate
Primjer reda u pošti – (više šaltera koji rade sve ili specijalizacija šaltera)
o …
Informacijski sustav (informativni sloj) - osobni rad, suradnja, komunikacija
 osobni rad
o manipulaciju dokumentima – priprema, raspoređivanje, umnožavanje
dokumenata (tekstova, slika, …)
o arhiviranje dokumenata
o stolno izdavaštvo (izrada tiskanih i drugih publikacija)
o izrada prezentacija
o organizatori rada (adresari, rokovnici, podsjetnici, …)
o izrada i obrada proračunskih tablica, baza podataka, …
o oblikovanje podržano računalom (u različitim strukama …)
 suradnja
o potpora rada u grupi
o konferiranje (računalno, tele, video)
 komunikacija (s klijentima, partnerima ili suradnicima - do 50% vremena)
o pošta (elektronička, glasovna)
o telefoniranje
o telefaks
o oglasne ploče
 Sustav za obradu transakcija (izvršni sloj) sudjeluje u obavljanju poslovnog
procesa obradom transakcija. U njegovom je sastavu upravljački izvještajni
sustav.
 Sustav za potporu odlučivanju (upravljački sloj) pribavlja informacije potrebne
za odlučivanje.
 Sustav za suradnju i komunikaciju (informativni sloj) omogućuje osobni rad,
komunikaciju i suradnju (osobni rad).

Transakcijski sustav
 Obrada transakcija - pruža potporu tekućem odvijanju poslovnog procesa
o Vođenje evidencije - evidentiranje zapisa o svakoj transakciji u bazu
podataka
o Izdavanje - generiranje raznovrsnih dokumenata potrebnih u poslovanju
(računi, karte, čekovi, virmani i sl.)
o Izvještavanje - praćenje odnosno kontroliranje poslovnog procesa
 Upravljački izvještajni sustav je dio transakcijskog sustava koji opskrbljuje
poslovodstvo djelomično agregiranim i kategoriziranim informacijama
SVOJSTVA TRANSKACIJE-ACID
Atomity-atomarnost-transakcija se mora obaviti u cjelosti ili se uopće ne smije
obaviti
Consistency-konzistentnost-transakcijom baza podataka prelazi iz jednog
konzistentnog stanja u drugo konzistentno stanje

Isolation-izolacija-kada se paralelno obavljaju dvije ili više transakcije, njihov ucinak


mora biti jednak kao da su se obavljale jedna iza druge

Durability-trajnost-ako je transakcija obavila svoj posao, njezini efekti ne smiju biti


izgubljeni u slucaju kvara sustava, cak i ako se kvar desi neposredno nakon
zavrsetka transakcije

Sustav za potporu odlučivanju


Sustav za potporu odlučivanju postupcima analitičke obrade, otkrivanjem znanja iz
podataka …
 pronalazi informacije
 uobličuje ih za potrebe odlučivanja
 aktivno ih nudi korisniku

Načini obrade podataka


 izvještavanje (reporting)
 analitička obrada (dimenzijskih) podataka
(online analytical processing - OLAP)
 otkrivanje znanja iz podataka - (knowledge discovery from data - KDD),
kopanje ili rudarenje podataka - (data mining - DM)
Portal nije na prezentaciji
Portal
 centralno mjesto pristupa informacijama potrebnim pri poslovanju jedne
organizacije
o jedinstveno mjesto s kojeg korisnik pristupa podacima
o jedinstven, integriran i korisniku prilagođen pogled na podatke
Portal i Web-tehnologija olakšava napore oko integracije podataka
o jedinstveno mjesto s kojeg korisnik može obaviti sve “informacijske”
funkcije
Portal je “nov” i korisniku prilagođeniji način obrade podataka
Vidi zadnju stranicu
Informacijski sustav kao inženjerski proizvod
 kompleksni proizvodi (zgrada, automobil, poduzeće, IS) imaju zajedničke
karakteristike
 to su inženjerski proizvodi
nije na prezentaciji
Nije na prezentaciji

Planiranje / strategija IIS-a

 Zadaci
o nedostaci postojećeg IS-a?
o tko su korisnici IS-a?
o opseg IS-a koji se planira?
o ciljevi novog IS-a?
o Analizom prioriteta razrađuje se plan razvoja IS-a

Izrada informacijskog sustava


Zadaci:
 struktura: generiranje baze podataka prema shemi baze podataka
 aktivnost: kodiranje programa, specificiranje manualnih procedura
 mjesto: izgradnja računalne i organizacijske mreže prema prethodnim
specifikacijama
 korisnici: izrada specifikacije dostupnosti IS-a za svakog korisnika
 vrijeme: kodiranje programa (“interrupta”)

Uvođenje u rad
Zadaci:
 provjera (testiranje) cjeline novog IS-a
 obavljanje prijelaza sa starog na novi IS
 izobrazba korisnika za rad s novim IS-om
Načini prijelaza:
 izravno uvođenje novog IS-a
 paralelno uvođenje novog i rad starog IS-a
 postepeno uvođenje dijelova novog IS-a

Održavanje informacijskog sustava


 Uočavanje i ispravljanje grešaka i nedostataka IS-a tijekom njegova rada
 prilagođavanje IS promjenama poslovnog sustava (novim informacijskim
zahtjevima) nastalim nakon uvođenja sustava
Baze podataka I SUBP

Baza podataka
 Baza podataka je skup povezanih podataka informacijskog sustava ili aplikacije
 Baza podataka sadrži podatke različitih objekata poslovnog sustava
poslovnih partnera, projekata, proizvoda, usluga, faktura, narudžbi, ugovora,
dokumenata, slika
 Karakteristike
o podaci su međusobno ovisni (povezani su)
o izbjegava se redundancija (zalihost – bilježenje istog podatka na više
mjesta)
o podaci služe jednoj ili više aplikacija na optimalan način
o podaci su neovisni o programima kojima se obrađuju
o pristup podacima je kontroliran – bazi se pristupa preko SUBP
Vrste baza podataka
Struktura podataka u bazama podataka može biti raznolika, razlikujemo:
 baze strukturiranih podataka
 baze nestrukturiranih ili polustrukturiranih podataka (baze dokumenata)
 baze znanja

Baze strukturiranih podataka


 koriste se u poslovnim primjenama
 novije relacijske, objektne i dimenzijske baze podataka
 najviše se koriste relacijske (tablične) baze podataka
o U tablici Kupci bilježe se podaci kupaca − za sve se kupce bilježe
vrijednosti istih atributa (šifra kupca, naziv kupca i adresa)
Baze nestrukturiranih podataka – baze dokumenata
 sadrže nestrukturirane ili polustrukturirane jednomedijske (tekst, audio, video) ili
multimedijske podatke
o Objekti čije podatke pohranjuju su novinski, stručni, znanstveni članci
odnosno dokumenti, bibliografske jedinice, slike, videozapisi, zvukovni
zapisi
o govori se o bazama dokumenata
 U svijetu postoji niz baza dokumenata
 baze podataka novinskih agencija ili novina (informacijska baza Hine sadrži
sve dosad objavljene vijesti, baza CNN-a)
 servis vijesti i gospodarski servis agencije Reuters,
 baze podataka burzovnih informacija
 Web kao baza dokumenata
 …
 Mnoge baze dokumenata okrenute su javnosti - njihovo se korištenje naplaćuje

Baze znanja
 sadrže znanje prikazano u različitim oblicima:
o pravilima (MPO)
o semantičkim mrežama (MPO)
 Prikazano znanje upotrebljava se korištenjem različitih mehanizama
zaključivanja
 Sustavi temeljeni na znanju (npr. ekspertni sustavi) mogu rješavati različite
probleme
Sustav za upravljanje bazom podataka (SUBP)
Database Management System (DBMS)
programski sustav koji omogućuje rad s bazom podataka:

 Funkcije za definiranje baze podataka (Data Definition) – jezik koji opisuje


shemu baze podataka
o SQL kod relacijskih baza podataka
o zaseban jezik (DDL - Data Definition Language – create table, drop table)
 Funkcije za manipulaciju podacima u bazi podataka (Data Manipulation)
o SQL kod relacijskih baza podataka – insert, select, delete, update
o zaseban jezik (Data Manipulation Language) ili DML-naredbe
 Upravljačke funkcije
o funkcije sigurnosti baze podataka - zaštite od neovlaštenog korištenja
korištenje username/password za prijavu na bazu podataka
o funkcije statističkog praćenja rada baze podataka
prati upite u bazu, ažuriranje podataka i temeljem toga rade se optimizacije
rada baze
Sheme baze podataka

 sadrži definiciju (opis) baze podataka


 ANSI/SPARC:
 Konceptualna shema potpun je konceptualni ili logički model podataka čitave
baze podataka
 Vanjska shema ili korisnički pogled jest opis dijela logičkog modela podataka,
na način primjeren određenom korisniku Vanjska shema sukladna je s
konceptualnom shemom.
 Unutarnja (fizička) shema jest opis fizičkih podataka u bazi. Sukladna je s
konceptualnom shemom
Rječnik podataka (Data Dictionary)
 Sadrži podatke o podacima u bazi podataka (metapodatke)
 definicija baze podataka (sheme baze podataka)
 Opis svih podataka (imena, načini prikaza, međusobni odnosi, pravila
očuvanja interiteta …)
To su npr. opisi tablica i njihovih polja (atributa) baze podataka
 Popis korisnika baze podataka i njihova ovlaštenja
 Smješten je u bazi podataka na isti način kao i “obični” podaci
 Njegove podatke (metapodatke) mijenja korisnik s posebnim ovlaštenjima
– administrator baze podataka
BAZE PODATAKA - Problem lista

Svrha baze podataka – zašto baza podataka?

 Svrha BP - bilježenje (“ostavljanje traga”), zapis da se nešto dogodilo (npr.,


poslovni događaj – kupnja-podaci o kupnji-račun o kupnji; narudžba-podaci o
narudžbi- narudžbenica; upis studenata-podaci o upisu-upisni list… )
 Složenost podataka

Lista sa podatcima o projektu sadržava podatke o menadžeru


(Prezime, Ime, OIB, Telefon) i podatke o projektu (Šifra, Naziv, DatumPočetka,
Budžet) u istom retku.
PrezimeM i ImeM se ponavlja više puta. To je redundancija i zato managera treba
izdvojiti u posebnu tablicu.
Podaci o smjeru (Naziv, Ime administratora) pojavljuju se uvijek sa podatcima o
studentu (Prezime, Ime…) i podacima o mentoru, u istom retku.

Sadržaj polja AdviserLastName, AdviserEmail, Department, AdminLastname se


ponavlja i to se zove redundancija. Tada imamo problem izmjene podataka jer
moramo mijenjati isti podataka na više mjesta.

Problemi izmjene podataka


Redundancija (multipliciranje tema) stvara probleme kod izmjene podataka u listi:
 Problem brisanja podataka
 Problem ažuriranja podataka
 Problem unosa podataka
Da bi riješili problem redundancije napravljena je nova tablica ADVISER.
Primarni ključ (PK) u tablici ADVISER AdviserLastName.
Polje AdviserLastName je u tablici STUDENT Strani ključ.
Pomoću stranog ključa (polja AdviserLastName) povezuju se tablice ADVISER i
STUDENT.

Vidi primjer redundancije za zadaću Studenti, ispiti


MODELIRANJE PODATAKA

 Model je apstrakcija (pojednostavnjena slika) stvarnog svijeta


o formalan opis stvarnog svijeta
o pogled na svijet s jednog gledišta (zato ima više modela)
 Modeliranje je postupak izrade modela

Modeliranje (oblikovanje, projektiranje) podataka


 Rezultat modeliranja podataka je model podataka
 Model podataka je
 opis podataka
 na formalan način (jednoznačno čitljiv)
 odgovarajuće dostupan svim korisnicima (katalog podataka organizacije)
Modeliranje (baze) podataka
 odabir (poslovnih) procesa za koje se oblikuje baza podataka
 konceptualno oblikovanje
o izrada (pod)modela entiteti-veze za svaki proces
- promatra se izvršenje procesa
o određivanje jakih entiteta (“matični podaci”, “šifarnici”) i njihovih
atributa
o određivanje slabih i veznih entiteta odnosno veza jakih entiteta kojima
se prikazuje izvršenje poslovnog procesa
 logičko oblikovanje
o pretvorba modela entiteta-veza u relacijsku shemu baze podataka
 fizičko oblikovanje
o definiranje fizičkog prostora
o definiranje metoda adresiranja fizičkih slogova
Konceptualno modeliranje podataka
 informacijski zahtjevi (definicija korisnika)
o zahtjevi na strukturu podataka
o zahtjevi za korištenjem podataka
 konceptualni model (specifikacija informatičara)
o opisuje podatke stvarnog svijeta pojmovima objekt (entitet), veza
(odnos) i atribut
o sastoji se od više dijagrama i detaljnog opisa elemenata modela
o smješta se u rječnik podataka (katalog, repozitorij, enciklopediju)
informacijskog sustava

Konceptualno modeliranje (2)


Apstrakcija – uočavanja glavnog, općeg, bitnog, a ispuštanje sporednog, posebnog
ili nebitnog
o klasifikacija
o generalizacija
o agregacija
Oblici apstrakcije
Klasifikacija - grupiranje objekata (entiteta) u klase (objekata), tipove (entiteta) ili
razrede prema zajedničkim obilježjima -> odnos "jest pojava" (engl. instance of)
Generalizacija – grupiranje (generaliziranje, uopćavanje) tipova klasa niže razine
(podtipova, podklasa)
u tipove više razine (nadtipova, nadklasa) -> odnos "jest" (engl. is a)
Agregacija - formiranje novog pojma, višeg stupnja, temeljem odnosa postojećih
pojmova:
o agregacija jednostavnih atributa čime se opisuje entitet (npr. atributi ime,
prezime opisuju entitet osoba)
o agregacija entiteta u novi entitet (npr. rezervacija je entitet agregiran od
entiteta osoba, soba, datum)
o objekt u kojem se objekt sastoji od drugih objekata
Objekt je “stvar” o kojoj je stvoren pojam
o njemu bilježimo podatke
o entitet u modelu entiteti-veze je isto što i objekt u objektnom modelu
(entitet ima samo podatke dok objekt opisuje i ponašanje)
o Opisujemo njegovo ponašanje

Tip entiteta i pojava entiteta


Tip entiteta je opis objekata koji imaju ista svojstva (atribute) i ponašanje - pripadaju
istom pojmu.

Atribut
 Atributi su obilježja, svojstva i mogu biti:
 Atributi entiteta
o Svaki entitet (njegovo stanje) opisan je vrijednostima atributa
o Pojava entiteta knjiga ima atribute Naslov, Autor … a opisan je stvarnim
vrijednostima tih atributa

 Atributi veze entitetima


o Veza među objektima (entitetima) može imati atribut
o Atribut Datum Zaposlenja je atribut veze tipa entieta
Poduzeće i Radnik
Odnos objekata
Asocijacija - odnos dvaju ravnopravnih objekata
(odnos – veza – objekata Odjel i Radnik)

Generalizacija/specijalizacija
 odnos objekata (entiteta) u kojem generalizirani objekt potpuno uključuje
specijalizirani objekt, ali ne i obrnuto
(Radnik jest Osoba, ali Osoba ne mora biti Radnik)

Agregacija (kompozicija)
 odnos u kojem se jedan objekt sastoji od drugih objekata
(objekt Automobil se sastoji od objekata Motor i Karoserija)
Model entiteti-veze (ER model)

 informacijski zahtjevi ---> zahtjevi na strukturu i za korištenje podataka --->


KONCEPTUALNI MODEL PODATAKA (specifikacija zahtjeva)
 dijagrami za prikaz modela podataka i detaljan opis elemenata modela
(rječnik podataka), repozitorij ili enciklopedija IS-a
 metode i tehnike konceptualnog modeliranja služe se pojmovima ENTITET,
VEZA i ATRIBUT

Entitet
 Entitet je stvaran ili apstraktan predmet ili događaj o kojemu se u informacijskom
sustavu prikupljaju podaci.

 Entitet određujemo kroz:


o Tip entiteta (engl. Entity Classe) - sastoji se od skupa entiteta (pojava
entiteta) koji imaju zajedničke atribute.
o Pojavu entiteta (engl. Entity Instance) - pojedina kuća, osoba,
predavanje, avionski let.

 Naziv tipa entiteta


o Najprikladnija je imenica (naziv u poslovanju)
o Imenica se piše u jednini, jer se imenuje tip entiteta (npr. OSOBA), a ne
skup pojava entiteta (npr. osobe).

 Sve pojave entiteta istog tipa


 imaju jednake atribute,
 ali se vrijednosti atributa pojedinih pojava razlikuju:
2311950330025,Horvat,Zagreb
2006984335042,Perić,Split
dvije su pojave tipa entiteta OSOBA s različitim vrijednostima atributa Matični_broj,
Prezime i Adresa
Veza
Veza je agregacija (asocijacija) dvaju ili više entiteta.
Stupanj veze je određen brojem entiteta koji sudjeluju u vezi:
 binarna veza
Zaposlenje je veza entieta Poduzeće i Osoba
 unarna veza
Brak je veza Osoba (sa obje strane)
 ternarna veza
Upotrebljeno_iskustvo je veza entietta Radnik, Projekt i Iskustvo
Slike nema u prezentaciji

Veza - kardinalnost
 Osnovni tipovi veza opisani kardinalnošću:
o jedan-prema-jedan (1:1) 1,1:1,1
1,1:0,1
0,1:0,1

 jedan-prema-više (1:M) 1,1:0,M


0,1:0,M

 više-prema-više (M:M) 0,M:0,M

Granice kardinalnosti:
 donja granica: 0, 1, bilo koji pozitivan broj
 gornja granica: 1, bilo koji pozitivni broj, M
 gornja granica > donja granica
Veza – slabost entiteta
 Slabost entiteta:
o Entitet je jak ako postoji (egzistira) samostalno, npr. ŠKOLA
o Entitet je slab ako ne postoji samostalno ili se ne identificira samostalno,
npr. RAZRED
 Vrsta slabosti:
o Ako postojanje (egzistencija) entiteta Y ovisi o postojanju entiteta X, tada
je entitet Y egzistencijalno slab i ovisan o entitetu X
o Ako se entitet ne identificira samostalno, on je identifikacijski slab

 Primjer:
o RAZRED je egzistencijalno i identifikacijski slab i ovisan o entitetu ŠKOLA.
On je povezan s entitetom ŠKOLA vezom koja opisuje identifikacijsku i
egzistencijalnu zavisnost.

 Primjena:
o Identifikacijska zavisnost koristi se pri modeliranju atributa koji imaju više
vrijednosti. Otvara se slabi entitet s atributom koji ima samo jednu
vrijednost (naziva i karakteristikom).
Ako imamo atribut Datum_zaposlenja koji može imati više vrijednosti onda
ćemo otvoriti slabi entitet u koji ćemo pisati atribut Datum_zaposlenja u
više redova

Kardinalnost pridruživanja slabog entiteta jakom entitetu uvijek je 1,1.


Kardinalnost pridruživanja jakog entiteta slabom entitetu je 0,M ili 1,M.

o Identifikacijska zavisnost povlači egzistencijalnu zavisnost, ali ne i


obrnuto.

o Slabe entitete treba koristiti samo kod modeliranja identifikacijske


zavisnosti.
Specijalizacija - generalizacija
 Specijalizacija/generalizacija:
o veza nadtipa (generalizirani entitet) i podtipova entiteta (specijaliziranih
entiteta) dobivenih generalizacijom/specijalizacijom
o Više podtipova se generalizira u jedan nadtip.
Entitet podtip "jest" (generalizira se u) entitet nadtip.
o RADNIK jest OSOBA (OSOBA nije uvijek RADNIK)

 Prepoznavanje odnosa nadtip-podtip:


o "Da li A jest B?" i "Da li B jest A?"
 Ako su oba odgovora "nikada", odnos ne postoji,
 Ako su oba odgovora "uvijek", entiteti su sinonimi.
 Ako "A jest uvijek B" i "B jest ponekad A", entitet A je podtip entiteta B

Specijalizacija
Vrste specijalizacije:
 Ekskluzivna specijalizacija - Ako se svaka pojava entiteta nadtipa specijalizira
u samo jedan od entiteta podtipova.
 Neekskluzivna specijalizacija - Ako se svaka pojava entiteta nadtipa
istovremeno specijalizira u više entiteta podtipova.
 Obavezna specijalizacija - Ako se svaka pojava entiteta nadtipa specijalizira u
barem jedan entitet podtip.
Atribut
 Atributi (obilježja ili svojstva) opisuju entitet ili vezu.
o Atributi entiteta OSOBA: Matični_broj, Ime, Prezime
 Domena opisuje moguće vrijednosti atributa
o Atribut Matični_broj ima domenu od 1-5000, atribut Spol m/ž
 Vrijednost svakog atributa mijenja se tijekom vremena.

Ključ
 Ključ je skup atributa čije vrijednosti omogućuju jednoznačnu identifikaciju svake
pojave tipa entiteta.
o Matični_broj je ključ, ali kombinacija Ime,Prezime nije
 Minimalni ključ je ključ čiji niti jedan podskup atributa nema karakteristike ključa.
Atributi koji određuju minimalni ključ jedinstveno određuju pojavu entiteta (slog u
bazi)
 Minimalnih ključeva ima više. Oni su mogući ključevi.
 Izabrani mogući ključ postaje primarnim ključem.
o Primarni ključ identifikacijski slabog entiteta se formira od primarnog ključa
jakog entiteta i diskriminatora slabog entiteta (primarni ključ RAZREDA je
kombinacija primarnog ključa
ŠKOLE (Naziv_škole) i diskriminatora (Oznaka_razreda)

Oblici dijagrama
U praksi se koriste dijagrami u više različitih notacija:
 Chenova notacija – Peter Chen: Entity Relationship - Model – ERM (1976)
 Martinova notacija – James Martin: Information - Engineering - IE (1980-tih)
 Barkerova notacija - Richard Barker (Oracle, 1990)
 IDEF1X – standard javne administracije SAD-a (1993)
 UML - Grady Booch, James Rumbaugh, Ivar Jacobson (1997)
Izrada modela entiteti-veze
 je korak u analizi poslovnog sustava kojim se specificiraju informacijski
zahtjevi
 Korisnici definiraju zahtjeve u narativnom obliku → definicija informacijskih
zahtjeva
 Analitičar (informatičar) ih specificira → specifikacija informacijskih zahtjeva
(modeli sustava):
o identificirani entiteti (objekti) poslovnog sustava i njihova struktura
(model podataka)
o pravila obavljanja i pokretanja procesa na entitetima poslovnog sustava
(model procesa)

Postupak izrade modela entiteti-veze


 prikupiti i analizirati informacijske zahtjeve → definirati poslovna pravila
 za svaki proces izraditi (pod)model:
1. utvrditi entitete
2. utvrditi veze među entitetima
3. utvrditi atribute entiteta
4. utvrditi ključeve i njihova ograničenja promjene
5. konsolidirati model entiteti-veze (integrirati podmodele u jedinstveni
model)
1.Utvrđivanje entiteta

1.1 Što je entitet


1.2 Imenovati entitet
1.3 Prepoznati razloge za specijalizaciju i generalizaciju
1.4 Utvrditi zavisnost (slabost) entiteta

1.1 što je entitet


 Za utvrditi što je entitet treba intervjuirati korisnike i koristiti dokumentaciju
poslovnog sustava:
o Entitet je objekt koji se može identificirati i koji osim identifikatora ima
barem jedan vlastiti atribut
o Vlastiti atribut opisuje neko znanje o entitetu, koje ne proizlazi iz veze s
drugim entitetom
o Entiteti su imenice kojima se opisuju «stvari» poslovnog sustava. Ipak,
glagolske imenice odgovaraju vezama
o (npr. zaposlenje kaže da "poduzeće zapošljava osobu", a to je veza)
o Ignorirati imenice koje opisuju specifične podatke, kao što su imena,
datumi, količine, novčane jedinice
o Nazivi obrazaca nisu entiteti
Npr. narudžbenica je obrazac (ne entitet) koji sadrži podatke entiteta
NARUDŽBA.

1.2 Imenovati entitet


 Neke metode preporučuju da se najprije načini početni popis važnijih entiteta od
kojih će početi gradnja modela.
 Imenovati entitete imenicom u jednini, kojom se služe korisnici. Ako ima više
naziva, oni su sinonimi.
 Opisati entitete opisom koji odražava značenje i upotrebu entiteta. Opisati punim
rečenicama.
Navesti primjere.
1.3 Prepoznati razloge za specijalizaciju i generalizaciju

Specijalizaciju entiteta - razlozi:


 kada se atributi podtipa i nadtipa značajno razlikuju
 kada podtip samostalno sudjeluje u vezi

Principom generalizacije se od sličnih entiteta formira entitet nadtip.


 Npr. DJELATNIK, UČENIK, STUDENT imaju zajedničke atribute: Ime,
Prezime, Datum_rođenja ... Oni se generaliziraju entitetom OSOBA, a sami
postaju njegovim podtipovima.
 Zajednički se atributi pridjeljuju entitetu nadtipu OSOBA, a specifični entitetu
podtipu DJELATNIK, UČENIK, STUDENT. Generalizacija ima smisla ako se
entitet nadtip samostalno koristi.

Podtip nasljeđuje primarni ključ i atribute nadtipa. Obrnuto ne vrijedi.

Kod ekskluzivne specijalizacije može se ustanoviti klasifikacijski atribut, koji grupira


pojave u međusobno disjunktne skupove.

Kod neobaveznih (opcionalnih) atributa čija je donja granica kardinalnosti 0, može se


uvesti entitet podtip.
Npr. atribut Provizija entiteta RADNIK neobavezan je ako proviziju mogu
dobiti samo trgovci. Uvođenjem entiteta TRGOVAC, koji je podtip
entiteta RADNIK, atribut Provizija se iz RADNIKA prenosi u TRGOVCA, u
kojem je atribut obavezan.

1.4 Utvrditi zavisnost (slabost) entiteta


Utvrditi zavisnost entiteta:
 Identifikacijski slab entitet uvijek ima primarni ključ složen od ključa jakog
entiteta i diskriminatora.
 Zavisnost entiteta prikazuje se običnom vezom čija je kardinalnost
1,1:1,M ili 1,1:0,M.
Npr. veza Zadatak_projekta opisuje zavisnost slabog entiteta ZADATAK o jakom
entitetu PROJEKT.
2.Utvrđivanje veza
 Prepoznati vezu - Intervjuirati korisnike i koristiti dokumentaciju poslovnog
sustava.
o Veze su glagoli (ali ne svi), jer neki opisuju procese (model procesa).
 Imenovati veze
o nazivom veze (Chenov prikaz) prikladnom glagolskom imenicom npr.
Zaposlenje_djelatnika_u poduzeću
o ulogama entiteta (Martinov prikaz)
 Opisati veze punim opisom i s primjerima.
 Utvrditi kardinalnost
o "koliko radnika mora zaposliti poduzeće" određuje donju granicu
kardinalnosti veze - odgovor je "nijedan" ili "najmanje jedan"
o "koliko radnika može zaposliti poduzeće" određuje gornju granicu
kardinalnosti veze - odgovor je "najviše jedan" ili "više"

 Izbaciti redundantne veze koje se izvode iz drugih veza


 Oprez!!! Je li veza redundantna, ne može se utvrditi mehanički.
o Redundantna je veza Zaposlenje_sektor, jer se izvodi iz veza
Zaposlenje_odjel i Sektor_odjel.
3.Utvrđivanje atributa entiteta

1. Atributi opisuju znanja o entitetu, koja se pripisuju isključivo samom


entitetu, a nikako vezi s drugim entitetima.
o Utvrđuju se samo vlastiti atributi entiteta
o Je li broj telefona vlastiti atribut entiteta osobe? Da, kada telefon nije
entitet. Ali, u modelu podataka telefonske organizacije on je važan
entitet koji ima atribute.

2. Atributi entiteta nadtipa i podtipova


o Entitet nadtip ima atribute koji su zajednički svim podtipovima, a entitet
podtip samo specifične atribute podtipa.
o Entitet podtip nasljeđuje primarni ključ i sve atribute entiteta nadtipa.
Obratno ne vrijedi.

3. Prepoznati i odvojiti atribute veze (primarni ključ)


4. Imenovati atribut
o Naziv atributa može se sastojati od tri dijela koji imaju različitu
namjenu:
 korijen - naziv entiteta ili veze kojima atribut pripada
 kvalifikator - način upotrebe atributa
 klase atributa
o Npr. u atributima Osoba_datum_zaposlenja,

5. Opisati atribut
o Koristiti ista pravila kao za opis entiteta.
o Definirati domenu vrijednosti atributa. Opisati u kojim se jedinicama
vrijednost izražava (npr. u tonama).
6. Utvrditi kardinalnost
“Koliko datuma zaposlenja mora imati osoba“:
o "nijedan" ili "najmanje jedan" određuje donju granicu (0 ili 1)
o Neobvezatan (opcionalan) atribut ima donju granicu 0.
o "najviše jedan" ili "više" određuje gornju granicu kardinalnosti (1 ili M).
o Atribut s više vrijednosti ima gornju granicu kardinalnosti M

Npr. entitet OSOBA ima atribut Datum_zaposlenja_osobe


Kada atribut Datum_zaposlenja_osobe ima više vrijednosti
Uvodi se novi identifikacijski slabi entitet
ZAPOSLENJE_OSOBE,
koji se identificira diskriminatorom Datum_zaposlenja_osobe i ključem
entiteta OSOBA kardinalnost atributa postaje 1.

7. Izbaciti derivirane atribute


o Derivirani atributi mogu se izvesti (izračunati) iz drugih atributa. Oni su
redundantni i obično se izbacuju iz modela.
o Ako je derivirani atribut važan za korisnike ili je njegovo izvođenje
(izračunavanje) komplicirano, može se zadržati.

.
4.Utvrđivanje ključeva entiteta
 Utvrditi ključeve jakih entiteta:
o Primarni ključ ima jedan ili više identifikacijskih atributa
 Utvrditi ključeve slabih entiteta:
o Slabi entiteti nasljeđuju ključ jakog entiteta, a imaju diskriminator
 Izbjegavati sastavljene ključeve

5. Konsolidiranje modela entiteti-veze


 Model entiteti-veze
o radi se po manjim segmentima informacijskog sustava - po problemskim
područjima odnosno podsustavima informacijskog sustava.
o Cilj je načiniti jedinstveni model podataka informacijskog sustava, koji se
sastoji od konzistentno uklopljenih podmodela podataka pojedinih ili
podsustava.
 Jedinstveni (integrirani) model treba biti:
o kompletan (sadrži informacije svih pogleda),
o neredundantan (iste informacije sadrži samo jednom),
o konzistentan (ne sadrži proturječne informacije) – sinonimi, homonimi,
redundantne veze

 Nekonzistentnosti koje treba riješiti:


o Sinonimi su različito nazvani istovrsni objekti modela: entiteti, veze ili
atributi.
Isti objekt, npr. zaposlena osoba je nazvana: RADNIK, DJELATNIK,

o Homonimi su jednako nazvani različiti objekti modela podataka. Npr.


entitet OSOBA može u jednom podmodelu predstavljati osobu izvan
organizacije, a u drugom osobu zaposlenu u organizaciji, naravno, s
različitim opisom i popisom atributa. Jedan od njih mora promijeniti naziv.

o Redundatne veze izbaciti.


Učestalost veza

Najčešće binarne veze:


 1,1:0,M - najčešća veza, obično opisuje klasičnu hijerarhiju u kojoj je A nadređen,
a B podređen entitet
 0,M:0,M - česta veza

Unarne veze:
 U unarnoj vezi najčešće se pojavljuju veze 0,1:0,M i 0,1:0,1.
 Ostale praktično ne postoje, kao npr. 1,1:0:M (beskonačna hijerarhija
istovrsnih entiteta u kojoj svaki podređeni ima sebi nadređenog) i 0,1:1,M
 (beskonačna hijerarhija u kojoj svaki nadređeni ima sebi podređenog).
Relacijski model podataka
 Ciljevi
o nezavisnost podataka
o konzistentno semantičko postupanje s podacima
o eliminacija redundancije (zalihosti) podataka
o skupovno orijentiran jezika za obradu podataka
o bogat model podataka za opis i obradu jednostavnih i
o kompleksnih podataka
 Komponente
o skup koncepata za opis strukture (baze) podataka
o skup operatora za izvršenje operacija nad podacima
o skup pravila integriteta (baze) podataka
 Ograničenje prednost!!!
o opisuje isključivo logičke aspekte podataka
o ne bavi se problemom fizičkog smještaja u bazi podataka
Domena
Domena je imenovani skup vrijednosti
Naziv_dana_u_tjednu = {ponedjeljak, utorak, srijeda, četvrtak, petak,subota, nedjelja}
Datum_u_mjesecu = {1..31}

Relacija
Relacija je imenovani podskup Kartezijevog produkta
domena D1,D2,...,Dn:
(D1,D2,...,Dn) = {(d1,d2,...,dn): diєDi za 1≤i≤n}.

Domene:
Ime_prezime_studenta {Ivan Horvat, Ana Perić}
Naziv_predmeta {Matematika, Fizika, Kemija}

Kartezijev produkt - to su sve kombinacije vrijednosti iz domene


<Ivan Horvat, Matematika>
<Ivan Horvat, Fizika>
<Ivan Horvat, Kemija>
<Ana Perić, Matematika>
<Ana Perić, Fizika>
<Ana Perić, Kemija>

Relacija STUDENT_PREDMET
<Ivan Horvat, Matematika>
<Ana Perić, Matematika>
<Ana Perić, Fizika>
Atribut
Atribut je imenovani stupac relacije
Atribut poprima jednu vrijednost iz pripadne domene
U relaciji STUDENT_PREDMET atributi
IME_PREZIME_STUDENTA i NAZIV_PREDMETA
pripadaju istoimenim domenama
Ime_prezime_studenta i Naziv_predmeta
Nulvrijednost reprezentira nepoznatu ili neprimjenljivu vrijednost – kada je atribut
prazan – nema vrijednosti
Relacijska shema i relacija

 Relacijska shema R sastoji se od naziva relacije i konačnog skupa (naziva)


atributa odnosno stupaca (A1, A2, ..., An), koji opisuju istoimenu relaciju
 Relacijska shema opisuje građu relacije i ne definira njeno značenje
Značenje proizlazi iz interpretacije relacijske sheme, pa je poželjno interpretaciju
relacijske sheme memorirati u katalogu (rječniku podataka)
Relacija STUDENT_PREDMET npr. ima značenje
"student sluša predmet", koje je iskazano relacijskom shemom
STUDENT_PREDMET
(IME_PREZIME_STUDENTA, NAZIV_PREDMETA)

Osnovna svojstva relacije


 relacijska shema ne sadrži dva jednaka (imena) atributa (relacija ne sadrži dva
jednaka stupca)
 redoslijed atributa odnosno stupaca nebitan je
 relacija ne sadrži dvije jednake n-torke
 redoslijed n-torki u relaciji nebitan je

Ključevi relacije
 U relaciji ne mogu postojati dvije jednake n-torke
 Ključ relacije je minimalni skup atributa čije vrijednosti jednoznačno identificiraju
svaku n-torku relacije
 Ključ relacije R skup je atributa K iz R, tako da svake dvije n-torke r1 i r2 relacije
R imaju različite vrijednosti atributa K, r1(K)≠r2(K), i da ne postoji podskup skupa
K s istim svojstvom
 Ako postoji više ključeva → mogući ključevi
 Jedan od njih se izabire i postaje primarni ključ
 Ostali su alternativni ključevi
Relacijska baza podataka
 Relacijska shema baze podataka jest skup različitih relacijskih shema
Dvije su relacijske sheme različite ako su im skupovi atributa različiti
 Relacijska baza podataka jest skup relacija definiranih relacijskom shemom
baze podataka

Rad s relacijskom bazom podataka


 Relacijska algebra
o skup operacija na relacijama
o koristi se za učenje, ne za programiranje
 Relacijski jezici
o neproceduralni programski jezici 4. generacije
o koriste se za programiranje
o SQL standardan općeprihvaćen jezik

Relacijska algebra
 skup formalnih operacija na relacijama relacijske baze podataka
 rezultat operacije je relacija
 operacije:
o unija
o razlika skupovne operacije
o presjek
o Kartezijev produkt
o dijeljenje
o selekcija
o projekcija
o spajanje (theta, prirodno, vanjsko …)
Unija
 Unija, razlika i presjek izvode se na unijski kompatibilnim relacijama (koje su istog
stupnja i kod kojih su domene odgovarajućih atributa jednake)
 Unija dviju unijski kompatibilnih relacija
R(A1, A2, ..., An) i S(A1, A2, ..., An) je nova relacija
T(A1, A2, ..., An) koja se sastoji od svih n-toraka sadržanih u R i S.
 Unija relacija R i S označava se R∪S ili UNIJA(R,S)

Razlika
 Razlika (diferencija) dviju unijski kompatibilnih relacija
R(A1, A2, ..., A2) i S(A1, A2, ..., An) jest nova relacija
T(A1, A2, ..., An) koja obuhvaća sve n-torke relacije R koje istovremeno nisu
sadržane u relaciji S.
 Razlika R i S se označava R\S ili RAZLIKA(R,S)
Kartezijev produkt
Kartezijev produkt dviju relacija
R(A1, A2, ..., An) i S(B1, B2, ..., Bm)
nova je relacija T(A1, A2, ..., An, B1, B2, ...,Bm)
koja se sastoji od n-torki nastalih spajanjem svake n-torke relacije R sa svakom n-
torkom relacije S.
Kartezijev produkt relacija R i S označava se R×S ili PRODUKT(R,S).

Selekcija (restrikcija)
 Selekcija relacije R(A1, A2, ..., An) jest nova relacija T(A1, A2, ..., An)
koja se sastoji od n-torki relacije R koje ispunjavaju zadani uvjet
σuvjet(R) ili SELEKCIJA(R,uvjet)
 Selekcija je unarna operacija kojom se iz relacije izdvaja skup n-toraka koje
ispunjavaju zadani (jednostavan ili kompleksan) uvjet
 Jednostavan uvjet opisuje se formom
<atribut> <operator> <vrijednost> operator = {=, ≠ , <, >}
 U kompleksnim uvjetima koriste se i logički operatori {AND, OR, NOT}
({I, ILI, NE}) kojima se povezuju jednostavni uvjeti
Projekcija
 Projekcija relacije R nova je relacija T koja se sastoji od atributa relacije R po
kojima je obavljena operacija projekcije, i u kojoj su uklonjene jednake n-torke
ΠAi,Aj,...,Am(R) ili PROJEKCIJA(R,Ai,Aj,...,Am)
 Projekcija je unarna operacija kojom se iz relacije izdvajaju pojedini stupci (po
kojima se obavlja projiciranje)
Ako je X podskup atributa relacije R, projekcija relacije R po X se dobiva
uklanjanjem atributa R-X i uklanjanjem višestrukih n-torki
Spajanje
 Theta-spoj je selekcija Kartezijevog produkta relacija R i S opisana formulom
A<operator>B, gdje je A atribut relacije R, a B atribut relacije S
R[uvjet]S ili SPOJ(R,S,uvjet)
 Relacija dobivena spajanjem relacija R i S sadrži n-torke relacije R spojene s
n-torkama relacije S, koje udovoljavaju uvjetu A<operator>B.
 Operator = {=, ≠, <, >}.
 Može se izvesti pomoću drugih operacija:
R[uvjet]S=σuvjet(RS), ili
SPOJ(R,S,uvjet)=SELEKCIJA(PRODUKT(R,S),uvjet)
Spajanje na jednakost
 Ako se kao theta-operator koristi = spajanje na jednakost
 Spajanje daje za rezultat relaciju u kojoj dva stupca (atributa) imaju iste vrijednosti
o To su stupci po kojima se obavlja spajanje
o Ako se pritom izbaci jedan nepotreban stupac, dobiva se prirodno spajanje

Prirodno spajanje
 Prirodni spoj relacija R(A1, A2, ..., An, X) i S(X, B1, B2, ..., Bm), sa zajedničkim
skupom atributa X, jest nova relacija T(A1, A2, ..., An, X, B1, B2, ..., Bm) koja se
sastoji od n-torki relacije R spojenih s n-torkama relacije S koje imaju istu X-
vrijednost, tj. ako n-torka r relacije R i n-torka s relacije S imaju istu X-vrijednost
r(X)=s(X) tada se formira n-torka relacije T s vrijednostima t(A1, A2, ..., An, R.X,
B1, B2, ..., Bm).
 Prirodni spoj označava se R[A*B]S ili SPOJ(R,S,A*B), gdje su R.A i S.B atributi
po kojima se obavlja spajanje
 Može se izvesti pomoću drugih operacija:
SPOJ(R,S,R.X*S.X)=PROJEKCIJA (SELEKCIJA (PRODUKT(R,S), R.X=S.X),
A1,A2,...,An,R.X,B1,B2,...,Bm)
Presjek
 Presjek dviju unijski kompatibilnih relacija R(A1, A2, ..., An) i (A1, A2, ..., An) je
nova relacija T(A1, A2, ..., An) koja obuhvaća sve n-torke
što se istovremeno nalaze u relaciji R i u relaciji S RS ili PRESJEK(R,S)
 Može se izvesti pomoću osnovnih operacija:
PRESJEK(R,S)=R-(R\S) ili PRESJEK(R,S)=S-(S\R)

Dijeljenje
 Dijeljenje relacije R(A1,A2,...,Ap,Ap+1,...,An) s relacijom S(Ap+1,...,An) daje novu
relaciju T(A1,A2,...,Ap), tako da je T najveća moguća relacija sa svojstvom da
sve n-torke relacije T spojene sa svim n-torkama relacije S daju n-torke
sadržane u R R[A/B]S ili DIJELJENJE(R,S,A/B)
Vanjsko spajanje
 Operacija vanjskog spoja relacija R i S jest nova relacija T koja je jednaka
operaciji spoja relacija R i S, uz dodatak n-toraka relacija R i S koje nisu
sadržane u spoju (popunjene su nulvrijednostima na mjestima nedostajućih
atributa)
 vanjsko spajanje na jednakost R[A/=\B]S ili SPOJ(R,S,A/=\B)
Primjeri relacijske algebre

 Baza podataka sadrži podatke poslovnih partnera poduzeća i trgovaca koji su


zaduženi za rad s njima.
Svaki trgovac može raditi s više partnera. Svaki partner pripada jednom i samo
jednom trgovcu.
Trgovci su organizirani u grupe, svaki radi u jednoj grupi (za grupu ne treba
bilježiti podatke).
Svaki trgovac može biti voditelj grupi trgovaca. Trgovac pripada samo jednom
voditelju grupe.
 Relacijska shema baze podataka
PARTNER (PARTNER_SIFRA, PARTNER_NAZIV, PARTNER_ADRESA, MB)
TRGOVAC (MB, IME_PREZIME, DATUM_RODJENJA, MB_VG, PLACA,
DODATAK)
NORMALIZACIJA RELACIJSKE BAZE PODATAKA
Integritet baze podataka
 Baza podataka je sačuvala integritet, ako
o je u funkciji - fizički integritet
o logički integritet - su podaci konzistentni, u skladu sa zadanim
ograničenjima integritet -
 Uvjeti koji određuju jesu li podaci konzistentni su ograničenja (semantičkog,
logičkog integriteta)
o Svaka promjena podataka u bazi podataka koja nije učinjena u skladu sa
zadanim ograničenjima dovodi do pojave nekonzistentnih (nepouzdanih i/ili
netočnih) podataka – narušen je integritet

Ograničenja ((definirana SQL--om))


 jedinstvenost vrijednosti
o ne smiju postojati dvije n-torke koje imaju iste vrijednosti određenog
(skupa) atributa – n-torke se razlikuju barem po ključu
 ne nul-vrijednost
o obavezni atributi ne smiju imati null-vrijenosti (ako je atribut obavezan ima
minimalnu kardinalnost atributa 1)
 referencijski integritet
o vrijednost je određenog atributa nul-vrijednost ili je jednaka vrijednosti
određenog atributa neke n-torke druge ili iste relacije
U tablici PARTNER polje MB može imati samo vrijednosti iz tablice
TRGOVAC
 ograničenje uz kontrolu (engl. check constraint)
o određeni uvjet mora biti ispunjen za sve n-torke relacije
o široko ograničenje (npr. može se odrediti domena vrijednosti atributa,
propisati da vrijedi odnos vrijednosti različitih atributa – spol m/ž)
Domene u relacijskoj bazi podataka kontroliramo pomoću check constraint-
a
Ograničenje entitetskog integriteta
 Entitetski integritet je kombinacija ograničenja jedinstvenosti i ne-nulvrijednosti
o Entitetski integritet definira ograničenje ključa
o “ključ ili bilo koji njegov dio ne smije imati null vrijednost”
o Ključ osigurava jednoznačno identificiranje bilo koje n-torke u relaciji

Ograničenje referencijskog integriteta


 Referencijski integritet povezuje strani ključ s primarnim ključem
 Referencijski integritet je održan ako svaka vrijednost stranog ključa pronalazi
primarni ključ s istom vrijednosti u nadređenoj tablici (relaciji)
 Strani ključ uspostavlja odnos n-torki dviju relacija koji odgovara binarnoj vezi u
modelu entiteti-veze
Ograničenje referncijskog integriteta
 Pravila održavanja stranog ključa za operaciju brisanja (promjene) n-torke s
primarnim ključem:
o odbijanje - operacija se ne obavlja sve dok postoji i jedna n-torka koja ima
strani ključ s istom vrijednošću
ne može se obrisati Trgovac dok ima povezanog partnera
o kaskadno brisanje - briše se (mijenja se) n-torka s primarnim ključem i
sve n-torke koje imaju strani ključ s istom vrijednošću
o nuliranje - briše se (mijenja se) n-torka s primarnim ključem, a svi strani
ključevi s istom vrijednošću postavljaju se na nul-vrijednost ili na početnu
vrijednost (engl. default).
Da bi obrisali slog u Trgovac prije treba u Partner sve vijednosti MB
postaviti na null da se raskine veza.

CREATE TABLE PARTNER (


PARTNER_SIFRA NUMERIC(5),
PARTNER_NAZIV CHARACTER(30) NOT NULL UNIQUE,
PARTNER_ADRESA CHARACTER(30) NOT NULL,
MB NUMERIC(4),
PRIMARY KEY (PARTNER_SIFRA),
FOREIGN KEY (MB) REFERENCES TRGOVAC (MB)
DELETE OF TRGOVAC NULLIFIES
UPDATE OF TRGOVAC CASCADES);

CREATE TABLE TRGOVAC (


MB NUMERIC(4),
IME_PREZIME CHARACTER(30) NOT NULL,
DATUM_RODJENJA DATUM,
MB_VG NUMERIC(4),
PLACA NUMERIC(7,2) CHECK(PLACA BETWEEN 80 AND 250),
DODATAK NUMERIC(7,2) DEFAULT NULL),
PRIMARY KEY (MB),
FOREIGN KEY (MB_VG) REFERENCES TRGOVAC (MB)
DELETE OF TRGOVAC NULLIFIES
UPDATE OF TRGOVAC CASCADES);
Normalizacija
 Dobro oblikovana relacijska baza podataka predstavlja skup podataka koji
o nije redundantan (nema zalihosti), i
o posjeduje semantički integritet - ne pokazuje anomalije pri unosu, brisanju
ili promjeni podataka (jednostavno se koristi)
 Redundancija (zalihost)
o istovrsni podatak memorira se na više mjesta
o uzrokuje anomalije unosa, brisanja i promjene
Ispi podaci se unose više puta, pa ih treba na više mjesta mijenjati

 Normalizacija je postupak prevođenja iz niže u višu normalnu formu


 Normalne forme:
o prva normalna forma (1NF)
o druga normalna forma (2NF)
o treća normalna forma (3NF)
o Boyce-Coddova normalna forma (BCNF)
o četvrta normalna forma (4NF)
o peta normalna forma (5NF)
 Za normalizaciju su definirana posebna ograničenja:
o funkcijska zavisnost
o višeznačna zavisnost
o spojna zavisnost
Funkcijska zavisnost
 Ako su X i Y skupovi atributa relacije R, relacija R zadovoljava uvjete funkcijske
zavisnosti X→Y ako u svakom trenutku za svaku X-vrijednost x postoji samo
jedna Y-vrijednost y
 Funkcijska zavisnost generalizira pojam ključa
opisni (neključni) atributi funkcijski zavise o ključu relacije
Primjer nelegalne relacije – jedna PARTNER_SIFRA ima 2 NAZIVA
U tablici PRIJAVA primarni ključ PK se sastoji od ključnih atributa
BR_INDEX, ŠIF_KOLEGIJA. PK jednoznačno određuje svaki slog.

Redundancija (ponavljanje) podataka u relaciji: neključni atribut NAZ_KOLEGIJA, se


pojavljuje uz svakog studenta koji je taj kolegij položio.

BR_INDEX, ŠIF_KOLEGIJA ---> OCJENA


 atribut OCJENA je potpuno funkcionalno zavisan samo od PK (BR_INDEX,
ŠIF_KOLEGIJA)

ŠIF_KOLEGIJA ---> NAZ_KOLEGIJA


 atribut NAZ_KOLEGIJA je nepotpuno funkcionalno zavisan od složenog
atributa BR_INDEX, ŠIF_KOLEGIJA – NAZ_KOLEGIJA se pojavljuje više puta
 NAZ_KOLEGIJA je funkcionalno zavisan iod jednog dijela PK - ŠIF_KOLEGIJA.
Zato se uvodi nova Tablica KOLEGIJ.

PRIJAVA
Dekompozicija
 Dekompozicija relacije R je zamjena relacije R s dvije relacije R1 i R2, koje mogu
imati zajedničke atribute R1.X i R2.X.
Normalne forme temeljene na funkcijskim zavisnostim

Prva normalna forma


Relacija se nalazi u prvoj normalnoj formi (1NF) ako su svi neključni atributi funkcijski
zavisni o ključu relacije.
Relacija R je u Prvoj normalnoj formi (1NF) ako su sve vrijednosti njenih atributa
atomarne (pojedinačne)
Druga normalna forma
Relacija se nalazi u drugoj normalnoj formi (2NF) ako su svi neključni atributi potpuno
funkcijski zavisni o bilo kojem ključu relacije

 Svođenje na 2NF vrši se rastavljanjem promatrane relacije na dvije (ili više)


relacija:
o u prvoj se ostavlja primarni ključ i svi atributi koji su potpuno funkcionalno
zavisni od njega,
o a u drugoj (i ostalim) relacijama se realiziraju one funkcionalne zavisnosti
koje su prouzrokovale nepotpune funkcionalne zavisnosti

PRIJAVA
Treća normalna forma
3NF: Svaki neključni atribut mora zavisiti o ključu, cijelom ključu i ni o čemu osim o
ključu

Boyce Coddova normalna forma


BCNF: Svaki atribut mora zavisiti o ključu, cijelom ključu i ni o čemu osim o ključu

Usporedba normalnih formi

 1NF otklanja višestruke vrijednosti atributa (ponavljajuće grupe)


 2NF otklanja redundantne podatke zbog djelomičnih funkcijskih zavisnosti
 3NF i BCNF otklanjaju tranzitivno zavisne atribute
 4NF odjeljuje nezavisne veze M:M i stavlja ih u odvojene relacije
 5NF odjeljuje semantički povezane n-arne veze (n>2)

 Ako je relacija u 3NF, a ključ se sastoji od samo jednog atributa, tada je


relacija istovremeno i u 5NF
Relacijsko logičko modeliranje podataka
 dekompozicijski ili analitički postupci
 sintetički postupci
 pretvorba konceptualnog modela (modela entiteti-veze ili objektnog modela)
u relacijsku shemu baze podataka
o Modeliranje u modelu entiteti-veze obavlja se na razini entiteta, a njihov
broj je znatno manji od broja atributa u sintetičkim i dekompozicijskim
postupcima
o Modeliranje u modelu entiteti-veze obavlja se pojmovima koji su prirodni i
korisnicima i projektantima
o Model entiteti-veze ima prikladan grafički prikaz (dijagram entiteti-veze) koji
olakšava čitanje i razumijevanje modela podataka
Pretvorba entiiteta
 Svaki entitet tvori jednu relaciju
 Ključ entiteta postaje primarnim ključem relacije
 E1) Jaki entiteti tvore “samostalne” relacije
o Ključ entiteta jednak je Primarnom ključu relacije
 E2) Identifikacijski slabi entiteti tvore “zavisne” relacije
 Ključ slabog entiteta sastoji se od ključa nadređenog jakog entiteta i
diskriminatora slabog entiteta
 primarni ključ relacije (slabog entiteta) sastoji od dva dijela: primarnog ključa
relacije jakog entiteta (ima i funkciju stranog ključa) i atributa diskriminatora iz
“zavisne” relacije
 E3) Entiteti podtipovi tvore podrelaciju
 Kod ekskluzivne specijalizacije u relaciju entiteta nadtipa može se uvesti
atribut po kojem je načinjena specijalizacija
 Npr. ako se BROD specijalizira na PUTNIČKI_BROD i TERETNI_BROD, to je
atribut VRSTA_BRODA -> domena ima vrijednosti
{PUTNIČKI_BROD,TERETNI_BROD}
 Generalizacija/specijalizacija prikazuje se vezom
Jest (engl. Is_a) u kojoj entitet podtip "jest" entitet nadtip. Stoga primarni ključ
podrelacije ima istovremeno i funkciju stranog ključa. Kaskadno obavljanje
operacija promjene i brisanja je najprikladnije za održavanja integriteta stranog
ključa
U ER kod nadtipa liječnik imali smo podtipove Urolog, kardiolog, fizijatar. U relacijskoj
bazi to realiziramo samo tablicom Liječnik koja ima atribut Specijalizacija
Liječnik
 Šifra liječnika
 Ime
 Prezime
 Specijalizacija {Urolog, kardiolog, fizijatar, …}
Pretrvorba atributa
 Atributi entiteta postaju atributi relacije
 A1) Atribut koji ima više vrijednosti tvori novu “zavisnu” relaciju
o U "dobrom" modeliranju izbjegava se atribut s više vrijednosti,
o a uvodi se slabi entitet u kojem se nalazi atribut
o Primarni ključ uvedenog slabog entiteta izabire se po pravilu E2 za izbor
ključa zavisne relacije
 A2) Obavezne atribute opisati ograničenjem "ne nulvrijednosti“ (NOT NULL)
 A3) Atribute s jedinstvenim vrijednostima opisati ograničenjem "jedinstvenosti
vrijednosti“ (UNIQUE)
 A4) Atribute strane ključeve opisati ograničenjem referencijskog integriteta
 A5) Atribute s ograničenom domenom vrijednosti opisati ograničenjem uz
kontrolu odnosno navođenjem domene u kojoj je ograničenje opisano
Spol {m/ž}, Dani u tjednu {pon, uto, ….}
 A6) Atributi veze (što se rješava uvođenjem stranog ključa) idu u relaciju zajedno
sa stranim ključem
o Atributi veze opisni su (neključni) atributi relacije
 A7) Atributi veze, koja se rješava uvođenjem nove agregacijske relacije, postaju
atributi nove relacije
o Atributi veze opisni su (neključni) atributi nove relacije
Pretvorba veza
 Veza se rješava prenošenjem primarnog ključa jedne relacije u drugu
relaciju (on postaje strani ključ)
Binarne veze:
 V1) U simetričnoj vezi 1:1 moguće je uvođenje stranog ključa u bilo koju
relaciju
 Uvesti strani ključ u relaciju s manje n-torki, jer će tako biti manje null-vrijednosti
(poželjno je poznavati broj n-torki u relaciji), varijante rješenja:
o Veza 1,1:1,1 se može 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
o U vezi 0,1:1,1 uvodi se strani ključ u relaciju entiteta koji obavezno
sudjeluje u vezi
o 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 primarni ključ nije sastavljen od oba ključa
entiteta, nego se za primarni ključ izabire ključ jednog od entiteta
 V2) U vezi 1:M uvesti strani ključ u relaciju na strani M, varijante rješenja:
o Za vezu 0,1:0:M rješenje je i uvođenje nove relacije kao u vezi M:M (pravilo
V3), ali s razlikom da primarni ključ nije sastavljen od oba ključa entiteta,
nego se za primarni ključ uzima ključ entiteta na strani M
 V3) U vezi M:M otvoriti novu relaciju
o Nova relacija naziva se agregacijskom, asocijativnom ili veznom
o Primarni ključ agregacijske relacije uvijek je sastavljen od primarnih
ključeva relacija koje čine agregaciju (ključevi entiteta u vezi M:M)
o 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 stranih ključeva ne smije se koristiti
nuliranje u operacijama promjene i brisanja
Veze višeg stupnja:
 V4) Ternarne i ostale veze višeg stupnja tvore novu relaciju
o Realizacija je slična binarnoj vezi M:M
o Nova relacija ima toliko stranih ključeva koliki je stupanj veze
o U ternarnoj vezi tri su strana ključa i od njih se formira primarni ključ
o
 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 sa zasebnim agregacijskim
relacijama

“Normalizirani” entiteti
 “Normalizirani” entiteti daju normalizirane relacije
 Svaki “normalizirani” entitet:
o mora biti imati samo “vlastite” atributa koji opisuju samo vlastita, entitetu
prirođena (inherentna) obilježja
o mora imati podskup atributa (ključ) koji omogućuju jednoznačnu
identifikaciju svake pojave entiteta
SQL – kompletan jezik za rad s relacijskom bazom podataka

Skupine naredbi:
 naredbe za operacije s podacima
o SELECT, INSERT, DELETE, UPDATE
o COMMIT, ROLLBACK
 naredbe za definiranje baze podataka
o CREATE TABLE, ALTER TABLE, DROP TABLE
o CREATE VIEW, DROP VIEW
 naredbe za upravljanje (uspostavljanje indeksa, kontroliranje pristupa bazi)
o CREATE INDEX, DROP INDEX
o GRANT, REVOKE

naredbe za operacije s podacima

SELECT
SELECT [ALL|DISTINCT] atribut[,atribut...]
FROM relacija[,relacija...]
[WHERE uvjet]
[GROUP BY atribut[,atribut...]]
[HAVING uvjet]
[ORDER BY specifikacija uređenja];

Tipični SELECT upit:


SELECT A1,A2,...,An
FROM R1,R2,...,Rm
WHERE uvjet;

ispis čitave relacije:


ispisati sadržaj relacije TRGOVAC
• SELECT * FROM TRGOVAC;
Složeni upiti
Theta-operatori
 <> (različito)
 < (manje od,
 > (veće od)
 <= (manje ili jednako)
 >= (veće ili jednako)

Složeni upiti pomoć logičkih operatora AND, OR ili NOT

select * from trgovac where PLACA>100 AND DODATAK>20

select * from trgovac where PLACA>=100 AND PLACA <=120


ili se može pisati sa between
select * from trgovac where PLACA BETWEEN 100 AND 120

LIKE – koristi se kod polja texta (character ili varchar)


SORTIRANJE
 ASC – acsending (uzlazno manji -> veći)
 DESC – descending (silazno veći -> manji)

Funkcije
 AVG (atribut) - srednja vrijednost atributa
 MAX (atribut) - maksimalna vrijednost atributa
 MIN (atribut) - minimalna vrijednost atributa
 SUM (atribut) - zbroj vrijednosti atributa
 COUNT (*) - broj selektiranih n‑torki
 COUNT (atribut) - broj nenulvrijednosti u atributu
GROUP BY – grupiranje po atributu

GROUP BY HAVING COUNT


Podupit

Isti rezultat dobijemo i kod spoja dvije tablice

SELECT DRUGA.MB, DRUGA.IME_PREZIME


FROM TRGOVAC DRUGA, TRGOVAC PRVA
WHERE PRVA.IME_PREZIME='Josip Antić‘
AND PRVA.MB_VG=DRUGA.MB_VG;
Podselect

Spajanje

Vanjsko spajanje – outer join – prikazuju se svi slogovi


INSERT – unos n-torke

INSERT INTO relacija [(atribut[,atribut...])]


{VALUES(vrijed. atributa[,vrijed. atributa...])|SELECT...};

upis vrijednosti atributa i unos jedne n‑torke u relaciju,


unijeti podatke novog poslovnog partnera
s brojem 95, nazivom Marketing i adresom Zagreb te nepoznatim trgovcem (null)
INSERT INTO PARTNER
VALUES (95,'Marketing','Zagreb',NULL);

unijeti podatke novog trgovca:


matični broj 19, ime i prezime Marko Ferić, datum rođenja 27.11.1956:
INSERT INTO TRGOVAC (MB, IME_PREZIME, DATUM_RODJENJA)
VALUES (19,'Marko Ferić','1956-11-27');

INSERT – unos selekcijom

selektiranje n‑torki i njihovih atributa iz jedne relacije (ili relacija) i prijenos u drugu
relaciju
upisati podatke trgovaca iz relacije TRGOVAC, rođenih prije '1950-01-01', u relaciju
STARIJI_TRGOVAC (MB, IME_PREZIME):

INSERT INTO STARIJI_TRGOVAC (MB, IME_PREZIME)


SELECT MB, IME_PREZIME
FROM TRGOVAC
WHERE DATUM_RODJENJA<'1950-01-01';
DELETE – brisanje n-torke
DELETE FROM relacija
[WHERE uvjet];

brisati sve podatke trgovca s matičnim brojem 9:


DELETE FROM TRGOVAC
WHERE MB=9;

brisati sve poslovne partnere iz Zagreba:


DELETE FROM PARTNER
WHERE PARTNER_ADRESA='Zagreb';

UPDATE – promijeniti sadržaj atributa


UPDATE relacija
SET atribut=izraz
[WHERE uvjet];

promijeniti naziv partnera broj 75 u Granit, te sjedište u Vinkovce:


UPDATE PARTNER
SET PARTNER_NAZIV='Granit', PARTNER_ADRESA='Vinkovci‘
WHERE PARTNER_SIFRA=75;

povećati svim trgovcima grupe 11 (to je matični broj voditelja grupe) dodatak za 30:
UPDATE TRGOVAC
SET DODATAK=DODATAK+30
WHERE MB_VG=11;

COMMIT, ROLLBACK

COMMIT WORK; potvrditi ono što smo radili


ROLLBACK WORK; odustati od onoga što smo radili
naredbe za definiranje baze podataka

CREATE TABLE

CREATE TABLE relacija (atribut[,atribut...]);

definirati relacijsku shemu relacije TRGOVAC:

CREATE TABLE TRGOVAC (


MB NUMERIC(3) NOT NULL UNIQUE,
IME_PREZIME CHARACTER(30) NOT NULL,
DATUM_RODJENJA CHARACTER(10),
MB_VG NUMERIC(3),
PLACA NUMERIC(4),
DODATAK NUMERIC(4));

ALTER TABLE - promjena relacije i njenih atributa

dodavanje novog atributa: dodati atribut ODJEL_BROJ u relaciju TRGOVAC:


ALTER TABLE TRGOVAC
ADD (ODJEL_BROJ NUMERIC(3));

redefinicija postojećeg atributa


povećati format atributa IME_PREZIME na 40 znakova:

ALTER TABLE TRGOVAC


MODIFY (IME_PREZIME CHARACTER(40));

DROP TABLE
izbaciti relaciju PARTNER iz relacijske sheme

DROP TABLE PARTNER;


CREATE VIEW

VIEW - Pogled
 jednostavnije postavljanje upita (pogodno za korisnike s oskudnim znanjem)
 sakrivanje određenih podataka (koristan mehanizam kontrole pristupa podacima)
 izgradnja nezavisnih aplikacija (svaka se relacija može pogledom redefinirati)

CREATE VIEW relacija [(atribut[,atribut...])]


AS SELECT ...
[WITH CHECK OPTION];
DROP VIEW
izbaciti definiciju pogleda GRUPA:

DROP VIEW GRUPA;

naredbe za upravljanje

CREATE INDEX
formirati indeks (za brzo pronalaženje podataka)

po atributu IME_PREZIME relacije TRGOVAC:


CREATE INDEX IME_INDEKS ON TRGOVAC (IME_PREZIME);

formirati jedinstveni indeks po atributu MB relacije TRGOVAC:


CREATE UNIQUE INDEX MB_INDEKS ON TRGOVAC (MB);

DROP INDEX
izbaciti postojeći indeks IME_INDEKS relacije TRGOVAC:

DROP INDEX IME_INDEKS;


GRANT
Kada se kreira relacija samo onaj tko je kreirao relaciju (vlasnik relacije) može
koristiti relaciju (da mogu raditi insert, update, delete, select, …)
Da bi drugi korisnici mogli koristiti relacije treba im dati privlegije

GRANT {ALL[PRIVILEGES]|privilegija[,privilegija...]}
ON relacija
TO {PUBLIC|korisnik[,korisnik...]}
[WITH GRANT OPTION];

prenijeti sva prava korištenja relacije TRGOVAC na sve korisnike:


GRANT ALL PRIVILEGES ON TRGOVAC TO PUBLIC;

prenijeti pravo korištenja operacija SELECT i UPDATE nad relacijom PARTNER


na korisnika Kor12, s pravom da to pravo prenosi na druge korisnike:

GRANT SELECT, UPDATE ON PARTNER TO Kor12


WITH GRANT OPTION;

REVOKE
ukinuti sva prava korištenja relacije TRGOVAC svim korisnicima (osim
vlasniku)
revoke je suprotno od grant

REVOKE ALL ON TRGOVAC FROM PUBLIC;

ukinuti pravo korištenja operacije UPDATE na relaciji PARTNER


korisnicima Kor12 i Kor14:
REVOKE UPDATE ON PARTNER FROM Kor12, Kor14;
Fizičko modeliranje podataka
Naredbe

Naredbe kojima program piše i čita u datoteku baze podataka


 open (otvori datiteku)
 close (zatvori datoteku)
 read next (čitaj sljedeći)
 read key (čitaj s ključem) - read 118
 write key (upiši s ključem) – write 118
 write next (upiši sljedeći)
 delete (briši) – delete 156

Adresiranje -- vrste datoteka

Metoda adresiranja određuje mjesto pohranjivanja sloga - adresa sloga


Adresa sloga je pokazuje na mjesto u datoteci gdje se nalazi taj slog
Vrste datoteka prema metodi adresiranja:
 slijedna (sekvencijalna) datoteka
 direktna (relativna) datoteka
 indeksna datoteka
Slijedna (sekvencijalna) datoteka
Slogovi se upisuju i pohranjuju jedan do drugoga redoslijedom dolaska
Obrađuju se istim redoslijedom kako su i pohranjeni.
Povezanost slogova:
 fizička
o slogovi se nalaze spremljeni po redu fizički jedan iza drugog
 logička
o slogovi nisu spremljeni fizički jedan iza drugog
o na kraju sloga spremljena je adresa (pokazivač) na slijedeći slog
Direktna ili relativna datoteka
 slogovi se pohranjuju na (relativnim) adresama od 1 do N
 svakom nasumce izabranom slogu moguće je pristupiti izravno (direktno)
 to omogućuje čvrst odnos ključa i adrese sloga
 adresa sloga „izračunava“ iz ključa sloga

Adresa sloga = f(ključ sloga).


Koriste se:
 jednostavna funkcija gdje je adresa=ključ
o slog s ključem 1 memorira se na adresi 1
o slog s ključem 2 memorira se na adresi 2, itd
 najčešće se koristi funkcija modularnog dijeljenja adresa=mod(ključ/N)+1
o dijeljenje s ostatkom (modulno dijeljenje)

Primjer adresa=mod(ključ/N)+1
 Imamo slogove o osobama (JMBG, ime, prezime, datum rođenja, …)
 Za ključ kod osobe uzimamo JMBG
 Za 2200 slogova osoba uzeti 2500 slogova (rezerva!)
 Za JMBG: 2508971335285
o adresa=mod(2508971335285 ; 2500) + 1 = 285 + 1 = 286
 Za JMBG: 2010966340307
o adresa=mod(2010966340307 ; 2500) + 1 = 307 + 1 = 308

Sinonimi
Sinonimi – to su slogovi čiji (različiti) ključevi daju istu adresu
Funkcija mod vraća istu vrijednost (adresu) za različite ključeve (npr. JMBG)
Rješenje:
Slogovi sinonimi, stavljaju se u posebno preljevno područje ili se smjeste na prvo
slobodno mjesto i ulančaju pokazivačem
Indeksna datoteka
Sastoji se od 2 područja (dijela) ili 2 datoteke :
 indeksno područje u kojem je smješten indeks (ključ sloga → adresa sloga)
 područje slogova (podaci)

 Pronalaženje slogova
o počinje od indeksa (→ adresa sloga),
o a nastavlja u području slogova (→ slog)

 indeksno područje organizirano kao datoteka u kojoj je pronalaženje indeksnih


slogova brzo kao u direktnoj datoteci
 područje slogova organizirano kao slijedna datoteka u kojoj se slogovi nalaze
jedan do drugoga štedeći memorijski prostor

Gustoća indeksa
To je omjer broja ključeva u indeksu (indeksnih vrijednosti) i broja slogova u datoteci

Gust indeks (gustoća = 1)


 svaki slog ima indeksnu vrijednost u indeksu
 za organizaciju indeksnog područja mogu se koristiti sve metode pristupa

Rijedak indeks (gustoća < 1)


 ključevi u indeksnom području i slogovi u području podataka moraju biti
sortirani
 svaki blok ima jednu indeksnu vrijednost, koja sadrži najveću vrijednost ključa
u bloku i logičku adresu bloka
Indeks s više razina – B+ stablo
Indeksna tablica često ima oblik slijedne datoteke pa je pretraživanje indeksa
slijedno i dugotrajno.
Da bi se povećala brzina pretraživanja koristi se B+ stablo
B+ stablo reda m
Jest stablo u kojem svaki čvor koji nije list (krajnji čvor) ima N podređenih čvorova
gdje je [m/2] ≤ N ≤ m, a korijen (početni čvor) NR podređenih čvorova, gdje je
2≤NR≤m
B+-stablo je balansirano, jer su listovi jednako udaljeni od korijena pa imamo
jednakovremeno pronalaženje svih slogova u datoteci
BAZE PODATAKA
Baze podataka i informacijski sustav
Informacijski sustav

→ sustav koji prikuplja, pohranjuje i obrađuje podatke organizacije te isporučuje informacije


potrebne za odlučivanje
→ aktivni društveni sustav koji može koristiti suvremenu informacijsku tehnologiju

Elementarna informacija – opis jednog obilježja određenog objekta

Informacija

→ novo znanje koje primatelju donosi nove činjenice


→ otklanja neizvjesnost i služi kao podloga za odlučivanje
→ upotrebom se ne troši
→ njena vrijednost ovisi o kvaliteti i primatelju

Informaciju predstavlja npr. rečenica „Ana je rođena 21.3.1984.“ → to je elementarna informacija dana u
obliku navedene elementarne poruke, po njoj se elementarna informacija predstavlja n-torkom: <naziv
objekta, obilježje objekta, vrijednost obilježja, vrijeme>
Ana je objekt čije je promatrano obilježje datum rođenja i koje ima vrijednost 21.3.1984.
Određeno obilježje objekta u određenom trenutku ima svoju vrijednost

Podatak – skup prepoznatljivih znakova zapisanih na mediju (papir, film, magnetski mediji)

Značajke informacije (kvalitetna informacija je:)

1. Točnost
2. Potpunost
3. Primjerenost
4. Pravovremenost

Upravljanje poslovnim sustavom uključuje:

1) Planiranje
2) Organiziranje
3) Kontroliranje

Upravljanje poslovnim sustavom obavlja se na više razina:

1) Operativno upravljanje – niže poslovodstvo koje nadgleda dnevne aktivnosti


2) Taktičko upravljanje – srednje poslovodstvo koje razmatra aktivnosti unutar dužeg razdoblja
3) Strateško upravljanje – najviše poslovodstvo koje donosi strateške, često dugoročne odluke

Tri kategorije informacijskog sustava s obzirom na vrstu podataka

1. Transakcijski informacijski sustav


pruža potporu dnevnom obavljanju poslovnih aktivnosti
prije se nazivao „elektronička obrada podataka“
2. Upravljački informacijski sustav
služi prvenstveno srednjem poslovodstvu
daje pregled poslovnih aktivnosti
3. Sustav za potporu odlučivanju
obrađuje postojeće informacije da bi proizveo nove informacije nužne u procesu odlučivanja

1
Informacijski sustav pripada poslovnom modelu te se sastoji od 3 podmodela

1. Model podataka
Definira što su podaci informacijskog sustava
Opisuje se na konceptualnoj, logičkoj i fizičkoj razini
To je formalni sustav koji ima 3 međusobno povezane komponente:
a) Skup koncepata za opis strukture podataka
b) Skup koncepata za opis ograničenja podataka, kako bi oni bili valjani i prihvaćeni
c) Skup operatora kojima se podaci mijenjaju
S obzirom na razlike u formalnim modelima podataka razlikujemo:
1) Modele s potpuno kategoriziranim podacima – svaki podataka spada u neku kategoriju
2) Modele sa slabo (nepotpuno) kategoriziranim podacima
Modeliranje podataka je postupak pronalaženja kategorija podataka i odnosa među njima

2. Model procesa
Definira kako se obrađuju, prikupljaju i distribuiraju podaci informacijskog sustava
Opisuje dinamiku podataka informacijskog sustava
Opisuje se na konceptualnoj, logičkoj i fizičkoj razini
3 komponente modela procesa:
1. Skup koncepata za opis strukture procesa
2. Skup operatora za opis procesa
3. Skup koncepata za opis dinamike obavljanja procesa

3. Model izvršitelja (resursa)


Definira tko obrađuje podatke, gdje se podaci nalaze te gdje se obrađuju
Njime se definiraju izvršitelji poslova unutar informacijskog sustava
Opisuje sve izvršitelje potrebne za rad informacijskog sustava: hardware, software, lifeware i
orgware

Znanje - uređen skup informacija nekog područja kojim se opisuje stanje stvari ustanovljeno po
prihvaćenom kriteriju (znanstvenom, iskustvenom)

Svako područje organizira svoje znanje utvrđivanjem prikladnih koncepata, njihovih međusobnih odnosa i
ograničenja

Tehnologija obrade podataka - ciljevi:

1. Potpore poslovnim procesima (praćenje)


2. Dobivanje informacija (upravljanje)
3. Osobni rad, komunikacija i suradnja (povezivanje)

Sredstva: hardver, softver, „lifeware“, „orgware“ i „dataware“

Upravljanje podacima može biti:

→ Cjelovito upravljanje podacima organizacije (kako s podacima?)


→ Upravljanje poslovnim sustavom uz pomoć podataka (što s podacima?)

2
Dijelovi informacijskog sustava

✓ Izvršni sloj – sustav za obradu transakcija (izvođenje poslovnog procesa)


→ Upotrebom IT izvođenje poslovnog procesa može se:
1. Automatizirati – uz manje manualnog rada (npr. obračun kamata u banci)
2. Učiniti djelotvornijim
3. Učiniti na drugačiji način (npr. naručivanje putem interneta)

✓ Upravljački sloj – sustav za potporu upravljanju (upravljanje i odlučivanje)

Informacija je podloga za donošenje poslovne odluke


Mogućnosti obrade podataka – izvještavanje, analitička obrada, otkrivanje znanja iz podataka (rudarenje),
ekspertno zaključivanje iz podataka (ekspertni sustavi), simulacija tj. zaključivanje simulacijom

✓ Informativni sloj – sustav za informiranje, komunikaciju i suradnju

Reinženjering poslovnog procesa – promjena načina obavljanja poslovnog procesa

Transakcijski sustav/sustav za obradu transakcija

 Pruža potporu tekućem odvijanju poslovnog procesa – obrada transakcija


 Vođenje evidencije – evidentiranje zapisa o svakoj transakciji u bazu podataka
 Izdavanje i izvještavanje
 Karakteristike transakcije IS-a (AKIT)
1. Atomarnost – može se sastojati od više aktivnosti, operacija ili koraka, ali se mora obaviti
u cijelosti obavljanjem svih aktivnosti
2. Konzistentnost – promijenjeni podaci moraju ostati sadržajno konzistentni u skladu s
definiranim ograničenjima (npr. JMBAG)
3. Izoliranost – kada se istovremeno obavlja više transakcija, njihov učinak mora biti kao da
su se obavljale neovisno jedna iza druge
4. Trajnost – učinci transakcija moraju biti trajni

Sustav za potporu odlučivanju

 Postupcima analitičke obrade, otkrivanjem znanja iz podataka pronalazi informacije, uobličuje ih i


aktivno ih nudi korisniku
 Načini obrade podataka
1. Izvještavanje
2. Analitička obrada podataka (OLAP)

Otkrivanje znanja iz podataka (kopanje/rudarenje; KDD/DM)

3
Baza podataka i sustav za upravljanje bazom podataka
Baza podataka je skup povezanih podataka informacijskog sustava ili aplikacije

Karakteristike baze podataka:

1. Podaci su međusobno ovisni


2. Izbjegava se redundancija
3. Podaci služe jednoj ili više aplikacija na optimalan način
4. Podaci su neovisni o programima kojima se obrađuju
5. Pristup podacima je kontroliran

Što su podaci bolje klasificirani, kategorizirani, tipizirani,… to su više strukturirani

Vrste baza podataka:

1. Baze strukturiranih podataka


→ Koriste se u poslovnim primjenama
→ Najviše se koriste relacijske (tablične) baze podataka
2. Baze nestrukturiranih ili polustrukturiranih podataka
→ Sadrže jednomedijske (tekst, video, slike) ili multimedijske (video) podatke
→ Baze dokumenata
3. Baze znanja
→ Sadrže znanje prikazano u različitim oblicima
→ Prikazano znanje upotrebljava se korištenjem različitih mehanizama zaključivanja

Baze podataka razlikuju se po vrsti podataka koje pohranjuju i namjeni korištenja podataka

Baza podataka u izvršnom sloju IS-a

→ Proces čine aktivnosti kojima se od ulaza „proizvode“ izlazi


→ Ulazi i izlazi mogu biti materijalni i informacijski
→ Stanje procesa se bilježi podacima
→ Za donošenje dobre poslovne odluke potrebne su kvalitetne informacije (točne, potpune,
primjerene i pravovremene)
→ Upravljanje poslovnim sustavom uključuje planiranje, organiziranje i kontroliranje aktivnosti
poslovnog sustava
→ Baza znanja je specifična baza podataka i koristi se kod ekspertnih sustava
→ Baza dokumenata pretežito sadrži nestrukturirane multimedijske podatke
→ Pretraživanjem informacija pronalaze se dokumenti koji odgovaraju upitu

Sustav za upravljanje bazom podataka

→ Programski sustav koji omogućuje rad s bazom podataka, uključuje:


I. Funkcije za definiranje baze podataka
Jezik koji opisuje baze podataka – SQL kod RBP i zaseban jezik (DDL)
II. Funkcije za manipulaciju podacima
SQL, zaseban jezik (DML) ili DML-naredbe dodane klasičnim programskim jezicima
COBOL, PL/I, FORTRAN, C, PASCAL
III. Upravljačke funkcije
Funkcije sigurnosti baze podataka
Funkcije osiguranja integriteta baze podataka
Funkcije statičkog praćenja rada baze podataka

4
Shema baza podataka

→ Sadrži definiciju (opis) baze podataka


→ ANSI/SPARC
• Konceptualna shema – potpun konceptualni ili logički model podataka čitave baze
podataka
• Vanjska shema ili korisnički pregled – opis dijela logičkog modela podataka, na način
primjeren određenom korisniku; sukladna s konceptualnom shemom
• Unutarnja (fizička) shema – opis fizičkih podataka u bazi; sukladna s konceptualnom
shemom
→ Fizička nezavisnost podataka postignuta je ako pri promjeni fizičke sheme baze podataka nije
potrebno mijenjati aplikacijske programe
→ Logička nezavisnost podataka postignuta je ako pri promjeni konceptualne sheme nije potrebno
mijenjati aplikacijske programe
→ U praksi, teže je postići logičku nezavisnost podataka

Rječnik podataka (Data Dictionary)

→ Sadrži podatke o podacima u bazi podataka (metapodatke)


→ Definicija baze podataka (sheme baze podataka):
▪ Opis svih podataka
▪ Popis korisnika baze podataka i njihova ovlaštenja
▪ Deklarativna pravila i okidači za očuvanje integriteta ili za opis poslovnih pravila
▪ Pohranjene procedure kojima su opisane različite operacije na podacima
→ Smješten je u bazi podataka na isti način kao i „obični“ podaci
→ Njegove podatke mijenja korisnik s posebnim ovlaštenjima – administrator baze podataka

Modeliranje podataka
Model je apstrakcija stvarnog svijeta

Modeliranje je postupak izrade modela

Rezultat modeliranja je model podataka

Model podataka je opis podataka na formalan način, odgovarajuće dostupan svim korisnicima

Modeliranje podataka obavlja se u svim fazama razvoja informacijskog sustava

Modeliranje baze podataka – koraci:

1. Konceptualno oblikovanje
→ Izrada modela „entiteti-veze“ za svaki proces
→ Promatra se izvršenje procesa
(a) Određivanje jakih entiteta („matični podaci“, „šifarnici“) i njihovih atributa
(b) Određivanje slabih i veznih entiteta odnosno veza jakih entiteta kojima se prikazuje
izvršenje poslovnih procesa
2. Logičko oblikovanje ili implementacijsko
→ Pretvorba modela „entiteta-veza“ u relacijsku shemu baze podataka
3. Fizičko oblikovanje
→ Definiranje fizičkog prostora
→ Definiranje metode adresiranja fizičkih slogova

5
Ciljevi dobrog modeliranja:

1. Dokumentiranje informacijskih zahtjeva


2. Izgradnja baze podataka koja ima minimalnu zalihnost, maksimalnu integriranost i konzistentnost
podataka, odgovarajuću stabilnost i fleksibilnost te dobar pristup i iskoristivost
3. Povećanje vrijednosti podatkovnih resursa

Problem lista
Svrha baze podataka je bilježenje, zapis da se nešto dogodilo

Baza podataka može spremiti puno složenije podatke nego liste (npr. „sheet“ u excelu)

Problemi s listama:

1. Redundancija (zalihnost)
→ Nepotrebno multipliciranje podataka
→ U listi je svaki redak jedinka za sebe i može egzistirati samostalno i neovisno; posljedica je
unošenje istih podataka više puta
2. Multipliciranje područja, teme (podataka)
→ U listi svaki redak može sadržavati podatke više tema, pa se traženi podaci jedne teme
moraju prikazati i sa onima koji se ne traže
3. Dodatno multipliciranje područja, tema (podataka)
4. Problemi izmjene podataka
→ Problemi redundancije su :
(a) Problem brisanja podataka
(b) Problem ažuriranja podataka
(c) Problem unosa podataka

Relacijska baza podataka (RBP)

 Sprema podatke u tablice (relacije)


 Podaci jedne teme su spremljeni u jednu tablicu (ideja RBP)
 Dijeli listu na dijelove; svaki dio (tablica) za jednu temu iz liste
 Dijeli listu u nekoliko tablica, ali te tablice treba opet povezati jer često želimo povezano gledati
podatke
 Minimizira redundancije i čuva složene odnose među temama i omogućuju pojedinačne podatke
 Temelj za korištenje obrazaca za unos i izvještaje
 U RBP tablice se povezuju korištenjem vrijednosti podataka
 Složenija je od liste podataka (lista je složena kada su u jednoj tablici deseci stupaca

6
KONCEPTUALNO MODELIRANJE

Konceptualno modeliranje polazi od specifikacija informacijskih zahtjeva, koje čine zahtjevi na strukturu
podataka i zahtjevi za korištenjem podataka, a rezultira izrađenim konceptualnim modelom podataka.

Konceptualni model podataka je cjelovit, konzistentan i neredundantan opis podataka informacijskog


sustava neovisan o implementaciji (logičkoj i fizičkoj).

Konceptualni model podataka opisuje podatke stvarnog svijeta pojmovima: objekt (entitet), veza
(odnos) i atribut

Konceptualni model podataka sastoji se od više dijagrama i detaljnog opisa elemenata modela.

Detaljan opis modela podataka smješta u rječnik podataka (katalog, repozitorij, enciklopediju)
informacijskog sustava.

Model entiteti-veze

 Koristi postupke apstrakcije


 Apstrakcija – uočavanje bitnog a ispuštanje nebitnog
 Oblici apstrakcije su klasifikacija, generalizacija i agregacija
 Klasifikacija predstavlja grupiranje objekata (entiteta) u klase, tipove ili razrede prema
zajedničkim obilježjima
(npr. Ivan, Ana, Josip se mogu klasificirati u tip entiteta student)
Opisuje se vezom „jest pojava“ tj. „instance of“
Instantacija je obrnuti postupak, od tipa entiteta prema njegovim pojavama
 Generalizacija predstavlja grupiranje tipova klasa niže razine u tipove više razine
(npr. tipovi entiteta djelatnik, student i umirovljenik generaliziraju se tipom entiteta osoba)
Opisuje se vezom „jest“ tj. „is a“
Specijalizacija obrnuti postupak, npr. osoba se specijalizira za djelatnika, studenta ili
umirovljenika
 Agregacija je formiranje novog pojma višeg stupnja temeljem odnosa postojećih pojmova:
▪ Agregacija jednostavnih atributa čime se opisuje entitet
(npr. atributi ime, prezime opisuju entitet osoba)
▪ Agregacija entiteta u novi entitet
(npr. rezervacija je entitet agregiran od entiteta osoba, soba, datum)

 Entitet (objekt) je stvaran ili apstraktan predmet ili događaj o kojemu se u informacijskom
sustavu prikupljaju podaci
(npr. kuća, osoba, predavanje, …)
Entiteti imaju svoje atribute tj. obilježja
Skup srodnih entiteta može se prikazati tipom entiteta ili klasom
Klasa je opis objekata koji imaju ista svojstva (atribute) i ponašanje – pripadaju istom pojmu

7
 Veza predstavlja agregaciju dvaju ili više entiteta u novi entitet-vezu
Stupanj veze je broj entiteta koji sudjeluju u vezi
Veze stupnja 2, 3 i n zovu se binarnom, ternarnom i n-arnom vezom
Unarna veza je poseban slučaj binarne veze u kojoj na obje strane veze sudjeluju pojave istog
tipa entiteta (npr. veza Brak entiteta Osoba (na obje strane))
Binarna i unarna veza smatraju se običnim vezama te se prikazuju binarnim relacijama
Uloga entiteta u vezi opisuje funkciju koju entitet u njoj ispunjava te se ona opisuje glagolom ili
imenicom
Kardinalnosti veze
a) Jedan-prema-jedan (1:1)
b) Jedan-prema-više (1:M)
c) Više-prema-više (M:M)
Veza – slabost entiteta
Entitet je jak ako postoji samostalno, npr. škola
Entitet je slab ako ne postoji samostalno ili se ne identificira samostalno, npr. razred
Identifikacija zavisnosti koristi se pri modeliranju atributa koji imaju više vrijednosti
Specijalizacija/Generalizacija je veza koja opisuje odnos entiteta i njegovih podtipova
Više podtipova se generalizira u jedan nadtip
Entitet podtip „jest“ entitet nadtip
(radnik jest osoba (osoba nije uvijek radnik))
Vrste specijalizacije
1. Ekskluzivna specijalizacija – ako se svaka pojava entiteta nadtipa specijalizira u samo jedan od
entiteta podtipova
2. Neekskluzivna specijalizacija – ako se svaka pojava entiteta nadtipa istovremeno specijalizira
u više entiteta podtipova
3. Obavezna specijalizacija – ako se svaka pojava entiteta nadtipa specijalizira u barem jedan
entitet podtip
Agregacija je veza u kojoj sudjeluje 3 ili više entiteta ili veza s opisanim atributima ili veza koja se
ponaša kao entitet jer sudjeluje u vezi s drugim entitetima

 Atribut opisuje entitet ili vezu


(npr. Osoba je opisana atributima Matični_broj, Ime, Prezime, …)
Svaki atribut može poprimiti jednu vrijednost iz domene
Domena opisuje moguće vrijednosti atributa
(npr. Matični_broj ima domenu vrijednosti od 1 – 5000)
Atribut je funkcija koja skupu entiteta pridružuje skup vrijednosti odgovarajuće domene
Vrijednost svakog atributa mijenja se tijekom vremena ! ! !

 Ključ je skup atributa čije vrijednosti omogućuju jednoznačnu identifikaciju svake pojave tipa
entiteta
(npr. Matični_broj JE ključ, ali kombinacija Ime_Prezime NIJE)
Minimalni ključ je ključ čiji niti jedan podskup atributa nema karakteristike ključa
Minimalnih ključeva ima više i oni se nazivaju mogućim ključevima
Jedan izabrani mogući ključ postaje primarni ključ
Primarni ključ identifikacijski slabog entiteta se formira od primarnog ključa jakog entiteta i
diskriminatora slabog entiteta
Diskriminator skup atributa slabog entiteta koji omogućuje identifikaciju
Primarni ključ jednoznačno identificira pojave jednog entiteta
Superključ je bilo koji skup atributa koji sadrži ključ (ne mora biti minimalan)

8
Grafički prikaz modela entiteti-veze

→ U praksi se najčešće koriste Chenov i Martinov grafički prikaz


→ Chenov prikaz

Jedan ODJEL
zapošljava
jednu ili više
OSOBA.

Jedna OSOBA
radi/je
zaposlena u
niti jednom ili
jednom
ODJELU.

→ Martinov prikaz

Jedan ODJEL zapošljava


jednu ili više OSOBA.

Jedna OSOBA radi u niti


jednom ili jednom ODJELU.

9
Izrada modela entiteti-veze

→ Korak u analizi poslovnog sustava kojim se specificiraju informacijski zahtjevi


→ Korisnici definiraju zahtjeve u narativnom obliku (definicija informacijskih zahtjeva)
→ Analitičar izrađuje formalnu specifikaciju informacijskih zahtjeva, a čine ju:
a) Identificirani entiteti poslovnog sustava i njihova struktura
b) Pravila obavljanja i pokretanja procesa nad entitetima poslovnog sustava
→ Model entiteti-veze prikazuje entitete i njihovu strukturu
→ Za postupak izrade modela entiteti-veze trebamo:
1. Prikupiti i analizirati informacijske zahtjeve
2. Izraditi model entiteti veze
a) Utvrditi entitete
b) Utvrditi veze među entitetima
c) Utvrditi ključeve
d) Utvrditi ograničenja unosa, brisanja i promjene ključeva
e) Utvrditi atribute entiteta
3. Konsolidirati model entiteti-veze

→ Postupak utvrđivanja entiteta:


1. Utvrditi što je entitet intervjuirajući korisnike ili koristeći dokumentaciju poslovnog sustava
Entitet je objekt koji se može identificirati i koji osim identifikatora ima barem jedan vlastiti
atribut
Entiteti su imenice kojima se opisuju „stvari“ poslovnog sustava
Nazivi obrazaca nisu entiteti
2. Imenovati entitete
Najbolje je izabrati imenicu u jednini te naziv provjeriti s više korisnika
Naziv entiteta mora biti jedinstven
3. Opisati entitete
Opis treba odražavati značenje i upotrebu entiteta
Dobar opis sastoji se od punih rečenica, a ne natuknica
4. Utvrditi specijalizaciju entiteta
Utvrđuje se veza entiteta nadtipova i podtipova
Utvrđuje se kada se atributi podtipa i nadtipa značajno razlikuju i/ili kada podtip samostalno
sudjeluje u vezi
5. Utvrditi zavisnost entiteta
Identifikacijski slab entitet uvijek ima primarni ključ složen od ključa jakog entiteta i
diskriminatora
Zalihnost entiteta prikazuje se običnom vezom čija je kardinalnost 1,1:1,M ili 1,1:0,M

→ Koraci kod utvrđivanja veze


1. Utvrditi veze intervjuirajući korisnike ili koristeći dokumentaciju poslovnog sustava
Veze su glagoli (ali ne svi)
Ako se utvrđuju samo izravne veza dvaju entiteta, poslužiti će matrica odnosa dvaju entiteta
2. Imenovati veze nazivom veze (Chenov prikaz) ili uloge entiteta (Martinov prikaz) ili oboje
3. Opisati veze punim opisom i s primjerima
4. Utvrditi kardinalnost veze odgovarajući na pitanja
5. Izbaciti redundantne veze koje se izvode iz drugih veza (ne možemo utvrditi mehanički)
6. Utvrditi veze višeg stupnja
Poslovno pravilo opisano rečenicom u kojoj se pojavljuje tri ili više imenica upućuje na vezu
višeg stupnja

10
→ Koraci utvrđivanja ključeva entiteta
1. Utvrditi ključeve jakih entiteta
Primarni ključ je jedan ili više identifikacijskih atributa
2. Utvrditi ključeve slabih entiteta
Slabi entiteti nasljeđuju ključ jakog entiteta, a imaju diskriminator
3. Izbjegavati sastavljene ključeve
Ako je ključ sastavljen od više atributa treba provjeriti postoje li entiteti s ključevima koji
odgovaraju komponentama sastavljenog ključa, ako takvi entiteti postoje, entiteti sa
sastavljenim ključem nadomještaju se vezom → ne vrijedi za Martinov prikaz

→ Koraci utvrđivanja atributa


1. Utvrditi atribute intervjuirajući korisnike ili koristeći dokumentaciju poslovnog sustava
2. Imenovati atribute
Naziv atributa može se sastojati od tri dijela koji imaju različitu namjenu: korijen, kvalifikator i
klase atributa
3. Opisati atribute
Koristiti ista pravila kao za opis entiteta
Definirati domenu vrijednosti atributa, opisati u kojim se jedinicama vrijednost izražava
4. Utvrditi kardinalnost atributa odgovarajući na pitanja
Atribut s više vrijednosti ima gornju granicu kardinalnosti M
5. Verificirati pripadnost atributa
Iz poslovnih pravila verificirati pripadnost atributa entiteta ili vezi
6. Grupirati povezane atribute
Nekoliko međusobno povezanih atributa može činiti cjelinu
(npr. Godina, Mjesec, Dan se grupiraju u složeni atribut Datum)
7. Izbaciti derivirane atribute
Derivirani atributi mogu se izvesti iz drugih atributa
Ako je derivirani atribut važan za korisnike može se zadržati

→ Konsolidiranje modela entiteti-veze


Cilj: načiniti jedinstveni model podataka informacijskog sustava
Jedinstveni model podataka treba biti:
1. Kompletan
2. Neredundantan
3. Konzistentan
Nekonzistentnosti koje treba riješiti:
a) Sinonimi – različito nazvani istovrsni objekti modela: entiteti, veze ili atributi
b) Homonimi – jednako nazvani različiti objekti modela podataka
c) Redundantne veze izbaciti

11
Objektni modeli

✓ Podaci se definiraju kroz objekte, a model se implementira kroz objektnu bazu podataka
✓ Objekt je apstrakcija nečega u problemskoj domeni; stvar o kojoj je stvoren pojam i o njemu
bilježimo podatke
✓ Klasa je opis objekata koji imaju ista svojstva i ponašanje – pripadaju istom pojmu
✓ Atributi objekta – svaki objekt opisan je vrijednostima atributa
✓ Atribut klase objekta – npr. klasa Radnik ima atribut MinimalnaPlaća
✓ Atribut veze među objektima – npr. atribut DatumZaposlenja je atribut veze objekata Poduzeće
i Radnik
✓ Odnos objekata
1. Asocijacija – odnos dvaju ravnopravnih objekata
2. Generalizacija/specijalizacija – odnos objekata u kojem generalizirani objekt potpuno
uključuje specijalizirani objekt, ali ne i obrnuto (npr. Radnik
jest Osoba, ali Osoba ne mora biti Radnik)
3. Agregacija – odnos u kojem se jedan objekt sastoji od drugih objekata (npr. objekt Automobil
se sastoji od objekata Motor i Karoserija)

Ponašanje objekata
a) Stanje objekta – opisano je atributima odnosno odnosima prema drugim objektima
b) Promjena stanja – prijelaz iz jednog stanja u drugo
c) Događaj – značajna promjena stanja objekta
d) Pravilo pokretanja – poslovno pravilo koje određuje koji događaj u kojim uvjetima koju operaciju
pokreće

12
AGREGACIJA U POSTUPKU MODELIRANJA PODATAKA?
Formiranje novog pojma, viseg stupnja, temeljem odnosa postojecih pojmova:
agregacija, jednostavnih atributa cime se opisuje entitet, agregacija entiteta u novi
entitet, objekt u kojem se objekt sastoji od drugih objekata

APSTRAKCIJA?
Uocavanje glavnog, opceg, bitnog, a ispustanje sporednog posebnog ili nebitnog

ATRIBUT U MODELU ENTITETI I VEZA?


Atribut-funkcija koja skupu entiteta pridruzuje skup vrijednosti odgovarajuce domene.
Atributi (obiljezja ili svojstva) opisuju entitet ili vezu.

BINARNE VEZE PO KARDINALNOSTI? (veze 2 entiteta)


Jedan prema jedan (1:1), Jedan prema više (1:M),Više prema više (M:M)

ENTITET? Entitet je stvaran ili apstraktan predmet ili događaj o kojemu se u


informacijskom sustavu prikupljaju podaci.

FAZE (KORAKE) U MODELIRANJU PODATAKA!


Konceptualno, logičko, fizičko.

17. Nabrojite faze (korake) u modeliranju podataka!


Konceptualno oblikovanje-izrada (pod) modela entiteti-veze za svaki process-
promatra se izvrsenje procesa.
Logicko oblikovanje-pretvorba modela entiteta-veza u relacijsku shemu baze
podataka
Fizicko oblikovanje-definiranje fizickog prostora, definiranje metoda adresiranja
fizickih slogova
FAZE RAZVOJA INFORMACIJSKOG SUSTAVA!
Planiranje/strategija informacijskog sustava,
analiza poslovnog sustava,
oblikovanje informacijskog sustava,
izrada informacijskog sustava,
uvođenje u rad informacijskog sustava,
održavanje informacijskog sustava.

GENERALIZACIJA/SPECIJALIZACIJA U POSTUPKU MODELIRANJA


PODATAKA? Odnos objekata (entiteta) u kojem generalizirani objekt potpuno
ukljucuje specijalizirani objekt, ali ne i obrnuto.

KLASIFIKACIJA U POSTUPKU MODELIRANJA PODATAKA?


Klasifikacija - grupiranje objekata (entiteta) u klase (objekata) , tipove (entiteta) ili
razrede prema zajedinckim obiljezjima.

KLJUČ? Ključ je skup atributa čije vrijednosti omogućuju jednoznačnu identifikaciju


svake pojave tipa entiteta.

Konceptualno oblikovanje
izrada (pod) modela entiteti-veze za svaki process-promatra se izvrsenje procesa.
Logicko oblikovanje-pretvorba modela entiteta-veza u relacijsku shemu baze
podataka.

KONZISTENTNOSTI TRANSAKCIJE?
Konzistentnost-transakcijom baza podataka prelazi iz jednog konzistentnog stanja u
drugo konzistentno stanje.

KORACI U MODELIRANJU PODATAKA!


Klasifikacija, generalizacija, agregacija.
KVALITETNE INFORMACIJE? Kvalitetna informacija jest:
Tocna-korektno opisuje stanje stvari,
Potpuna-potpuno opisuje stanje stvari,
Primjerena-relevantna, odogovara problem i osobi,
Pravovremena-dobivena na vrijeme

METODA ELIMINACIJE REDUNDANCIJE IZ RELACIJSKE BAZE PODATAKA?


Metoda normalizacije

PRETVORBA TERNARNE VEZE IZ ER MODELA U RM?


Realizacija je slična binarnoj vezi M:M. Nova relacija ima toliko stranih ključeva koliki
je stupanj veze. U ternarnoj vezi tri su strana ključa i od njih se formira primarni ključ.

67. Minimalni kljuc


Minimalni kljuc je kljuc ciji niti jedan podskup atributa nema karakteristike kljuca

PRIMARNI KLJUC I CEMU SLUZI?


Skup minimalnih atributa cije vrijednosti jednoznacno oznacavaju svaku n-torku
relacije.

RAZLIKA GENERALIZACIJE I SPECIJALIZACIJE?


Generalizacija/specijalizacija-odnos objekta u kojem generalizirani objekt potpuno
ukljucuje specijalizirani objekt, ali ne i obrnuto.

2. Sto je transakcija?
Transakcija je jedinica rada na bazi podataka, sastoji se od niza logicki povezanih
operacija. Pocetak transakcije- BEGIN WORK
Svojstvo: obavlja se u potpunosti ili nikako.
SVOJSTVA TRANSKACIJE-ACID!
Atomity-atomarnost-transakcija se mora obaviti u cjelosti ili se uopće ne smije
obaviti
Consistency-konzistentnost-transakcijom baza podataka prelazi iz jednog
konzistentnog stanja u drugo konzistentno stanje

Isolation-izolacija-kada se paralelno obavljaju dvije ili više transakcije, njihov ucinak


mora biti jednak kao da su se obavljale jedna iza druge

Durability-izdrzljivost-ako je transakcija obavila svoj posao, njezini efekti ne smiju biti


izgubljeni u slucaju kvara sustava, cak i ako se kvar desi neposredno nakon
zavrsetka transakcije

SVOJSTVO IZOLACIJE TRANSAKCIJE?


Kada se paralelno obavljaju dvije ili vise transakcija, njihov ucinak mora biti jednak
kao da su se obavljale jedna iza druge.

SVOJSTVO KONZISTENTNOSTI TRANSAKCIJE?


Ne mijenja se kontekst ni znacenje podatka. Ostaje isto

TRANSAKCIJA?
Transakcija je jedinica rada na bazi podatka, koja se sastoji od niza logički povezanih
podataka. Svojstva transakcije su: atomarnost, konzistentnost, izoliranost, trajnost.

VEZA ENTITETA ODJEL I RADNIK TIPA 1:M? STO TO ZNACI?


Veza tipa 1:M u ovom slučaju označava da u jednom odjelu radi više radnika,
odnosno označava da organizacijska jedinica ODJEL u sebi sadržava više entiteta
RADNIK.
VEZA U MODELU ENTITETI-VEZE?
Veza je agregacija (asocijacija) dvaju ili vise entiteta. Veza je matematicka relacija
k≥2 skupova entiteta. Veza je agregacija (asocijacija) dvaju ili više entiteta. Stupanj
veze je određen brojem entiteta koji sudjeluju u vezi. Postoji binarna, unarna,
ternanrna veza.

Cemu sluzi veza u modelu entiteti-veze? (nije 100 posto tocno)


Veza je agregacija (asocijacija) dvaju ili vise entiteta. Veza je matematicka relacija
k≥2 skupova entiteta.

VIŠEZNAČNA ZAVISNOST
Ako su X i Y disjunktni skupovi atributa relacije R, a njihov komplement je Z=R-XY,
relacija R zadovoljava višeznačnu zavisnost X→→Y ako uz dvije promatrane n-torke
xy1z1 i xy2z2 sadrži i n-torke xy1z2 i xy2z1
VRIJEDNOST INFORMACIJE? Ovisna je o kvaliteti i ovisna je u primatelju.
Upotrebom se ne troši.

VRSTE SPAJANJA U RELACIJSKOG ALGEBRI!


Unija, razlika, presjek, Kartezijev produkt, dijeljenje, selekcija, projekcija, spajanje.

VRSTE SPECIJALIZACIJE!
Ekskluzivna specijalizacija- ako se svaka pojava entiteta specijalizira u samo jedan
od entiteta podtipova

Neekskluzivna specijalizacija- ako se svaka pojava entiteta nadtipa istovremeno


specijalizira u vise entiteta podtipova

Obavezna specijalizacija-ako se svaka pojava entiteta nadtipa specijalizira u barem


jedan entitet podtip
3 . Sto je zadataka faze uvodenja u rad informacijskog sustava?
Zadaci-provjera cjeline novog IS-a, obavljanje prijelaza sa starog na novi IS,
izobrazba korisnika za rad s novim IS-om.

ZADATAK FAZE ANALIZE POSLOVNOG SUSTAVA? Prikupljanje i analiziranje


informacijskih zahtjeva koji se postavljaju pred informacijski sustav. Formalno
modeliranje informacijskih zahtjeva (izrada modela podataka i procesa ili izrada
objektnog modela).

44. Sto je zadatak faze analize poslovnog sustava?


Prikupljanje i analiziranje informacijskih zahtjeva koji se postavljaju pred informacijski
sustav. Formalno modeliranje informacijskih zahtjeva (izrada modela podataka i
procesa ili izrada objektnog modela).

ZADATAK FAZE ODRZAVANJA INFORMACIJSKOG SUSTAVA?


Uocavanje i ispravljanje gresaka i nedostataka IS-a tijekom njegova rada.
Prilagodavanje IS promjenama poslovnog sustava nastalim nakon uvodenja sustava.

ZADATAK FAZE UVODENJA U RAD INFORMACIJSKOG SUSTAVA?


Zadatak je razraditi kako će informacijski sustav raditi. Struktura - modeliranje baze
podataka prema zahtjevima konceptualnog modela podataka,aktivnost - oblikovanje
logike procesa, mjesto - oblikovanje racunalne i organizacijske mreze, korisnici -
definiranje korisnika, vrijeme - definiranje dogadjaja.

ZADATAK OBLIKOVANJA INF. SUSTAVA?


Zadatak- razraditi kako ce IS raditi. (Specifikacija rjesenja)- Struktura, aktivnost,
mjesto, korisnici, vrijeme

43. Sto je podatak, a sto informacija?


Podatak je skup prepoznatljivih znakova zapisanih na mediju-papiru, filmu,
magnetskom mediju. Informacija jest cinjenica s odredenim znacenjem
46. Sto je veza entiteta ODJEL i RADNIK tipa 1:M? Sto to znaci?
Veza tipa 1:M u ovom slučaju označava da u jednom odjelu radi više radnika,
odnosno označava da organizacijska jedinica ODJEL u sebi sadržava više entiteta
RADNIK.

52. Što je entitet?


Entitet je stvaran ili apstraktan predmet ili događaj o kojemu se u informacijskom
sustavu prikupljanju podaci.

53. Koji je zadatak oblikovanja inf. sustava?


Zadatak- razraditi kako ce IS raditi. (Specifikacija rjesenja)- Struktura, aktivnost,
mjesto, korisnici, vrijeme

54. Što je ključ?


Ključ je skup atributa čije vrijednosti omogućuju jednoznačnu identifikaciju svake
pojave tipa entiteta.

59. Što je redundancija ?


Isti podatak zapisan više puta u bazi podataka, štetna pojava koju treba izbjegavati ili
svesti na najmanju moguću mjeru.

60. Što je relacija?


Relacija je imenovani podskup Kartezijevog produkta. Domena D1,D2,...,Dn:
(D 1 ,D 2 ,...,D n ) = {(d 1 ,d 2 ,...,d n ): d i єD i za 1≤i≤n}.

61. Nabrojati binarne veze po kardinalnosti?


jedan-prema-jedan (1:1) 1,1:1,1
1,1:0,1
0,1:0,1
jedan-prema-više (1:M) 1,1:0,M
0,1:0,M
više-prema-više (M:M) 0,M:0,M
6. Što je primarni ključ i čemu sluzi?
Skup minimalnih atributa čije vrijednosti jednoznačno označavaju svaku n-torku
relacije.

7. Koja je razlika pouzdane i nepouzdane dekompozicije relacije


Pouzdana dekompozicija relacije je obavljena bez gubitaka informacija i u potpunosti
je reverzibilna.

8. Osnovna svojstva relacije!


Relacija ne sadrži dva jednaka (imena) atributa (relacija ne sadrži dva jednaka
stupca), redoslijed atributa odnosno stupaca nebitan je, relacija ne sadrži dvije
jednake n-torke, redoslijed n-torki u relaciji nebitan je
9. Koja je osnovna svrha normalizacije relacijske baze podataka?
Eliminiranje redundancije.

11. Kojom naredbom SQL-a se definira pogled?


Create view.

12. Što je entitetski integritet u relaciji?


Kombinacija ograničenja jedinstvenosti i ne-nulvrijednosti. Entitetski integritet definira
ograničenje ključa „ključ ili bilo koji njegov dio ne smije imati nul-vrijednost“.
Osigurava
jednoznačno identificiranje bilo koje n-torke u relaciji

13. Što je dekompozicija relacije?


Dekompozicija relacije R je zamjena relacije R s dvije relacije R1 i R2, koje mogu
imati
zajedničke atribute R1X i R2X. Pravilo pouzdanje dekompozicije-dekompozicija
relacije R na dvije relacije R1 i R2 je pouzdana ako je presjek skupova atributa
relacija R1 i R2 ključ u R1 ili R2.
14. Kako se implementira veza 1:M u relacijskog bazi podataka?
U vezi 1:M uvesti strani ključ u relaciju na strani M

15. Kako se određuje adresa zapisa kod direktne metode adresiranja?


Metoda adresiranja određuje mjesto pohranjivanja sloga-adresa sloga. Slogovi se
pohranjuju na (relativnim) adresama od 1 do N. Adresa sloga= f(ključ).

16. Što je logički integritet baze podataka?


Baza podataka je sačuvala integritet, ako je u funkciji-fizički integritet, su podaci
konzistentni, u skladu sa zadanim ograničenjima integritet-logički integritet. Svaka
promjena podataka u bazi podataka koja nije učinjena u skladu sa zadanim
ograničenjima dovodi do pojave nekonzistentnosti (nepouzdanih i/ili netočnih)
podataka. Narušen je integritet.

20. Čemu služi nul-vrijednost u relacijskog bazi podataka?


Nul-vrijednost reprezentira nepoznatu ili neprimjenjivu vrijednost. Operacije s
nulvrijednostima: aritmetičke operacije, logičke operacije.

21. Navedite barem 3 operacije relacijske algebre!


Operacije: unija, razlika, presjek, Kartezijev produkt, dijeljenje, selekcija, projekcija,
spajanje

22. Opišite operaciju projekcije u relacijskoj algebri!


Projekcija relacije R nova je relacija T koja se sastoji od atributa relacije R po kojima
je obavljena operacija projekcije i u kojoj su uklonjene jednake n-torke.

23. Što je strani ključ i čemu sluzi?


Strani ključ uspostavlja odnos n-torki dviju relacija koji odgovara binarnoj vezi u
modelu entiteti-veze. Strani ključ u jednoj relaciji je primarni ključ u drugoj relaciji.

24. Navedite 4 osnovne operacije SQL-a za manipulaciju podacima?


Select, Insert, Delete, Update
26. Opišite ograničenja referencijskog integriteta u SQL-u!
Referencijski integritet povezuje strani ključ s primarnim ključem.
Ako u relaciji R postoji strani ključ, svaka vrijednost stranog kljuca u relaciji R mora
biti jednaka vrijednosti primarnog ključa u nekoj od n-torki relacije S ili jednaka nul-
vrijednosti.
Referencijski integritet je održan ako svaka vrijednost stranog ključa pronalazi
primarni ključ s istom vrijednosti

27. Definirajte funkcijsku zavisnost!


Ako su X i Y skupovi atributa relacije R, relacije R zadovoljava uvjete funkcijske
zavisnosti X→Y ako u svakom trenutku za svaku X-vrijednost X postoji samo jedna
Y-vrijednost Y. Funkcijska zavisnost generalizira pojam kljuca: opisni (neključni)
atributi funkcijski zavise o ključu relacije

28. Kako se implementira veza 1:1 u relacijskoj bazi podataka?


Vrlo rijetka veza, a cesto i pogrešna, jer opisuje isti entitet na drugačiji način. U
simetričnoj vezi 1:1 moguće je uvođenje stranog kljuca u bilo koju relaciju. Uvesti
strani ključ u relaciju s manje n-torki jer ce tako biti manje nul-vrijednosti.

29. Nabrojite metode adresiranja slogova! ( datoteka)


Slijedna (sekvencijalna) datoteka, Direktna (relativna) datoteka, Indeksna datoteka

30. Sto je gust indeks?


Gust indeks (gustoća=1), svaki slog ima indeksnu vrijednost u indeksu-za
organizaciju indeksnog područja mogu se koristiti sve metode pristupa

35. Vrste spajanja u relacijskog algebri!


Theta, prirodno i vanjsko spajanje

36. Kako se zove metoda eliminacije redundancije iz relacijske baze podataka?


Metoda normalizacije
38. Sto je pogled (view) na bazu podataka? čemu može poslužiti?
Pojednostavljen prikaz podataka iz baze podataka (kao virtualne tablice). Omogućuje
jednostavnije postavljanje upita (pogodno za korisnike s oskudnim znanjem),
sakrivanje određenih podataka (koristan mehanizam kontrole pristupa podacima),
izgradnja nezavisnih aplikacija (svaka se relacija može pogledom definirati).

39. Opišite ograničenje jedinstvenosti vrijednosti u SQL-u!


Jedinstvenost vrijednosti određuje da ne smiju postojati dvije n-torke koje imaju iste
vrijednosti određenog atributa (ili skupa atributa).

40. Kako se implementira veza M:M u relacijskoj bazi podataka?


U vezi M:M otvoriti novu relaciju. Nova relacija naziva se agregacijskom,
asocijativnom ili veznom. (intersekcijska tablica)
Primarni ključ agregacijske relacije uvijek je sastavljen od primarnih ključeva relacija
koje čine agregaciju. Dijelovi primarnog ključa agregacijske relacije koji odgovaraju
primarnim ključevima relacija u agregaciji imaju funkciju stranih ključeva prema tim
relacijama.

42. Što je fizički integritet baze podataka?


fizički integritet baze podataka je očuvan ako su mjerni podaci upotrjebljivi (spremni
za korištenje).

47. Navedite osnovni oblik naredbe SELECT SQL-a!


Tipični Select upit:
SELECT A1, A2,…,An
FROM R1,R2,… ,Rn
Where uvjet;

48. Definirajte 1NF!


Relacija se nalazi u prvoj normalnoj formi (1NF) ako su svi ne ključni atributi
funkcijski zavisni o ključu relacije
49. Opišite slijednu (sekvencijalnu) metodu adresiranja!
Slogovi se upisuju i pohranjuju jedan do drugoga redoslijedom dolaska. Obraduju se
istim redoslijedom. Povezanost slogova: fizička, logička

50. Što su slogovi sinonimi u direktnoj metodi pristupa?


To su slogovi čiji različiti ključevi daju istu adresu.

55. Što je nulvrijednost?


Posebna vrijednost, reprezentira nepoznatu ili neprimjenjivu vrijednost.

56. Objasni BCNF?


Relacija je u Boyce-Coddovoj normalnoj formi (BCNF) ako sve funkcijske zavisnosti
relacije proizlaze iz njezinog ključa.
BCNF: Svaki atribut mora zavisiti o ključu, cijelom ključu i ni o čemu osim o ključu

58. Fizička nezavisnost?


Fizička nezavisnosti podataka je razdvajanje logičke i fizičke organizacije
memorijskog prostora.

59. Što je redundancija ?


Isti podatak zapisan više puta u bazi podataka, štetna pojava koju treba izbjegavati ili
svesti na najmanju moguću mjeru.

60. Što je relacija?


Relacija je imenovani podskup Kartezijevog produkta. Domena D1,D2,...,Dn:
(D 1 ,D 2 ,...,D n ) = {(d 1 ,d 2 ,...,d n ): d i єD i za 1≤i≤n}.

62. Objasnit razliku između DELETE i DROP?


Naredbom DROP TABLE briše se cijela tablica i svi podaci u toj tablici iz baze
podataka. Naredbom DELETE FROM TABLE brišu se svi podaci iz tablice ali se
prazna tablica i dalje čuva u bazi podataka tako da se kasnije ponovo može koristiti.
64. Naredbe u SQL-u!
Select, Insert, Delete, Update
Commit, Rollback
Create Table, Alter Table, Drop Table
Create View, Drop View
Create Index, Drop Index
Grant, Revoke

65. B+ stablo
B+ - stablo reda m- stablo u kojem čvor koji nije list ima N podređenih čvorova [m/2 |≤
N ≤ m, a korijen NR podređenih čvorova 2≤NR≤m. B+ - stablo je balansirano jer su
listovi jednako udaljeni od korijena.

68. ograničenja (definirana SQL-om)


 Jedinstvenost vrijednosti
 Ne-nul vrijednost
 Referencijski integritet
 ograničenje uz kontrolu

69. Razlika relacijske sheme i relacije!


Relacijska shema R sastoji se od naziva relacije i konačnog skupa atributa odnosno
stupaca, koji opisuju istoimenu relaciju. Relacijska shema opisuje gradu relacije i ne
definira njeno značenje.

72. Što je rijedak indeks?


Indeks koji pokazuje samo na prvi zapis u bloku, pretpostavlja
3 OPERACIJE RELACIJSKE ALGEBRE! Operacije: unija, razlika, presjek,
Kartezijev produkt, dijeljenje, selekcija, projekcija, spajanje

VRSTE SPAJANJA U RELACIJSKOG ALGEBRI! Unija, razlika, presjek,


Kartezijev produkt, dijeljenje, selekcija, projekcija, spajanje.

OPISITE OPERACIJU PROJEKCIJE U RELACIJSKOJ ALGEBRI!


Projekcija relacije R nova je relacija T koja se sastoji od atributa relacije R po
kojima je obavljena operacija projekcije i u kojoj su uklonjene jednake n-torke.

FUNKCIJSKU ZAVISNOST! Ako su X i Y skupovi atributa relacije R,


relacija R zadovoljava uvjete funkcijske zavisnosti X→Y ako u svakom trenutku
za svaku X-vrijednost X postoji samo jedna Y-vrijednost Y. Funkcijska
zavisnost generalizira pojam kljuca: opisni (nekljucni) atributi funkcijski zavise
o kljucu relacije.

VIŠEZNAČNA ZAVISNOST Ako su X i Y disjunktni skupovi atributa relacije


R, a njihov komplement je Z=R-XY, relacija R zadovoljava višeznačnu
zavisnost X→→Y ako uz dvije promatrane n-torke xy1z1 i xy2z2 sadrži i n-
torke xy1z2 i xy2z1

METODA ELIMINACIJE REDUNDANCIJE IZ RELACIJSKE BAZE


PODATAKA? Metoda normalizacije

NORMALIZACIJA RELACIJSKE BAZE PODATAKA? Normalizacija je


postupak prevodenja iz nize u visu normalnu formu.

OSNOVNA SVRHA NORMALIZACIJE RELACIJSKE BAZE


PODATAKA? Normalizacija je postupak prevodenja iz nize u visu normalnu
formu. Za normalizaciju su definirana posebna ogranicenja: funkcijska
zavisnost, viseznacna zavisnost, spojna zavisnost

1NF! Relacija se nalazi u prvoj normalnoj formi (1NF) ako su svi nekljucni
atributi funkcijski zavisni o kljucu relacije.

2NF Relacija zadovoljava potpunu funkcijsku zavisnost X→Y ako je Y


funkcijski zavisan o X,ali ne i od bilo kojeg podskupa od X. Relacija se nalazi u
drugoj normalnoj formi (2NF) ako su svi neključni atributi potpuno funkcijski
zavisni o bilo kojem ključu relacije
3NF Relacija se nalazi u trećoj normalnoj formi (3NF) ako ni jedan neključni
atribut nije tranzitivno zavisan o bilo kojem ključu relacije. 3NF: Svaki
neključni atribut mora zavisiti o ključu, cijelom ključu i ni o čemu osim o ključu

4 OSNOVNE OPERACIJE SQL-A ZA MANIPULACIJU PODACIMA?


Select, Insert, Delete, Update

4NF Neka su X i Y disjunktni skupovi atributa relacije R, a njihov komplement


Z=R-XY. Relacija R Zadovoljava višeznačnu zavisnost X→→Y|Z ako operacija
prirodnog spajanja njezinih projekcija po XY i XZ daje relaciju jednaku R.
Relacija, u kojom je zadan skup funkcijskih i višeznačnih zavisnosti, u četvrtoj
je normalnoj formi (4NF), ako je svaka višeznačna zavisnost X →→ Y trivijalna
ili je X ključ Relacije

5NF Relacija R zadovoljava spojnu zavisnost *(R1,R2,...,Rn) ako se pouzdano


(reverzibilno) dekomponira na {R1,R2,...,Rn}. Relacija R, u kojoj je zadan skup
funkcijskih i spojnih zavisnosti, u petoj je normalnoj formi (5NF), ako je svaka
spojna zavisnost *(R1,R2,...,Rn) trivijalna ili je svaki Ri ključ u R

BCNF? Relacija je u Boyce-Coddovoj normalnoj formi (BCNF) ako sve


funkcijske zavisnosti relacije proizlaze iz njezinog ključa. BCNF: Svaki atribut
mora zavisiti o ključu, cijelom ključu i ni o čemu osim o ključu.

DEKOMPOZICIJA RELACIJE? Dekompoziciija relacije R je zamjena


relacije R s dvije relacije R1 i R2, koje mogu imati zajedničke atribute R1X i
R2X. Pravilo pouzdane dekompozicije - dekompozicija relacije R na dvije
relacije R1 i R2 je pouzdana ako je presjek skupova atributa relacija R1 i R2
kljuc u R1 ili R2. Kad se relacije dobivene pouzdanom kompozicijom prirodno
spoje, dobiva se polazna relacija. To govori da je dekompozicija pouzdana. Kod
nepouzdanih dekompozicija dolazi do gubitka informacija.

RAZLIKA POUZDANE I NEPOUZDANE DEKOMPOZICIJE


RELACIJE? Dekompozicija relacije R na dvije relacije R1 i R2 je pouzdana
ako vrijedi R1ᴖR2→R1 ili R1ᴖR2→R2. Ako u relaciji R vrijedi funkcijska
zavisnost X→Y, R se dekomponira na relacije R1 i R2:R1=xy i R2=R-y
MODEL PODATAKA? Model podataka je skup osnovnih koncepata koji
definiraju postupak opisa podataka, manipulaciju podacima, mogućnost
postavljanja upita i integritet podataka. Model podataka definira logičku
strukturu baze podataka. Model podataka predstavlja osnovni koncept za razvoj
sustava za upravljanje bazom podataka (eng. Database Management System,
skraćeno DBMS) pomoću kojeg se implementira odgovarajuća baza podataka.

Konceptualno oblikovanje-izrada (pod) modela entiteti-veze za svaki process-


promatra se izvrsenje procesa.
Logicko oblikovanje-pretvorba modela entiteta-veza u relacijsku shemu baze
podataka.

LOGICKI INTEGRITET BAZE PODATAKA? Baza podataka je sacuvala


integritet, ako je u funkciji-fizicki integritet, su podaci konzistentni, u skladu sa
zadanim ogranicenjima integritet-logicki integritet. Svaka promjena podataka u
bazi podataka koja nije ucinjena u skladu sa zadanim ogranicenjima dovodi do
pojave nekonzistentnosti (nepouzdanih i/ili netocnih) podataka. Narusen je
integritet.

NAČINE ZADRŽAVANJA REFERENCIJSKOG INTEGRITETA AKO


SE BRIŠE PRIMARNI KLJUČ NEKE RELACIJE.. Nulifikacija, Kaskadno
brisanje i odbijanje brisanja.

NULVRIJEDNOST? Posebna vrijednost koja predstavlja nepoznatu ili


neprimjenjivu vrijednost, ali ne i nepostojeću. Operacije s null vrijednostima:
aritmeticke operacije, logicke operacije.

OGRANICENJA (DEFINIRANA SQL-OM) Jedinstvenost vrijednosti,Ne-nul


vrijednost,Referencijski integritet,Ogranicenje uz kontrolu

OGRANICENJA REFERENCIJSKOG INTEGRITETA U SQL-U!


Referencijski integritet povezuje strani kljuc s primarnim kljucem. Ako u relaciji
R postoji strani kljuc, svaka vrijednost stranog kljuca u relaciji R mora biti
jednaka vrijednosti primarnog kljuca u nekoj od n-torki relacije S ili jednaka
nul-vrijednosti. Referencijski integritet je odrzan ako svaka vrijednost stranog
kljuca pronalazi primarni kljuc s istom vrijednosti.

OGRANICENJE JEDINSTVENOSTI VRIJEDNOSTI U SQL-U!


Jedinstvenost vrijednosti određuje da ne smiju postojati dvije n-torke koje imaju
iste vrijednosti određenog atributa (ili skupa atributa).
OSNOVNA SVOJSTVA RELACIJE! Relacijska shema ne sadrzi dva jednaka
(imena) atributa (relacija ne sadrzi dva jednaka stupca), redoslijed atributa
odnosno stupaca nebitan je,relacija ne sadrzi dvije jednake n-torke, redoslijed n-
torki u relaciji nebitan je

RAZLIKA RELACIJSKE SHEME I RELACIJE! Relacijska shema R sastoji


se od naziva relacije i konacnog skupa atributa odnosno stupaca, koji opisuju
istoimenu relaciju. Relacijska shema opisuje gradu relacije i ne definira njeno
znacenje.

REDUNDANCIJA ? Isti podatak zapisan više puta u bazi podataka. Štetna je


pojava i treba ju izbjegavati ili svesti na najmanju moguću mjeru.
FROM R1,R2,… ,Rn
FROM R1,R2,… ,Rn

REDUNDATNA VEZA? Suvišne veze koje se izvode iz drugih veza


.
RELACIJA? Relacija je imenovani podskup Kartezijevog produkta. Domena
D1,D2,...,Dn: (D 1 ,D 2 ,...,D n ) = {(d 1 ,d 2 ,...,d n ): d i єD i za 1≤i≤n}.
Relacijska shema R sastoji se od naziva relacije i konacnog skupa atributa
odnosno stupaca, koji opisuju istoimenu relaciju. Relacijska shema opisuje
gradu relacije i ne definira njeno znacenje.

ENTITETSKI INTEGRITET U RELACIJI? Kombinacija ogranicenja


jedinstvenosti i ne-nulvrijednosti. Entitetski integritet definira ogranicenje kljuce
„kljuc ili bilo koji njegov dio ne smije imati nul-vrijednost“. Osigurava
jednoznacno identificiranje bilo koje n-torke u relaciji

PRIMARNI KLJUC I CEMU SLUZI? Skup minimalnih atributa cije


vrijednosti jednoznacno oznacavaju svaku n-torku relacije.

STRANI KLJUC I CEMU SLUZI? Strani kljuc uspostavlja odnos n-torki


dviju relacija koji odgovara binarnoj vezi u modelu entiteti-veze. Strani kljuc u
jednoj relaciji je primarni kljuc u drugoj relaciji.
BINARNE VEZE PO KARDINALNOSTI?
 Jedan prema jedan (1:1),
 Jedan prema više (1:M),
 Više prema više (M:M)

IMPLEMENTIRA VEZA 1:1 U RELACIJSKOJ BAZI PODATAKA?Vrlo


rijetka veza, a cesto i pogresna, jer opisuje isti entitet na drugaciji nacin. U
simetricnoj vezi 1:1 moguce je uvodenje stranog kljuca u bilo koju relaciju.
Uvesti strani kljuc u relaciju s manje n-torki jer ce tako biti manje nul-
vrijednosti.

IMPLEMENTIRA VEZA 1:M U RELACIJSKOG BAZI PODATAKA? U


vezi 1:M uvesti strani kljuc u relaciju na strani M, varijante rjesenja: za vezu
0,1:0:M rjesenje je uvodenje nove relacije kao u vezi M:M, ali s razlikom da
primarni kljuc nije sastavljen od oba kljuca entiteta, nego se za primarni kljuc
uzima kljuc entiteta na strani M.

IMPLEMENTIRA VEZA M:M U RELACIJSKOJ BAZI PODATAKA? U


vezi M:M otvoriti novu relaciju. Nova relacija naziva se agregacijskom,
asocijativnom ili veznom. Primarni kljuc agregacijske relacije uvijek je
sastavljen od primarnih kljuceva relacija koje cine agregaciju. Dijelovi
primarnog kljuca agregacijske relacije koji odgovaraju primarnim kljucevima
relacija u agregaciji imaju funkciju stranih kljuceva prema tim relacijama.

PRETVORBA TERNARNE VEZE IZ ER MODELA U RM? Realizacija je


slična binarnoj vezi M:M. Nova relacija ima toliko stranih ključeva koliki je
stupanj veze. U ternarnoj vezi tri su strana ključa i od njih se formira primarni
ključ.
SELECT SQL-a
Select, Insert, Delete, Update

POGLED (VIEW) NA BAZU PODATAKA? CEMU MOZE POSLUZITI?


Pogled-jednostavnije postavljanje upita (pogodno za korisnike s oskudnim
znanjem), sakrivanje odredenih podataka (koristan mehanizam kontrole pristupa
podacima), izgradnja nezavisnih aplikacija (svaka se relacija moze pogledom
definirati).

NAREDBOM SQL-A SE DEFINIRA POGLED? Create view.

RAZLIKU IZMEĐU DELETE I DROP? Naredbom DROP TABLE briše se


cijela tablica i svi podaci u toj tablici iz baze podataka. Naredbom DELETE
FROM TABLE brišu se svi podaci iz tablice ali se prazna tablica i dalje čuva u
bazi podataka tako da se kasnije ponovo može koristiti.

RAZLIKA IZMEĐU UNUTARNJEG I VANJSKOG SPAJANJA?

Operacijom unutrasnjeg spajanja povezuju se tablice na nacin da se spajaju


redovi tablica po istim vrijednostima zajednickog atributa.

Vanjskim spajanjem se prosiruje unutrasnje spajanje i dodaju oni elementi koji


ne sudjeluju u vezi (popunjene su nul-vrijednostima na mjestima nedostajucih
atributa),
DATOTEKE PO ISKORIŠTENOSTI PROSTORA! Datoteke s potpuno
iskorištenim prostorom, sa slabo iskorištenim, sa srednje iskorištenim
prostorom.

FIZICKI INTEGRITET BAZE PODATAKA?Fizicki integritet baze


podataka je ocuvan ako su mjerni podaci upotrebljeni (spremni za koristenje).
Fizicko oblikovanje-definiranje fizickog prostora, definiranje metoda adresiranja
fizickih slogova.

FIZIČKA NEZAVISNOST? Fizička nezavisnosti podataka je razdvajanje


logičke i fizičke organizacije memorije prostora.

Vrste datoteka prema metodi adresiranja: slijedna datoteka, direktna


datoteka, indeksna datoteka.

SLIJEDNU (SEKVENCIJALNU) METODU ADRESIRANJA!Slogovi se


upisuju i pohranjuju jedan do drugoga redoslijedom dolaska. Obraduju se istim
redoslijedom. Povezanost slogova: fizicka, logicka.

DIREKTNU METODU ADRESIRANJA! Kod direktne metode pristupa


svakom nasumce izabranom slogu moguće je pristupiti izravno (direktno), u
jednom ili iznimno nekoliko koraka. To omogućuje čvrst odnos ključa i adrese
sloga, jer se adresa sloga „izračunava“ iz ključa sloga : Adresa sloga = f(Ključ
sloga). U DMA se slogovi pohranjuju na relativnim adresama od 1 do N. Koriste
se ili jednostavna funkcija gdje je adresa sloga f(ključ), tj. slog s ključem 1
memorira se na adresi 1 itd, ili se najčešće koristi funkcija modularnog dijeljenja
adresa=mod(ključ/N)+1

ODREĐIVANJE ADRESA ZAPISA KOD DIREKTNE METODE


ADRESIRANJA? Metoda adresiranja odreduje mjesto pohranjivanja sloga-
adresa sloga. Slogovi se pohranjuju na (relativnim) adresama od 1 do N. Adresa
sloga= f(kljuc).

SLOGOVI SINONIMI U DIREKTNOJ METODI PRISTUPA?


Slogovi se pohranjuju na (relativnim) adresama od 1 do N. Adresa sloga=f
(kljuc). Jednostavna funkcija: adresa=kljuc, slog s kljucem 1 memorira se na
adresi 1, slog s kljucem 2 na adresi 2,.. Najcesca funkcija: adresa=mod (kljuc/N)
+ 1. Dijeljenje s ostatkom
INDEKSNU METODU ADRESIRANJA! Pronalaženje slogova počinje od
indeksa (→ adresa sloga), a nastavlja u području slogova (→ slog).
Isolation-izolacija-kada se paralelno obavljaju dvije ili više transakcije, njihov
ucinak mora biti jednak kao da su se obavljale jedna iza druge

B+ STABLO B+ - stablo reda m- stablo u kojem cvor koji nije list ima N
podredenih cvorova [m/2 |≤ N ≤ m, a korijen NR podredenih cvorova 2≤NR≤m.
B+ - stablo je balansirano jer su listovi jednako udaljeni od korijena.

GUST INDEKS? Gust indeks (gustoca=1), svaki slog ima indeksnu vrijednost
u indeksu-za organizaciju indeksnog podrucja mogu se koristiti sve metode
pristupa.

RIJEDAK INDEKS?
Gustoca<1
Kljucevi u indeksnom podrucju i slogovi u podrucju podataka moraju biti
sortirani
SELECT A1, A2,…,An
SELECT A1, A2,…,An

You might also like