4. to je?
Baza podataka je organizirana skupina podataka koji su
pohranjeni tako da mogu zadovoljiti zahtjeve krajnjeg
korisnika. (Max Vetter, 1981.)
Relacijske baze podataka su temeljene na injenici da
korisnik ne mo転e unaprijed znati sve mogue naine
kori邸tenja podataka tj. u bazi ne postoje predefinirani
putovi kretanja kroz podatke.
5. Relacijski model
Objekti u relacijskom modelu baza podataka
se zovu Relacije dvodimenzionalna tablica
Relacije se sastoje od:
Atributa (imenovani stupac)
Tuplea (redovi)
7. Constraints
Odr転avaju integritet podataka i relacija
unutar baze
Primarni klju (single column, kompozitni)
Strani klju
Unikatni klju
8. PRIMARNI KLJU
Id Ime Prezime
123 Pero Peri
124 Marko Markovi
125 Ivan Ivi
126 Bela Ikoti
PRIMARNI
KLJU
STRANI KLJU
Id IdStudenta Status Godina
1 123 R 1
2 124 I 3
3 125 R 3
4 126 I2 5
9. PRIMARNI KLJU
Id Ime Prezime
123 Pero Peri
124 Marko Markovi
125 Ivan Ivi
126 Bela Ikoti
PRIMARNI
KLJU
STRANI KLJU
Id IdStudenta Ocjena Predmet
1 124 4 Linearna Algebra
2 124 5 OET
3 124 4 Matematika 3
4 124 3 Digitalna Elektronika
10. DBMS
Suelje za komuniciranje korisnika sa bazom podataka
se zove: DataBase Management System (DBMS)
Microsoft SQL Server (proprietary)
Oracle RDBMS (proprietary)
IBM DB2 (proprietary)
MySQL (open-source)
PostgreSQL (open-source)
11. DBMS
DBMS nam omoguava:
Definiciju podataka Definiranje strukture podataka,
modificiranje postojee strukture i njeno brisanje
A転uriranje Unos, izmjena i brisanje podataka.
Dohvaanje Dohvat podatka iz baze podataka pomou SQL
upita ili za potrebe vanjskih aplikacija (web, mobile ...)
Administraciju Ureivanje korisnika i prava na bazu,
osiguravanje sigurnosti podataka, backup i vraanje podataka u
sluaju pote邸koa, uvid u performanse i omoguavanje
konkurentnosti (multi user access)
12. Tipovi podataka
Integeri:
Vrsta Raspon Veliina
tinyint 0 255 1 byte
smallint 32,768 to 32,767 2 bytea
int 2^31 (2,147,483,648) to
2^311 (2,147,483,647)
4 bytea
bigint 2^63 (9,223,372,036,854,775,808) to
2^631 (9,223,372,036,854,775,807)
8 bytea
16. INDEXI
Index je struktura koja ubrzava povlaenje
redova iz baze u sluaju tablica i view-ova
Mo転e pokrivati 1 ili vi邸e columna (max 16)
Odreuje kako e se podaci snimiti na disk
Kod tablica koje se esto updateaju, koristiti u転e
indexe.
Problem sa fragmentacijom.
17. INDEXI
Mo転e biti:
Clustered (grupira podatke iz baze bli転e na
samom disku). Koristi se kod vraanja veih
setova rezultata
Unclustered. Koristi se u tablicama gdje imamo
upite sa puno WHERE ili JOIN naredbi.
18. View
Mo転emo ga zamisliti kao virtualni layer koji prikazuje
trenutno stanje tablice na kojoj je baziran uz
postavljene uvjete
Omoguavaju da:
Ograniimo korisnika na odreene stupce ili redove u
tablici
Spojimo vi邸e tablica u jednu da bi ih prezentirali nekome
Sigurnost
20. Microsoft SQL Server
Microsoftov DBMS, prva verzija se pojavila 1989
Razvili su ga Microsoft i Sybase (SAP)
Primarni SQL dijalekti: T-SQL, ANSI SQL a
podr転ava i XML (Sql server 2005 >)
Intellisense support, integracija sa Windows
Azureom
21. Microsoft SQL Server
Studenti: Preuzeti SQL Server sa
DreamSparka: https://www.dreamspark.com/
Ostali, SQL Server Express:
http://www.microsoft.com/en-us/server-
cloud/products/sql-server/
40. Trendovi
Sve vea potreba za NOSQL bazama (Not Only SQL)
koje se rje邸avaju odreene probleme performansi u Big
Data i Real time web primjerima.
BigData (Facebook, Wikipedia, Mapiranje Genoma ..)
Real-time web (Burza, Twitter ...)
Primjer: Mongo DB
41. to prouiti?
Indexi i optimizacija
Optimalan odabir tipova podataka za razliita polja
Common table expressions (CTE)
Cursore
Vrste joinova
Pivot funkcija