MySQL
MySQL je besplatna baza podataka, open source. Temeljni je dio Linuxa, no pomoću nekih aplikacija kao npr. "AppServ" pod operativnim sistemom Windows možete imati tu bazu.
MySQL baza je slobodna za većinu uporaba. Ranije u svom razvoju, MySQL baza podataka se suoćila s raznim protivnicima MySQL sustava organiziranja podataka jer su joj nedostajale neke osnovne funcije definirane SQL standardom. Naime, MySQL baza je optimizirana kako bi bila brza nauštrb funkcionalnosti. Nasuprot tome, vrlo je stabilna i ima dobro dokumentirane module i ekstenzije te podršku od brojnih programskih jezika: PHP, Java , Perl, Python...
MySQL baze su relacionog tipa, koji se pokazao kao najbolji način skladištenja i pretraživanja velikih količina podataka i u suštini predstavljaju osnovu svakog informacijskog sustava, tj temelj svakog poslovnog subjekta koji svoje poslovanje bazira na dostupnosti kvalitativnih i brzih informacija.
MySQL i PHP su osvojili veliki dio tržišta jer su open source, dakle, mogu se besplatno koristiti.
Osnovi pojmovi o projektovanju baza podataka
Prije upuštanja u rad sa bilo kojim DBMS sistemom, pa tako i sa MySQL-om potrebno je dizajnirati odgovarajući izgled baze podataka, odnosno napraviti šemu baze, koja se u kasnijem postupku prevodi u određen broj tabela koje se koriste za pohranjivanje podataka. Osnovi element koji se pohranjuje u bazi naziva se entitet, entitet može biti bilo što: osoba, neki objekat, događaj, služba u nekoj organizaciji isl. dakle stvari iz stvarnog života o kojima želimo čuvati informacije. Drugi važan pojam u teoriji baza podataka jeste relacija. Kao što u stvarnom životu postoje određeni međusobni odnosi između dvije ili više osoba, događaja isl. tako se i u bazama podataka mogu pojaviti određeni odnosi ili relacije između raznih entiteta, koji se na odgovarajući način predstavljaju unutar same baze.
Prema vrsti, relacije se mogu podijeliti na relacije jedan prema jedan, jedan prema više odnosno više prema jedan te više prema više. Uzmimo za primjer da modeliramo bazu koja sadrži dvije tabele, jedna za pohranu informacija o zaposlenim licima, a druga informacije o službama koje postoje u toj određenoj organizaciji, šema baze bi mogla izgledati ovako:
uposlenici(PK IDuposlenika,IDsluzbe,ime,prezime,adresa) sluzbe(PK IDsluzbe,naziv,broj_telefona)
Stavke ispred koji stoji PK predstavljaju, tzv. primarne ključeve ili jedinstvene identifikatore koji se određenoj tabeli mogu pojaviti samo jedanput, tako npr. kao primarni ključ tabele uposlenici može poslužiti JMBG broj, boldirane stavke predstavljaju tzv. vanjske ključeve prema primarnom ključu druge tabele. Ovakvom šemom baze smo dobili relaciju jedan prema više, drugim riječima jedan uposlenik može raditi isključivo u jednoj službi, jedna služba može imati nula uposlenih ili veći broj uposlenih. Ukoliko želimo napraviti takvu relaciju gdje će jedna služba moći zaposliti isključivo jedno lice, dok jedan uposlenik može pripadati većem broju službi, šema baze bi u tom slučaju mogla izgledati ovako:
uposlenici(PK IDuposlenika,ime,prezime,adresa) sluzbe(PK IDsluzbe,IDuposlenika,naziv,broj_telefona)