You are on page 1of 95

MySql programiranje i

administracija

Predavanje 1
Predavanje 1

• Pojam podatak - informacija • Instalacija i pokretanje MySQL servera


• Uvod u baze podataka • Okruženje MySQL Workbench
• Projektovanje - osnove • Kreiranje baze podataka
o Konceptualni model (entitet, • Kreiranje tabela sa atributima
atribut, veza)
• Pojam primarnog i spoljnog ključa
o Relacioni model (relacija, n-torka,
tip podatka, atribut, domen, šema)
Podatak - > Informacija
Podatak
o sirov materijal iz koga možete izvući neki zaključak
o sekvencu simbola koja dobija značenje specifičnim činom
interpretacije.
o sirova činjenica - neobrađena informacija.
Informacija
znanje, podatak sa značenjem.

Informacija je često rezultat kombinacije, upoređivanja ili


računskih operacija sa podacima
Uvod u Javu
Podatak - > Informacija
• Termini podatak i informacija su usko povezani i
često se koriste kao sinonimi.

• Informaciju definišemo kao podatak koji je bio


obrađen na takav način da se znanje osobe koja
koristi podatak povećalo.

Uvod u Javu
Podatak - > Informacija
Skup podataka:
Petar Petrović 1506983710325
Marko Marković 0211979850123
Janko Janković 1112985830456

Ime Prezime JMBG SP Godina upisa


Petar Petrović 1506983710325 RT 2017
Marko Marković 0211979850123 NRT 2016
Janko Janković 1112985830456 IS 2017

Tabelarni prikaz podataka - informacija o upisu

Uvod u Javu
Podatak - > Informacija
Grafički prikaz podataka - informacija o upisu

Uvod u Javu
Podatak - > Informacija

Uvod u Javu
Podatak - > Informacija

• Podaci obrađeni tako da dobijaju značenje čine


informaciju.
• Ključ za donošenje dobre odluke:
• informacija precizna, relevantna i dobijena na
vreme je.

Uvod u Javu
Podatak - > Informacija

Podatak1 Obradom prikupljenih podataka nastaje


informacija
Podatak2
Obrada
Podatak3 Informacija
podataka

PodatakN

Uvod u Javu
Šta je baza podataka
• Skup logički povezanih podataka koji su
• organizovani prema potrebama korisnika,
• održavaju se
• koriste za dobijanje informacija

• BP omogućava jednostavnu i laku manipulaciju


sa podacima.
Primeri baza podataka
• adresar
• kolekcija filmova na CD-ovima,
• papirni telefonski imenik
• knjige: kolekcija tekstova i slika, biblioteke
• datoteke organizovane u direktorijume
• skup šematskih crteža
• uzorci krvi za medicinske laboratorije
• DNK uzorci u forenzičkim laboratijama
Baze podataka – nekada i sad
• Baze podataka su postojale i pre masovne
upotrebe računara

Baze podataka nekada i danas


Baze podataka – nekada i sad

• Smeštanje baze podataka na računaru omogućava lakšu


i bržu obradu podataka i dobijanje željene informacije.
• Karakterističan je primer sa telefonskim imenikom koji
se nalazi na papiru.
Primena
Svaki informacioni sistem u pozadini ima bazu podataka
• Bankarstvo
• Obrazovanje
• Kupovina putem kartica
• Online kupovina
• Zdravstvo
• Youtube
• Socijalne mreže
Model baze podataka
• Organizacioni pristup se drugačije naziva model baze
podataka.

• Model baze podataka određuje:


o logičku strukturu,
o način na koji su podaci skladišteni, organizovani
o način manipulacije sa skladištenim podacima.
Modeli baze podataka
Prema načinu pristupa podacima razlikuju se dve osnovne grupe
modela:
Formatizovane
• gde su podaci predstavljeni slogovima
• integracija podataka i veze između njih se predstavlja
povezivanjem slogova u stabla, liste ili mreže.
Relacione
• podaci, njihova integracija i veze između njih predstavljaju se
isključivo relacijama, odnosno slogovima sa odgovarajućim
sadržajem.
Relacioni model

• Principe i strukturu relacionog modela objavio je E. F.


