You are on page 1of 6

Baze podataka

1. PostgreSQL 7.0.3
PostgreSQL je objektno-relacijski sustav za upravljanje bazama podataka. U ovom poglavlju opisana je instalacija PostgreSQL-a 7.0.3 na Mandrake 8.0 operacijskom sustavu te mogui problemi pri instalaciji. Potpunu dokumentaciju mogue je nai na adresi: http://www.postgresql.org Na slici 10.1 prikazana je osnovna struktura PostgreSQL sustava. Koristi se jednostavni "proces po korisniku" klijent-server model. U jednoj sesiji aktivna su slijedea tri procesa:

aemon proces (postmaster) korisnika aplikacija (npr. psql monitor) postgres proces (jedan ili vie servera s bazom podataka)

Slika 1.1 Struktura PostgreSQL servera Postmaster je proces na serverskoj strani koji omoguava spajanje korisnika na bazu podataka te upravlja podacima iz vie bazi podataka na jednom serveru. Nakon zahtjeva korisnika postmaster starta proces server. Biblioteka (library) libpq omoguava jednom korisniku stvaranje nekoliko konekcija (na vie procesa sa serverske strane). 1.1. Instalacija PostgreSQL-a 7.0.3 U Mandrake 8.0 operacijskom sustavu PostgreSQL instaliramo tako da u Software Manageru odaberemo potrebne software-ske pakete. Osnovni paketi koje je potrebno instalirati su postgresql i postgresql-server. Ako elimo testirati rad PostgreSQL-a potrebno je instalirati i paket postgresql-test. U ovom paketu nalaze se razni testovi za baze podataka kreirane u PostgreSQLu, a njihovo koritenje preporuuje se samo naprednim korisnicima. Instalacija je vrlo brza i u pravilu prolazi bez problema. 1.2. Rad u PostgreSQL-u 7.0.3 Prije poetka rada moramo odrediti koji e korisnici imati pristup pojedinim bazama podataka. Nakon instalacije po defaultu postoji samo jedan korisnik

(user) - postgres. Postgres je ujedno i super-korisnik (superuser) jer moe kreirati nove korisnike. Isto tako postoji i default-na baza podataka postgres. Aplikaciju startamo tako da u terminalu napiemo: # psql postgres -U postgres Time smo pokrenuli psql monitor koji je korisniko suelje prema PostgreSQL bazi podataka. Prvi argument oznaava da smo pokrenuli bazu podataka postgres, a opcija -U oznaava postgres korisnika. Sada naredbom CREATE USER moemo definirati nove korisnike. Novim korisnicima na slijedei nain moemo dati pravo kreiranja baza podataka i novih korisnika: >CREATE USER Marko CREATEDB CREATEUSER Navedenom naredbom stvorili smo novog korisnika Marko koji moe kreirati nove baze podataka i nove korisnike (budui da moe kreirati nove korisnike on je superuser). Popis naredbi psql monitora dobiva se ako u promptu upiemo /h. Vie informacija o psql-u mogue je dobiti naredbom man psql.

Slika 1.2 Osnovni prozor pgaccessa PostgreSQL 7.0.3 moemo koristiti i pomou grafikog suelja. Ako smo instalirali odgovarajui paket (PosgreSQL-tk) grafiko suelje pokree se naredbom pgaccess. Na slici 10.2 prikazan je osnovni prozor pgaccess-a. Novu bazu moemo kreirati odabirom opcije Database a zatim new. Na slici 10.2 prikazan je prozor u kojem odreujemo parametre nove baze. Budui da je

pgaccess pisan u Tcl/Tk-u za njegovo koritenje potrebno je instalirati i Tcl/Tk PostgreSQL pakete.

Slika 1.3 Kreiranje nove tablice 1.3. Problemi pri instalaciji Sama instalacija PostgreSQL-a u pravilu prolazi bez problema. Potekoe koje se mogu javiti pri startanju psql monitor-a uglavnom su vezane uz dozvole pristupa pojedinim datotekama. U takvim sluajevima potrebno je kontaktirati administratora operacijskog sustava. Za korienje pgaccess-a potrebno je omoguiti korutenje TCP/IP protokola. Ako je PostgreSQL instaliran u Software Manageru potrebno je u datoteci etc/rc.d/init.d/postgres u 83. liniju iza staze postmaster-a dodati parametre -o "i". Tada e dio navedene linija izgledati: -p /usr/bin/postmaster -o "-i" Ako postmaster startamo iz prompt-a parametar -I potrebno je dodati na slijedei nain: # postmaster -i & Detaljnu dokumentaciju o PostgreSQL-u i pgaccessu mogue je nai na adresama: http://www.postgresql.org

http://www.flex.ro/pgaccess/contents.html

2. MySQL
MySQL je relacijski sustav za upravljanje bazama podataka. U ovom poglavlju opisana je instalacija MySQL -a na Mandrake 8.0 operacijskom sustavu te mogui problemi pri instalaciji. Potpunu dokumentaciju mogue je nai na adresi: http://www.mysql.com Na slici 2.1 prikazana je osnovna struktura MySQL -a sustava. Koristi se jednostavni klijent-server model.

