Professional Documents
Culture Documents
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.
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
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
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
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 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:
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
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)
Entitet
Entitet je stvaran ili apstraktan predmet ili događaj o kojemu se u informacijskom
sustavu prikupljaju podaci.
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
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
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)
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
.
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
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}
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
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
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
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
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
“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
SELECT
SELECT [ALL|DISTINCT] atribut[,atribut...]
FROM relacija[,relacija...]
[WHERE uvjet]
[GROUP BY atribut[,atribut...]]
[HAVING uvjet]
[ORDER BY specifikacija uređenja];
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
Spajanje
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):
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
CREATE TABLE
DROP TABLE
izbaciti relaciju PARTNER iz relacijske sheme
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)
naredbe za upravljanje
CREATE INDEX
formirati indeks (za brzo pronalaženje podataka)
DROP INDEX
izbaciti postojeći indeks IME_INDEKS relacije TRGOVAC:
GRANT {ALL[PRIVILEGES]|privilegija[,privilegija...]}
ON relacija
TO {PUBLIC|korisnik[,korisnik...]}
[WITH GRANT OPTION];
REVOKE
ukinuti sva prava korištenja relacije TRGOVAC svim korisnicima (osim
vlasniku)
revoke je suprotno od grant
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)
Gustoća indeksa
To je omjer broja ključeva u indeksu (indeksnih vrijednosti) i broja slogova u datoteci
Informacija
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)
1. Točnost
2. Potpunost
3. Primjerenost
4. Pravovremenost
1) Planiranje
2) Organiziranje
3) Kontroliranje
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
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
2
Dijelovi informacijskog sustava
3
Baza podataka i sustav za upravljanje bazom podataka
Baza podataka je skup povezanih podataka informacijskog sustava ili aplikacije
Baze podataka razlikuju se po vrsti podataka koje pohranjuju i namjeni korištenja podataka
4
Shema baza podataka
Modeliranje podataka
Model je apstrakcija stvarnog svijeta
Model podataka je opis podataka na formalan način, odgovarajuće dostupan svim korisnicima
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:
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
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 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
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
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
Jedan ODJEL
zapošljava
jednu ili više
OSOBA.
Jedna OSOBA
radi/je
zaposlena u
niti jednom ili
jednom
ODJELU.
→ Martinov prikaz
9
Izrada modela entiteti-veze
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
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
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.
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
TRANSAKCIJA?
Transakcija je jedinica rada na bazi podatka, koja se sastoji od niza logički povezanih
podataka. Svojstva transakcije su: atomarnost, konzistentnost, izoliranost, trajnost.
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 SPECIJALIZACIJE!
Ekskluzivna specijalizacija- ako se svaka pojava entiteta specijalizira u samo jedan
od entiteta podtipova
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.
1NF! Relacija se nalazi u prvoj normalnoj formi (1NF) ako su svi nekljucni
atributi funkcijski zavisni o kljucu relacije.
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