Codd 1970. godine u svome radu: “A Relation Model of
Data for Large Shared Data Banks” Communications of
the ACM, Volume 13, Number 6, (1970.), pages 377-387.
• Stalno se usavršava
• Opšteprihvaćen u svetu za organizaciju,manipulaciju
i obradu podataka.
Relacioni model

• “Oslanja” se na matematičku disciplinu-relacionu


algebru
• Omogućena računarska podrška, razvoj specifičnog
softvera
• Obrada uz zagarantovanu konzistentnost podataka i
rezultata
• Implementacija operacija relacione algebre zasnovana na
objektno orjentisanim programskim jezicima
Osnovni pojmovi

• relacija
• entitet
• atribut
• domen
• kardinalnost relacije
• primarni ključ
• sekundarni (strani) ključ
Relacija

• Osnovni element relacionog modela


• Sinonim za tabelu ili datoteku
• E. F. Codd pod relacijom definisao pravougaono
područje - tabelu koja se sastoji od
• kolona (atributa i vrednosti atributa -
podataka) i
• redova (n-torki1, odnosno slogova sa
podacima)
Relacija

Alias Superime Moći


Peter Parker Spiderman Snaga, penjanje
Barry Allen Flash Brzina
Bruce Banner Hulk Snaa
Podatak
Koje podatke možemo da znamo o životinji sa slike?

• Ime
• Vrsta
• Rasa
• Težina
• Starost
• Pol
• Vakcinisan
Vrednost

• Ime:Mimi
• Vrsta:Domaći pas
• Rasa: Nemački špic
• Težina: 22.3 kg
• Starost: 73 meseca
• Pol: muški
• Vakcinisan: da
Tip podatka
• Ime:Mimi (tekst)
• Vrsta:Domaći pas (tekst)
• Rasa: Nemački špic (tekst)
• Težina: 22,3 kg (realan broj)
• Starost: 73 meseca (ceo broj)
• Pol: muški (muški ili ženski –
nabrojivi tip)
• Vakcinisan: da (logička vrednost -
da ili ne)
Relacija - Tabela

Id Ime Vrsta Rasa Tezina Starost Pol Vakcina

1 Eko Domaci pas Haski 23,4 96 Muški Da

2 Džimi Domaci pas Zlatni retriver 21,6 74 Muški Da

3 Maza Domaci pas Nemački špic 15,5 43 Ženski Da


Red – slog - instanca

Id Ime Vrsta Rasa Tezina Starost Pol Vakcina

1 Eko Domaci pas Haski 23,4 96 Muški Da

2 Džimi Domaci pas Zlatni retriver 21,6 74 Muški Da

3 Maza Domaci pas Nemački špic 15,5 43 Ženski Da


Red – slog - instanca

Id Ime Vrsta Rasa Tezina Starost Pol Vakcina

1 Eko Domaci pas Haski 23,4 96 Muški Da

2 Džimi Domaci pas Zlatni retriver 21,6 74 Muški Da

3 Maza Domaci pas Nemački špic 15,5 43 Ženski Da


Kolona

Id Ime Vrsta Rasa Tezina Starost Pol Vakcina

1 Eko Domaci pas Haski 23,4 96 Muški Da

2 Džimi Domaci pas Zlatni retriver 21,6 74 Muški Da

3 Maza Domaci pas Nemački špic 15,5 43 Ženski Da


Kolona

Id Ime Vrsta Rasa Tezina Starost Pol Vakcina

1 Eko Domaci pas Haski 23,4 96 Muški Da

2 Džimi Domaci pas Zlatni retriver 21,6 74 Muški Da

3 Maza Domaci pas Nemački špic 15,5 43 Ženski Da


Informacija

Id Ime Vrsta Rasa Tezina Starost Pol Vakcina

1 Eko Domaci pas Haski 23,4 96 Muški Da

2 Džimi Domaci pas Zlatni retriver 21,6 74 Muški Da

3 Maza Domaci pas Nemački špic 15,5 43 Ženski Da

Na osnovu podataka iz tabele možemo doći do informacije

Prikazati informaciju o najvećoj vrednosti starosti životinje


1. Vrste domaći pas
2. Muškog pola
Informacija
Filter 1

Id Ime Vrsta Rasa Tezina Starost Pol Vakcina

1 Eko Domaci pas Haski 23,4 96 Muški Da

2 Džimi Domaci pas Zlatni retriver 21,6 74 Muški Da