Slika 2.1 Struktura Mysql-a Na MySQL serveru moe postojati jedna ili vie shema na koje se spaja jedan ili vie klijenata. Klijent moe biti MySQL klijent ili neka druga aplikacija koja koristi bazu podataka. 2.1. Instalacija MySQL-a Sa Mandrake 8.0 distribucijom u paketu ne dolazi MySQL, ve ju je potrebno posebno skinuti sa oficijelnog MySQL weba ili nekog drugog. Preporuamo skidanje rpm paketa koji su jednostavni za instalaciju. Potrebno je skinuti MySQL server rpm paket i MySQL client rpm paket. Instalacija je veoma jednostavna # rpm -i Mysql*.rpm 2.2. Rad u MySQL-u Rad u MySQL je veoma jednostavan treba samo upisati mysql ili ako vam putanje nisu podeene otii u direktorij gdje je MySQL instaliran te upisati ./mysql. Izvoenjem ove naredbe pokree se klijentska aplikacija za direktni rad nad bazama koje su podignute na serveru. Nakon spajanja na server potrebno je odabrati bazu na kojoj e se raditi. Naredba show databases ispisuje sve baze koje su podignute na serveru. Naredbom use ime_baze odabiremo bazu na kojoj emo raditi. Naredbe koje MySQL podrava su standardne naredbe SQL jezika. Naalost

postoje razlike u sintaksi naredbi izmeu MySQL-a i Postgres-a, ali to nije krivica MySQL-a ve je posljedica nekonzistentnosti SQL jezika meu proizvoaima. Primjeri naredbi: select * from ime_tablice; Ispisuje sve podatke koji se nalaze u tablici ime_tablice select ime from zaposlenici; Ispisuje imena svih zaposlenika iz tablice zaposlenici Napomena: Sve SQL naredbe zavravaju sa ; (toka zarez). 2.3. Problemi pri instalaciji Prilikom instalacije MySQL-a nismo naili na probleme. Detaljnu dokumentaciju MySQL-u mogue je nai na adresama: http://www.mysql.com

3. PostgreSQL ili MySQL ?


Da li emo bazu podataka raditi u PostgreSQL-u ili MySQL-u u prvom redu ovisi o naim potrebama. Svaka od navedenih baza podataka ima svoje prednosti i nedostatke koje emo ukratko opisati u ovom poglavlju. 3.1. ACID kompatibilnost Da bi usporedili PostgreSQL i MySQL posluit emo se ACID testom koji opisuje baze na temelju etiri svojstva koja bi trebala imati robusna baza podataka:

atomicity - atomarnost consistency - konzistencija isolation - izolacija durability - izdrljivost

Ova svojstva promatraju se na transakciji koja je osnovna jedinica rada koju korisnik baze moe definirati. Transakcija u sebi moe sadravati vie operacija nad bazom podataka. Baza podrava atomarnost ako za pojedinu transakciju rezultat moe biti samo pozitivan ili negativan. Npr., ako definiramo transakciju koja u sebi sadri naredbe UPDATE, INSERT i DELETE, sve tri naredbe promatraju se kao cjelina. Ili e se izvriti sve, ili nijedna. Ovo svojstvo bitno je kod novanih transakcija kada nije poeljno da se nakon DELETE naredbe u sluaju pada servera naredba INSERT ne izvri. Konzistencija znai da nije mogue polovino izvrenje transakcije. Ako jedan dio transakcije ne uspije, baza se vraa u prvobitno stanje. Primjer je brisanje osobe iz npr. baze zaposlenika. Kada briemo jednu osobu potrebno je obrisati i sve podatke o njemu iz ostalih tablica. Dobro konfigurirana baza ne doputa brisanje osobe ako se ne obriu svi podaci vezani uz tu osobu. Izolacija omoguava odvajanje transakcija dok se ne izvre do kraja. Ako jedan korisnik baze izbrie upisani podatak, a drugi u isto vrijeme eli upisati nove

pojedinosti o istom podatku, izolacija ne doputa drugom korisniku upis dok brisanje nije gotovo. Tako drugi korisnik vidi da je navedeni podatak izbrisan pa unoenje novih pojedinosti vie nema smisla. U sluaju pada servera na kojem se nalazi baza, izdrljivost garantira da e se nakon podizanja servera transakcije koje su prekinute izvriti do kraja. 3.2. Usporedba - PostgreSQL ili MySQL ? PostgreSQL je ACID kompatibilan pa njegovo koritenje osigurava napredne opcije i prije svega sigurnost podataka. Ipak, upotreba mnotva naprednih opcija usporava izvedbu aplikacije. MySQL po defaultu od ACID svojstava podrava samo atomarnost pomou opcije table locks. Ostala ACID svojstva mogue je postii upotrebom razliitih paketa za upravljanje tablicama (table handlers) poput BerkelyDB ili InnoDB. U tablici 12-1 dana je kratka usporedba PostgreSQL-a i MySQL-a. Moramo naglasiti jo neke karakteristike razmatranih baza. Tako moramo znati da MySQL ne podrava storne procedure niti ugnjedene upite, dok PostgreSQL to

storne ugnjedeni upiti atomarnost konzistencija izolacija izdrljivost procedure PostgreSQL MySQL DA DA DA NE DA NE DA NE DA NE DA NE

ACID

Tablica 3.1 Usporedba PostgreSQL-a i MySQL-a podrava, to mu daje znatnu prednost prilikom izrade velikih aplikacija u kojima se trai brzina. Storne procedure veoma ubrzavaju rad aplikacija pisanih u Javi. Java je poznata po svom sporijem izvoenju, pa je pomou stornih procedura mogue odreene funkcije stavit direktno na bazu. Zbog navedenih karakteristika, PostgreSQL preporuuje se korisnicima orijentiranim prema razvoju kompleksnih aplikacija ili onima koji prelaze sa ORACLE, Sysbase ili Microsoft SQL Server-a na drugu bazu podataka. Ako bazu podataka koristimo za manje zahtjevne potrebe (npr. Integracija sa webom) preporuuje se koritenje MySQL-a. Iako postoji mogunost gubitka podataka ako npr. iskljuimo napajanje za vrijeme izvrenja transakcije, vea brzina i jednostavnija upotreba daju prednost MySQL-u kod manjih baza podataka u jednostavnijim sustavima.

You might also like