Baze podataka
predstavljaju višu razinu rada s podacima u odnosu na klasične
programske jezike. Riječ je o tehnologiji koja je nastala s
namjerom da se uklone slabosti tradicionalne “automatske obrade
podataka” iz 60-tih i 70-tih godina 20. stoljeća. Ta
tehnologija osigurala je veću produktivnost, kvalitetu i
pouzdanost u razvoju aplikacija koje se svode na pohranjivanje i
pretraživanje podataka u računalu.
Baza podataka
je objekt koji sadrži tablice i druge objekte radi pospremanja i
obrade podataka.
Tablice predstavljaju dvodimenzionalne
matrice čiji redovi predstavljaju naziv i svojstva objekata
pohranjenih u tablicu, a stupci svojstva objekata izražena
odgovarajućim tipom podataka.
Baza podataka je skup
međusobno povezanih podataka, pohranjenih u vanjskoj memoriji
računala. Podaci su istovremeno dostupni raznim korisnicima i
aplikacijskim programima. Ubacivanje, promjena, brisanje i čitanje
podataka obavlja se posredstvom zajedničkog softvera. Korisnici
i aplikacije pritom ne moraju poznavati detalje fizičkog prikaza
podataka, već se referenciraju na logičku strukturu
baze.
Dakle, to su samo neke od definicija pojma baze
podataka,
postoji još mnogo definicija, a vjerojatno bi bila
najisravnija da je baza podataka skup tablica, koje sadrže
podatke za određenu aplikaciju....
Vrste baza podataka?
MULTIDIMENZIONALNA BP
BP koja omogućava krajnjem korisniku brzo i pregledno pretraživanje složenih podataka koji imaju više dimenzija
DEDUKTIVNA BP
adekvatna za primjere zasnovane na znanju koji zahtijevaju ded. Razmišljanje pri pretraživanju
OBJEKTNO ORIJENTIRANE BP
koristi OO (Object Oriented) programiranje i OO baze podataka
putem nje se pronalaze objekti, atributi, klase, metode i poruke
MULTIMEDIJSKE I HIPERMEDIJSKE
analogne su suvremenim BP za tekstualne i numeričke podatke, ali su skrojene da zadovolje spec. zahtjeve kako bi mogle raditi s razl. tipovima medijskih materijala
Što su nerelacijske BP?
Nerelacijski pristup obradi, pohrani i uporabi podataka, a ima i nekoliko nedostataka:
zalihost (redundancija)
neažurnost podataka
netočnost p.
otežana mogućnost kontrole s jednog mjesta
PRIMJER: osobe i događaji
ako je jedna osoba zastupljena u više događaja: unos svakog novog događaja zahtijeva ponovni unos iste osobe
ako je u jednom događaju zastupljeno više osoba: unos svake nove osobe zahtijeva ponovni unos istog događaja
Što su relacijske Baze Podataka?
Relacijska BP (relational database) je skup podataka u kojem su podaci vezani relacijama i strukturirani tako da se osigura:
minimalna zalihost (redundancija)
postojanost pohranjenih podataka
trajno očuvanje integriteta p. p.
ažurnost p. p.
točnost p. p.
mogućnost kontrole i administriranja s jednog mjesta
mogućnost dnevnog sigurnosnog arhiviranja
izgradnja sigurnosti i nadzora pristupa podacima
mogućnost postavljanja više upita s više kriterija u svrhu izrade analiza i sinteza podataka
najveći učinak i mogućnost relacijske BP očituje se pri višekorisničkom (mrežnom) korištenju iste
PRIMJER: osobe i događaji
ako je jedna osoba zastupljena u više događaja: unos više događaja ne zahtijeva ponovni upis iste osobe
ako je u jednom događaju zastupljeno više osoba: unos više osoba ne zahtijeva ponovni unos istog događaja
Osnovne karakteristike relacijskog modela?
Jasno razgraničenje logičkih i fizičkih gledišta upravljanja podacima, posebno u postupcima projektiranja BP, postavljanja upita i ažuriranja podataka
Strukturna jednostavnost koja je pogodna za različite tipove korisnika podataka i koja omogućava komunikaciju između korisnika na osnovu takvog, svima prihvatljivog i razumljivog modela (od operatera do profesionalnih programera)
Primjena i korištenje upitnih jezika (SQL) kod kojih se upiti i ažuriranje odnose na cjelovite skupove podataka iz baze, nasuprot upitnim jezicima kod kojih su predmet i rezultat pojedinačni podaci
Razvijena formalno-matematička teorija bez koje je nemoguć pravilan pristup sustavu baza podataka i projektiranju istih
TIPOVI I STRUKTURE BAZE PODATAKA
Centralizirana baza podataka – terminalski pristup
Podrazumijeva smještaj podataka na jednom mjestu ( središnjem računalu) i terminalski pristup od strane korisnika. Ovakav pristup znači da se svi zahtjevi i obrade podataka vrše na središnjem računalu, na kojem su smješteni i podaci. Korisnik preko terminala, jedino unosi svoje zahtjeve, te dobija prikaz rezultata željenih operacija. Ovakav način organizacije baze postavlja velike zahtjeve na središnje računalo, koje osim smještaja svih podataka, vrši i sve operacije obrade podataka, njihovog formatiranja i prikaza. Stoga središnje računalo mora imati vrlo veliku procesorsku snagu i visoke performanse.
Distribuirana baza podataka
Podrazumijeva strukturu baze podataka u kojoj su podaci rašireni na više računala, koja su mrežno povezana. Jednostavno rečeno, distribuirana baza podrazumijeva više lokalnih, međusobno povezanih baza. Pred samim korisnikom je ta “raspršenost” podataka skrivena, te on ima osjećaj da pristupa jednoj središnjoj bazi.U današnjim uvjetima postoji sve veće potreba za realizacijom distribuiranih baza podataka. Razlozi za to su brojni:
Mnogi korisnici za koje se rade baze podataka po svojoj prirodi su distribuirani na više lokacija. Uzmimo primjer mnogih multinacionalnih kompanija, koje imaju podružnice diljem svijeta. Svaka podružnica u mjestu u kojem se nalazi formira svoju lokalnu bazu podataka, a sve te baze zatim se povezuju u distribuiranu bazu podataka, koja objedinjava sve lokalne baze. Rukovodstvo kompanije ima mogućnost pristupa u sve baze i nadzora podataka koji se nalaze u bilo kojoj lokalnoj bazi.
Distribucijom baze podataka povećava se raspoloživost i pouzdanost sustava. U slučaju ispada bilo kojeg računala u mreži, podaci na tom mjestu postaju nedostupni korisnicima, ali su podaci na svim ostalim mjestima sačuvani i dostupni.
U distribuiranim sustavima se koristi tehnika repliciranja istih podataka na više lokacija u mreži. Zbog obrade manjih baza podataka, brzina obrade na pojedinim mjestima je veća u odnosu na brzinu koju bi imao sustav koji obrađuje veliku centraliziranu bazu.
Da bi se u potpunosti iskoristile prednosti koje pružaju distribuirani sustavi, osim zadataka koji su zajednički sa zadacima centraliziranih sustava , distribuirani sustavi moraju omogućiti:
-pristup
udaljenim računalima u mreži te prijenos upita i podataka
između računala
-postojanje
sistemskog kataloga s podacima o distribuciji podataka u
mreži
-održavanje
konzistentnosti podataka koji se repliciraju
-izradu
strategije za izvođenje pretraživanja i obrada koje
dohvaćaju podatke iz više lokalnih baza.
-oporavak sustava u slučaju ispada pojedinog računala iz mreže.
Ciljevi koji se nastoje postići korištenjem baza podataka
Fizička nezavisnost podataka. Razdvaja se logička definicija baze od njene stvarne fizičke grade. Znači, ako se fizička grada promijeni (na primjer, podaci se prepišu u druge datoteke na drugimdiskovima), to neće zahtijevati promjene u postojećim aplikacijama.
Logička
nezavisnost podataka. Razdvaja
se globalna logička definicija cijele baze podataka od
lokalne
logičke definicije za jednu aplikaciju. Znači, ako se
logička definicija promijeni (na primjer
uvede
se novi zapis ili veza), to neće zahtijevati promjene u
postojećim aplikacijama. Lokalna
logička
definicija obično se svodi na izdvajanje samo nekih elemenata
iz globalne definicije, uz
neke
jednostavne transformacije tih elemenata.
Fleksibilnost
pristupa podacima. U
starijim mrežnim i hijerarhijskim bazama, staze pristupanja
podacima
bile su unaprijed definirane, dakle korisnik je mogao pretraživati
podatke jedino onim
redoslijedom
koji je bio predviden u vrijeme projektiranja i implementiranja
baze. Danas se
zahtijeva
da korisnik može slobodno prebirati po podacima, te po svom
nahodenju uspostavljati
veze
medu podacima. Ovom zahtjevu zaista zadovoljavaju jedino relacijske
baze.
Istovremeni
pristup do podataka. Baza
mora omogućiti da veći broj korisnika istovremeno koristi
iste
podatke. Pritom ti korisnici ne smiju ometati jedan drugoga, te
svaki od njih treba imati
dojam
da sam radi s bazom.
Čuvanje
integriteta. Nastoji
se automatski sačuvati korektnost i konzistencija podataka, i
to u
situaciji
kad postoje greške u aplikacijama, te konfliktne istrovremene
aktivnosti korisnika.
Mogućnost
oporavka nakon kvara. Mora
postojati pouzdana zaštita baze u slučaju kvara hardvera
ili
grešaka u radu sistemskog softvera.
Zaštita
od neovlaštenog korištenja. Mora
postojati mogućnost da se korisnicima ograniče prava
korištenja
baze, dakle da se svakom korisniku reguliraju ovlaštenja što
on smije a što ne smije
raditi
s podacima.
Zadovoljavajuća
brzina pristupa. Operacije
s podacima moraju se odvijati dovoljno brzo, u skladu
s
potrebama odredene aplikacije. Na brzinu pristupa može se
utjecati odabirom pogodnih fizičkih
struktura
podataka, te izborom pogodnih algoritama za pretraživanje.
Mogućnost podešavanja i kontrole. Velika baza zahtijeva stalnu brigu: praćenje performansi, mijenjanjeparametara u fizičkoj gradi, rutinsko pohranjivanje rezervnih kopija podataka, reguliranje ovlaštenja korisnika. Takoder, svrha baze se vremenom mijenja, pa povremeno treba podesiti I logičku strukturu. Ovakvi poslovi moraju se obavljati centralizirano. Odgovorna osoba zove se administrator baze podataka. Administratoru trebaju stajati na raspolaganju razni alati I pomagala.
MySQL Otvorena baza
Ukratko, bazu podataka tvori bilo koja organizirana zbirka podataka. Ti podaci mogu biti bilo što: od jednostavnog popisa za kupovinu, galerije slika do golemih količina podataka uobičajenih za velike računalne sustave.
Dakle, logičku strukturiranu kolekciju podataka pohranjenu na tvrdome disku kojoj računalni programi mogu lako pristupati i zatim koristiti mogli bismo zvati bazom podataka. Baze omogućuju da se velika količina podataka može lako pregledavati, pretraživati, sortirati, ali i nadopunjavati. Dobar je primjer Excel koji sam po sebi omogućuje logičko organiziranje podataka, pa bismo snimljenu Excelovu datoteku s podacima mogli također zvati bazom podataka.
Biser otvorenog
kôda
Danas je iznimno popularna relacijska baza podataka,
bolje rečeno, sustav za upravljanje bazom podataka, upravo
MySQL, a ono što mnoge iznenađuje jest činjenica da
je riječ o softveru otvorenog koda. Kako je riječ o
relacijskoj bazi podataka, a budući da se već odavna
pokušava jezike za komunikaciju s bazom podataka objediniti u
jedan (jezici se dijele na tri vrste), uopće ne čudi da se
u imenu našla i prepoznatljiva kratica SQL (Structured Query
Language).
Riječ je o najpopularnijem jeziku za dodavanje, pristupanje i procesiranje podataka u bazama, a svoju popularnost može zahvaliti pouzdanosti te velikoj fleksibilnosti pri korištenju. Ti se epiteti mogu pridijeliti i samome MySQL-u koji je upravo zahvaljujući činjenici da je prilično pouzdan te nudi i solidne performanse toliko rasprostranjen, i to pogotovo na Internetu.
Vjerojatno biste se i sami iznenadili koliko se poznatih web-stranica u pozadini oslanja upravo na MySQL i to pogotovo danas u doba filozofije Web 2.0. To može zahvaliti činjenici da je besplatan, dobro prokušanoj stabilnosti i solidnim performansama, izvrsno dokumentiranim modulima i ekstenzijama te podršci za velik broj raznih programskih jezika, pogotovo PHP.
Relacijske baze podataka
Daleko najčešći oblik baze podataka je relacijski
Podaci u relacijskoj bazi podataka se nalaze unutar relacija (= tablica)
Pojedina relacija se sastoji od
redaka (n-toraka)
stupaca (atributa)
Osnovne značajke pojedine relacije su:
Ne postoje dva jednaka retka, ni stupca
Redosljed redaka i stupaca nije bitan
Pojedine vrijednosti atributa
moraju biti jedinstvene, što znači da jedna čelija
u tablici može sadržavati samo jednu vrijednost (npr. ako
imamo dodatna mjerenja koja se odnose na isti objekt, morat ćemo
ubaciti dodatne retke u tablicu)
Osnovna karakteristika relacionih baza jest da je čitavi set podataka raščlanjen u više tablica (svaka od kojih sadrži podatke o nekom stvarnom ili apstraktnom subjektu), te da se mogu definirati veze između tablica korištenjem ključnih atributa
Postoje tri osnovne vrste podataka koje možemo upisati u tablicu:
tekstualni
numerički
datum/vrijeme
Samim odabirom vrste podataka zapravo definirate koja vrsta informacije će biti pohranjena u to polje tablice, odnosno temeljem onoga što želite pohraniti u bazu. Odabirom ispravne vrste podataka znatno možete utjecati na performanse same MySQL baze podataka.
CHAR( ) |
String fiksne dužine od 0 do 255 znakova. |
VARCHAR(20 ) |
String promjenjive dužine od 0 do 255 znakova |
TINYTEXT |
String maksimalne dužine 255 znakova. |
TEXT |
String maksimalne dužine 65535 znakova. |
BLOB |
String maksimalne dužine 65535 znakova. |
MEDIUMTEXT |
String maksimalne dužine 16777215 znakova. |
MEDIUMBLOB |
String maksimalne dužine 16777215 znakova. |
LONGTEXT |
String maksimalne dužine 4294967295 znakova. |
LONGBLOB |
String maksimalne dužine 4294967295 znakova. |
Maksimalnu dužinu znakova kod definicije tipa podatka upisujete u uglate zagrade (), npr. VARCHAR (50), što znači da to polje može primiti string maksimalne dužine do 50 znakova.
CHAR tip podataka zbog toga što je fiksne dužine je malo brži kod VARCHAR, jer je u cijelom stupcu zapravo ne mijenja svoju dužinu, već ostaje isti. No zbog fiksne dužine troši više memorije nego VARCHAR.
BLOB i TEXT su po svojoj duljini jednaki i zapravo predstavljaju verziju VARCHAR tipa podataka koji može spremiti više od 255 znakova, točnije 65535.
TINYINT( ) |
-128 do 127 normal |
0 do 255 UNSIGNED |
|
SMALLINT( ) |
-32768 do 32767 normal |
0 do 65535 UNSIGNED |
|
MEDIUMINT( ) |
-8388608 do 8388607 normal |
0 do 16777215 UNSIGNED |
|
INT( ) |
-2147483648 do 2147483647 normal |
0 do 4294967295 UNSIGNED |
|
BIGINT( ) |
-9223372036854775808 do 9223372036854775807 normal |
0 do 18446744073709551615 UNSIGNED |
|
FLOAT |
Manji broj s pomičnim zarezom. |
DOUBLE( , ) |
Veći broj s pomičnim zarezom. |
DECIMAL( , ) |
DOUBLE spremljen kao string i to točno određene dužine.. |
Cijeli brojevi (integer) imaju dodatnu opciju zvanu UNSIGNED koja određeni numerički tip umjesto u raspon od negativnog do pozitivnog prebacuje u pozitivni raspon počevši od nule.
DATE |
YYYY-MM-DD. |
DATETIME |
YYYY-MM-DD HH:MM:SS. |
TIMESTAMP |
YYYYMMDDHHMMSS. |
TIME |
HH:MM:SS. |
ANKETNI LIST – URABANISTIČKI PROJEKAT MEŠTROVIĆI ZA TAČNOST PODATAKA
ARHITEKTURA SISTEMA ZA RUKOVANJE BAZAMA PODATAKA SMER SOFTERSKO INŽENJERSTVO
BAZE PODATAKA 1 DRUGI KOLOKVIJUM JANUAR 2015
Tags: podataka baze, tipa podataka, podataka, razinu, predstavljaju