3 Maza Domaci pas Nemački špic 15,5 43 Ženski Da

Prikazati informaciju o najvećoj vrednosti starosti životinje


1. Vrste domaći pas
2. Muškog pola
Informacija
Filter 1

Id Ime Vrsta Rasa Tezina Starost Pol Vakcina

1 Eko Domaci pas Haski 23,4 96 Muški Da

2 Džimi Domaci pas Zlatni retriver 21,6 74 Muški Da

3 Maza Domaci pas Nemački špic 15,5 43 Ženski Da

Prikazati informaciju o najvećoj vrednosti starosti životinje


1. Vrste domaći pas
2. Muškog pola
Informacija
Filter
Id Ime Vrsta Rasa Tezina Starost Pol Vakcina

1 Eko Domaci pas Haski 23,4 96 Muški Da

2 Džimi Domaci pas Zlatni retriver 21,6 74 Muški Da

3 Maza Domaci pas Nemački špic 15,5 43 Ženski Da

Prikazati informaciju o najvećoj vrednosti starosti životinje


1. Vrste domaći pas
2. Muškog pola
Informacija

Id Ime Vrsta Rasa Tezina Starost Pol Vakcina

1 Eko Domaci pas Haski 23,4 96 Muški Da

2 Džimi Domaci pas Zlatni retriver 21,6 74 Muški Da

3 Maza Domaci pas Nemački špic 15,5 43 Ženski Da

Prikazati informaciju o najvećoj vrednosti starosti životinje


1. Vrste domaći pas
2. Muškog pola Informacija – zaključak koju smo izdvojili na osnovu podataka
smeštenih u redovima i kolonama tabele životinja:

Najveća vrednost starosti vrste domaći pas muškog pola je


96 meseci
Uslovi da bi tabela bila relacija
1.Sve vrednosti podataka jednog atributa (kolone) moraju biti istog
tipa.
Unutar jedne relacije, svaki atribut može biti drugog tipa
Svaki podatak u tabeli-relaciji predstavlja samo skup znakova i ništa više.
Na osnovu jednog podatka u relaciji ne može i ne sme se, doznati niti
zaključivati ništa o vrednostima drugih atributa u istoj ili drugoj n-torci te
relacije.

U relacionoj bazi podataka ne smeju postojati funkcionalne zavisnosti


među atributima.
Uslovi da bi tabela bila relacija
2. Unutar jedne relacije ne smeju postojati dve identične n-torke sa
identičnim vrednostima atributa – identičnim podacima.
dvostruko memorisanje podataka dovodi do pojave redundanse podataka

3. Redosled n-torki u relaciji je proizvoljan.

4. Svi atributi unutar jedne relacije moraju imati različita imena, dok
je redoslijed njihovog navođenja takođe proizvoljan.
Entitet
• Entitet je model dela realnog sveta opisanog ograničenim brojem
atributa.
• Entitet je nešto što postoji i što se na jedinstven način može
identifikovati.
• Svaki entitet mora imati jedno ili više svojstava (identifikator)
koja ga jasno razlikuju od svih drugih entiteta.
• Relacija služi za opis podataka jedne klase objekata koja se naziva
entitet.
• Imenica u jednini stvari (auto, knjiga), događaji (utakmica, ispit),
ljudi (student,radnik)
Atribut
• Atribut je jedno od karakteristika(svojstava, osobina)
posmatranog entiteta (objekta) o kojem sakupljamo
podatke.

• Svi podaci u jednom redu, jednom slogu, zapisu


odnosno jednoj n-torci, definišu
o jednu jedinku datog objekta

• Jedna kolona opisuje jedno svojstvo svih jedinki.


Atribut

SLUŽBENIK < JMBG, ime, prezime, dat_rođ, adresa, tel…, >

• svaka n-torka sadrži podatke o jednom službeniku


• kolona “JMBG”, sadrži jedinstvene matične brojeve svih službenika
• tog preduzeća.
Atribut – Null vrednost
• Atributi u trenutku skupljanja podataka ne moraju
obavezno imati poznate vrednosti

• Uvodi se pojam Null vrednost

Null ≠ 0 (numerička nula)


Atribut
• Pri projektovanju informacionog sistema
o pažljivo i studiozno iz mnoštva mogućih atributa
odabrati i definisati samo one koji opisuju objekat na
zadovoljavajući i prihvatljiv način.
Atribut
SLUŽBENIK < JMBG, ime, prezime, dat_rođ, adresa, tel…, >

• Atribut "dat_rođ„
o podaci o starosnoj dobi svakog službenika u preduzeću
• Atribut "godine_starosti" - loše rešenje
o Baza podataka mora da se svaki dan ažurira s obzirom da su svi
službenici svakog dana jedan dan stariji
• Atribut "dat_rođ"- podatak je konstantan
o godine starosti se mogu izračunati iz poznatog tekućeg datuma.
Domen atributa
SLUŽBENIK < JMBG, ime, prezime, dat_rođ, adresa, mobilni…, >

Domen tributa je skup vrednosti koje on može da poprimi

• atribut "pol" može da poprimi samo dve vrednosti, “muško” ili


“žensko”.
• domen za atribut "zvanje" ima onoliko vrednosti koliko ima različitih
zvanja službenika angažovanih u preduzeću
• domen atributa „mobilni" jednak je broju n-torki u relaciji (izuzev
ukoliko ima službenika bez mobilnog telefona)
Primarni ključ
• Primarni ključ je atribut, odnosno kombinacija atributa,
čija vrednost jednoznačno definiše samo jednu n-torku,
samo jedan slog, u nekoj relaciji - tabeli
o što znači da jednoznačno “izdvaja” samo jedan red -
jedan slog

• U jednoj relaciji ne smeju postojati dve različite n-torke sa


istom vrednošću ključnog atributa.
Primarni ključ
Primarni ključ mora biti
o jedinstven, nepromjenljiv i uvek raspoloživ
Izbor primarnog ključa veoma važan
o jer se jedino preko njega može pristupiti jednoj i samo jednoj,
n-torci u nekoj relaciji
Kandidati za ulogu primarnog ključa
• definisanjem grupe atributa (složeni ključ) koji imaju jedinstvenu
vrednost za svaki slog
• uvođenjem novog, dodatnog, atributa, „ID"(redni brojevi) pri čemu
se obezbeđuje jednoznačnost
Primarni ključ

Nepostojanjem primarnog ključa


gubi se mogućnost direktnog
pristupa u nekoj relaciji jednoj i
samo jednoj n-torci.
Spoljni ključ
• Spoljni ključ relacije A je atribut (skup atributa) koji u
relaciji B ima ulogu primarnog ključa.
• Osnovna uloga spoljnih ključeva je uspostavljanje veza
(relacija) među tabelama, a ne identifikacija n-torki.
• Spoljni ključ naziva se još i strani ključ, može, ali i ne
mora se, posebno obeležiti (sa ! ili $)
Spoljni ključ
• BOLNICA < šifrabol#, naziv_bolnice, adresa, telefon,...>
• LEKAR < šifralekara#, šifrabol, ime, prez, adresa,.....>

• "šifrabol#" je u relaciji BOLNICA primarni ključ, a u relaciji LEKAR atribut i


služi za povezivanje relacija.
• za lekara čiju šifru poznajemo, može se dobiti telefonski broj bolnice u kojoj
radi, unoseći poznatu šifru bolnice (šifrabol#) iz njegove n-torke u relaciji
LEKAR, u relaciju BOLNICA (gdje je šifrabol# primarni ključ), očitavajući nakon
toga vrijednost atributa "telefon„ u n-torci relacije BOLNICA.
Projektovanje baze podataka
• Prilikom implementiranja nove baze podataka, lako je upasti u zamku
pokušavajući na brzinu odraditi posao, bez prethodnog utroška vremena
na proces dizajna, odnosno projektovanja.
• Koliko je ova faza bitna, najbolje se može videti nakon završetka
projekta, kada je zbog loše dizajnirane baze podataka neophodno često
raditi skupe redizajne i reimplementacije.
• Projektovanje baze podataka je slično projektovanju kuće. Nerealno je
početi sa zidanjem bez prethodno urađenog detaljnog planiranja.
Takođe, dobar dizajn Vam omogućava da kasnije originalnu građevinu
proširite, odnosno dozidate, bez potrebe za rušenjem prethodno
izgrađenog
Faze u projektovanju baze
• Analiza zahteva
o Pre nego što sagledamo kako ćemo nešto uraditi, potrebno je
prvo da vidimo šta je uopšte potrebno da uradimo. To ćemo
najbolje učiniti sakupljanjem što više neophodnih informacija i
njihovom analizom
• Konceptualni dizajn
o Nakon što smo prikupili i analizirali zahteve, potrebno je ove zahteve
pretočiti u neku vrstu formalnog, konceptualnog dizajna. U tu svrhu se
najčešće koriste razni dijagrami za modelovanje entiteta i relacija među
njima
• Logički dizajn
o Na kraju, logičkim dizajnom se vrši mapiranje konceptualnog dizajna na
konkretne tabele i relacije odabranog sistema baza podataka
Konceptualni dizajn
• Kreiranje konceptualnog modela podrazumeva definisanje
entiteta i relacija među njima
• Relacioni model (još se naziva i model entiteta i zavisnosti)
odnosno Entity Relationship Model, i veoma lako možemo
da uočimo dva ključna pojma ovog modela: entiteti i
zavisnosti. Ovi pojmovi čine samu srž kreiranja
konceptualnog modela, kao i baza podataka uopšte.
E-R model
• Ovaj pristup sintezi relacione baze podataka
prikazan je po prvi puta u radu: CHEN, P. P. The Entity
Relationship objavljenom 1976. godine.
Najkraća definicija ovog postupka bi bila:
• dobijanje saznanja o objektima, vezama među njima, te
njihovim svojstvima.
• Chen je predložio da se model nazove E-R model (Entity –
Relation, (entiteti – relacije) to jest, objekti i veze među
njima).
• U našoj literaturi ovaj model se naziva i MOV (skraćenica od
Model Objekat-Veze)
E-R model
• Status objekta u E-R modelu imaju oni entiteti koji pored
identifikatora objekta (primarnog ključa) imaju još i
neka svojstva koja se opisuju atributima.

• Atribut je svojstvo objekta koje se opisuje jednim


podatkom.

• Ukoliko je za opisivanje atributa potrebno više podataka, onda


taj atribut predstavlja novi objekat.
E-R model
Objekat PRODAVNICA opisan atributima:
PRODAVNICA < šifraprod#, naziv, djelatnost , grad >

Objekat PRODAVNICA, definisan na ovaj način, je entitet koji ima


svoj identifikator - ključ (šifraprod#) i tri atributa (koji opisuju
njegova svojstva koja su od značaja za poslovanje).
E-R model
U sledećem koraku treba utvrditi da li svi atributi zadovoljavaju
postavljeni kriterijum.

Ako pretpostavimo da je:


• šifra prodavnice jednoznačna (što mora biti),
• da svaka prodavnica ima samo jedno ime,
• da ima definisanu delatnost,

onda su i atributi “naziv” i “delatnost” atributi


E-R model
• Ako za atribut “grad” pored imena postoji i podatak o broju
stanovnika u tom gradu
• “grad” ne može biti atribut jer ga opisuju dva podatka (naziv i
broj stanovnika).
• Grad predstavlja objekat koji mora biti definisan kao:
o GRAD < šifragrada#, naziv, brojstan. >
• Iz objekta PRODAVNICA atribut “grad” se briše.
• Na kraju,treba još ustanoviti i definisati vezu između tih
objekata (PRODAVNICA, GRAD)
Veze
• Objekti PRODAVNICA i GRAD nisu nezavisne jer se svaka prodavnica odnosi
na grad u kojem se ona nalazi.
• Neophodno je, prema tome, ova dva objekta međusobno povezati.
• Nazovimo tu vezu među njima u ovom konkretnom slučaju "lokacija"

Vezu između GRADA i PRODAVNICE čini "lokacija", nalazi se između GRADA i PRODAVNICE a tip uspostavljanja veze
(moguće varijante su 1:1, 1:N ili M:N ) mora biti poznat.

Ako u gradu može biti više prodavnica, a određena prodavnica može biti samo u jednom gradu, tip veze je 1:N.

Ako je veza "lokacija" još i opcionalna, dakle neobavezna, (svaki grad može, ali ne mora, imati prodavnicu
posmatranog lanca trgovina), onda tu činjenicu označavamo na strani veze koja je neobavezna kružićem
Vezni objekti
• Veze tipa N:M u E-R modelu prevode se, pod određenim
uslovima u novi objekat, daju im se svojstva objekta, čime
takve veze postaju vezni objekti koji onda mogu imati i sva
svojstva objekta, imaju prema tome i identifikator (ključ), a
mogu, ali i ne moraju, imati i atribute.

„Eliminacija" ovih veza iz ER modela izvodi se na sledeći način:


o svaka veza tipa N : M zamenjuje se novim objektom (najčešće istog
naziva kao i veza N : M koja se zamjenjuje) sa složenim ključem –
identifikatorom - koji se sastoji od ključeva objekata koje je veza tipa N:M
povezivala.
o nakon toga se novi objekat povezuje vezama 1 : N sa postojećim.
Vezni objekti
• Objekti NASTAVNIK i STUDENT vezani su N:M jer:
• - jedan nastavnik predaje grupi od više (N) studenata, a svaki
student sluša nastavu kod više (M) nastavnika
Vezni objekti
• Zamena veze nastava, veznim objektom NASTAVA, izvodi se
uvođenjem dve nove veze tipa 1:N između:

o NASTAVNIKA i NASTAVE (nazovimo je "izvodi")


o STUDENT-a i NASTAVE (nazovimo je "sluša").

Tako dobijamo nov oblik ER-modela (bez N:M veze)


Pregled simbola ER modela
Prevođenje E-R modela na relacioni oblik

Tehnika prevođenja E-R modela na relacioni oblik


izvodi se tako što:
• svaki objekat E-R modela postaje relacija,
• svaka veza N:M postaje objekat - vezna relacija,
• ime objekta postaje ime relacije,
• karakteristike objekta postaju njegovi atributi,
• identifikatori objekata postaju ključevi relacija.
Zadatak 1
U svakoj studentskoj službi vode se, između ostaloga, i podaci o:
o studentima (brind, prezime, ime, adresa, …),
o nastavnicima (šifranas, ime, prezime, adresa, tel, …),
o predmetima (šifrapred, naziv, semestar, …), i
o ispitima (datum, ocjena, ime kand., ime prof., naziv pred.).

Pretpostavimo da statut fakulteta omogućava da:


o jedan predmet može se polagati više puta,
o na jednom ispitu polaže se jedan predmet,
o jedan student može prijaviti više ispita,
o jedan ispit može polagati više studenata,
o jedan nastavnik može da predaje više predmeta,
o jedan predmet može da predaje samo jedan nastavnik,
o jedan nastavnik organizuje više ispita, i
o jedan ispit organizuje samo jedan nastavnik.
Zadatak 1 –ER model
Zadatak 1 –Relacioni model
Objekti su:
• NASTAVNIK <šifranast#, prezime, ime, adresa, tel, … .>
• PREDMET < šifrapred#, šifranast, naziv, semestar, … >
• STUDENT < brind#, prezime, ime, adresa, šifrapred, … >
• ISPIT < datispita#, šifrapred#, šifranast#, vrijeme, sala, tip, … >.

Vezni objekat:
PRIJAVE < brind#, datispita#, šifrapred#, šifranast#, ocjena, … >
Relacija ISPIT ima složen ključ (šifrapred#, datispita#), jer se ispit iz nekog predmeta
može ponoviti, nekog drugog datuma, pa se samo tako može jednoznačno identifikovati.

Vezni objekat PRIJAVE ima takođe složen ključ i jedan svoj atribut – rezultat ispita, to jest
ocenu.
Sistem za upravljanje bazama podataka
• Softverski sistem koji se koristi za
kreiranje, održavanje i manipulisanje
podacima, kao i za kontrolu prava
pristupa bazi podataka.
• DBMS omogućava krajnjim korisnicima i
programerimada dele podatke, tj.
omogućava da se podaci koriste od strane
više aplikacija, a ne da svaka aplikacija
ima svoju kopiju podatka sačuvanu
uposebnim datotekama.
• DBMS takođe pruža mogućnost kontrole
pristupa podacima, osigurava integritet
podataka, uspostavlja kontrolu
konkurentnosti i vrši oporavak baze
podataka.
Najpoznatiji Database Menadžment sistemi
Najpoznatiji sistemi za upravljanje relacionim bazama podataka su:

MicrosoftSQLServer
Oracle
MySQL
PostgreSQL
SQLite

...MariaDB, SAP HANA, dBASE, FoxPro, IBM DB2, LibreOffice Base,


FileMaker Pro, Microsoft Access
Sistem za upravljanje bazama podataka
• Termini baza podataka i upravljanje bazom podataka se
ponekad mešaju.
• Stručno govoreći, baza podataka je uvek skup
činjenica, a ne računarski program.
• DBMS je uveden kao interfejs između korisnika
(korisničkih programa, aplikacija) i zapisa baze
podataka na disku.
Sistem za upravljanje bazama podataka
• Korisnički programi ne pristupaju podacima direktno, već
komuniciraju sa ovim softverom (programom).
• DBMS upravlja strukturom baze podataka: definiše objekte baze,
njihova svojstva (atribute), dozvoljene vrednosti atributa, veze
između objekata, ograničenja nad objektima i međusobnim
vezama.
Šta je MySQL?
• MySQL je sistem za upravljanje bazama podataka.
• MySQL je najkorišćeniji sistem ove vrste
• MySQL je projekat otvorenog koda, kreiran od strane švedske kompanije
MySQL AB, u vlasništvu Oracle-a
• MySQL se isporučuje bez ikakvog alata sa grafičkim korisničkim okruženjem za
manipulaciju podacima. Korisnici mogu da koriste integrisanu konzolu, odnosno
komandni interfejs (CLI) ili da koriste neki od alata sa grafičkim korisničkim
okruženjem koji dolaze odvojeno od samog MySQL sistema
Šta je SQL?
• SQL (Structured Query Language) jeste jezik za upravljanje
podacima posredstvom sistema za upravljanje bazom
podataka
• SQL je standardizovan 1986. godine, ali i pored toga nije u
potpunosti portabilan između različitih sistema za upravljanje
bazama podataka
• SQL poseduje kompletnu sopstvenu sintaksu koju je potrebno
savladati kako bi se na adekvatan način moglo rukovati
podacima u bazi
Elementi MySql okruženja
• Okruženje MySQL-a, sastoji se iz dva dela:
o servera koji rukuje podacima
o klijenta koji od server zahteva vršenje određenih radnji
• Jedini klijentski program koji stiže sa MySQL-om, jeste
konzolni program MySQL Monitor.
Elementi MySql okruženja
• Kada se baza podataka koristi u nekoj
aplikaciji, bila ona web, desktop ili mobilna,
tada sama aplikacija postaje klijent baze
podataka.
• Da bi aplikacija koje samostalno razvijamo
bila u stanju da se sporazume sa serverom
MySQL-a, tj. da bi poznavala njegov jezik
koristi konektor
• Konektori se razlikuju u zavisnosti od
platforme i programskog jezika u kome će
biti upotrebljavani.
• To su zapravo biblioteke napisane na
izvornom jeziku za koji su namenjene, koje
sadrže gotove metode za komunikaciju.
Instalacija MySQL servera
• Preuzimanje instalacionog fajla može se izvršiti sa sledeće adrese:
http://dev.mysql.com/downloads/mysql/
Instalacija MySQL servera
Inicijalno podešavanje servera
Podešavanje MySql servisa
Sistemske baze podataka
Podrazumevano, nakon instalacije, mysql server sadrži tri baze
podataka
information_schema
• Omogućava pristup informacijama o podacima, tj. podacima o
podacima. Podaci o podacima se drugačije nazivaju meta
podaci (metadata)
mysql
• sadrži sve serverske informacije. Korisnici, relacije, privilegije i
slično
performance_schema
• Podešavanja i statistike praćenja događaja niskog nivoa
MySql Workbench
• MySql Workbench je oficijelni alat za
upravljanje MySql serverom
• MySQL Workbench omogućava
administratorima i programerima
integrisano okruženje sa svim
potrebnim alatima za:
o Dizajn i modelovanje baze
podataka,
o SQL razvoj (zamena za MySQL
Query Browser),
o Administriranje (zamena za
MySQL Administrator)
o Migraciju baze.
Kreiranje konekcije
• Pod konekcijom se podrazumeva prijavljivanje (logovanje) na
MySQL server sa adekvatnim pristupnim podacima
Provera statusa servera
Starovanje servera
Starovanje servera
Starovanje servera
SQL Editor
• Klikom na kreiranu
konekciju, otvara se
SQL Editor. Ovo je
prozor u kome ćemo
provoditi najviše
vremena prilikom
“baratanja” podacima
• U levom delu radne
površine mogu se naći
opcije koje su logički
podeljene u 4 grupe:

• management
• instance
• performance
• schemas
Kreiranje baze podataka
• Najjednostavniji način za kreiranje baze podataka, jeste
upotreba alata (MySql Workbench)
CharacterSets and Collations
• Ako treba da uporedimo karaktere A i B. Najlakši način da se to uradi je
poređenjem njihovih brojčanih vrednosti, odnosno enkodinga. Zapravo
• Collation upravo predstavlja pravila poređenje enkodinga
• Character setovi i kolacije moraju odgovarati jedni drugima. Stoga je u
padajućem meniju, koji se može otvoriti u prozoru za dodavanje baze,
moguće odabrati kombinaciju karakter seta i kolacije.
• Na krajevima kolacija možemo da primetimo određene sufikse. Sufiksi i
njihovo značenje su sledeći:
 ci – Case Insensitive
 cs – Case Sensitive
 bin – Binary
• Ostavljanjem opcije Server Default zapravo se za karakter set i kolaciju
podešava onaj karakter set i kolacija koji su podešeni na nivou servera.
Pregled generisanog upita
• MySQL Workbench daje na uvid generisani upit, i nudi njegovu
potvrdu, nakon čega će isti biti izvršen a baza kreirana
Fizičko smeštanje podataka baze
• Fajlovi baze, fizički su smešteni u direktorijumu koji je prethodno
konfigurisan u fajlu my.ini, odnosno my.cnf
• Ovaj i slične podatke možemo dobiti direktnom analizom
pomenutog fajla, ili opcijom Server Status u MySQL Workbenchu
Kreiranje tabela
• Da bi baza imala smisla, mora imati tabele
• Tabela odgovara pojmu entiteta sa prethodnih slajdova
• Tabela se može kreirati pomoću GUI-ja ili SQL upita
Tipovi podataka
• Tabela se sastoji od redova i kolona
• Svaka kolona može biti određenog tipa
• Prilikom definisanja tabele, definišu se i kolone, i važno je tom
prilikom odabrati odgovarajuće tipove, naročito za slučaj da
tabela sadrži više podataka

Cardinal number Name Date of birth


1 Johnny Depp 09-06-1963
2 Brad Pitt 18-12-1963
Tipovi podataka
- Numerički tipovi
- tinyint, smallint, mediumint, int, bigint
- double, float, decimal
- Tekstualni tipovi
- char (varchar), binary (varbinary),text, blob, enum, set
- Boolean (bit)
- Tip kojim se predstavlja boolean vrednost
- Podaci za rukovanje datumom i vremenom
- date, datetime, timestamp,time, year
Ograničenja
• Ograničenja su posebne oznake u tabeli, kojima kontrolišemo
sadržaj njenih kolona, odnosno redova
• Ograničenja su:
o primary key
o foreign key
o unique
o default
o not null
o unsigned
o ...
Primarni ključ
• Primarni ključ je osnovni ograničavajući faktor u jednoj tabeli. To je svojstvo kolone, koje ne
omogućava da se vrednosti u njoj ponavljaju. Na ovaj način, lako je identifikovati bilo koji
red kolone, jer se u svakom od njih nalazi unikatan primarni ključ. Primarni ključ je
karakteristika skoro svake tabele, iako postoji mogućnost da se izbegne njegovo
postavljanje.

• Ponekad, tabela može imati i nekoliko kolona, koje zajedno čine primarni ključ te tabele. Na
primer, ako bismo hteli da se nijedan naziv proizvoda i njegova cena ne mogu ponoviti, mogli
bismo definisati primarni ključ na kolonama price i name. Ipak, najčešća je praksa
definisanje posebne kolone, specijalno za namenu primarnog ključa
Strani ključ
• Strani ključ je simbol relacione baze podataka. Ograničavač
stranog ključa (Foreign Key Constraint) održava fizičku relaciju
između dve tabele. Jednostavnije rečeno, ne dozvoljava da u
jednu tabelu bude unesena vrednost, ukoliko takva vrednost
ne postoji u drugoj tabeli na povezanoj koloni

You might also like