You are on page 1of 21

Uvod u baze podataka

 Namena sistema baza podataka


 Pogled na podatke
 Modeli podataka
 Jezik za definisanje podataka (DDL)
 Jezik za manipulaciju podacima (DML)
 Upravljanje transakcijama
 Upravljanje skladištenjem
 Administrator baze podataka
 Korisnici baze podataka
 Opšta struktura sistema

Database System Concepts 1.1 ©Silberschatz, Korth and Sudarshan


Sistem za upravljanje bazom podataka
(DBMS)
 Kolekcija povezanih podataka
 Skup programa za pristup podacima
 DBMS sadrže podatke o delovima preduzeća
 DBMS obezbeñuje okruženje koje je pogodno i efikasno za
korišćenje
 Aplikacije baza podataka:
 Banke: sve transakcije
 Aerodromi: rezervacije, raspored letova
 Univerziteti: registracije, rasporedi
 Prodaja: korisnici, proizvodi, kupci
 Proizvodnja: obrada, inventar, porudžbine, lanac snabdevanja
 Ljudski resursi: evidencija zaposlenih, zarade, takse
 Baze podataka dodiruju sve aspekte našeg života

Database System Concepts 1.2 ©Silberschatz, Korth and Sudarshan


Namena baza podataka

 U ranim danima, baze podataka su primenjivane za izgradnju


gornjeg sloja fajl sistema
 Nedostaci fajl sistema za skladištenje podataka:
 Redundantnost i nekonzistentnost podataka
 Višestruki fajl formati, dupliranje informacija u različitim
fajlovima
 Teško pristupanje podacima
 Potrebno je poisati novi program za realizaciju svakog novog
zadatka
 Izolovani podaci — višestruki fajlovi i formati
 Problemi integriteta
 Ograničenja integriteta dolaze kao deo programskog koda
 Teškoće kod dodavanja novih ograničenje ili izmene
postojećih

Database System Concepts 1.3 ©Silberschatz, Korth and Sudarshan


Namena baza podataka (nastavak)

 Nedostaci korišćenja fajl sistema (nastavak)


 Parcijalno ažuriranje
 Oštećenja mogu dovesti bazu podataka u nekonzistentno stanje sa
parcijalnim ažuriranjem
 Npr. transfer novca sa jednog računa na drugi treba da je
kompletan ili da se uopšte nije desio
 Konkurentan (istovremen) pristup više korisnika
 Konkurentan pristup je potreban zbog poboljšanja performansi
 Nekontrolisan konkurentan pristup može dovesti do
nekonzistentnosti
– Npr. dva korisnika čitaju bilans i ažuriraju ga u isto vreme
 Problemi zaštite
 Sistemi baza podataka imaju rešenja za sve navedene probleme

Database System Concepts 1.4 ©Silberschatz, Korth and Sudarshan


Nivoi apstrakcije

 Fizički nivo opisuje kako je zapis skladišten (npr., kupac).


 Logički nivo: opisuje podatke skladištene u bazi podataka i
relacije izmeñu podataka
type kupac = record
ime : string;
ulica : string;
grad : integer;
end;
 Nivo pogleda: aplikacioni programi skrivaju detalje tipova
podataka. Pogledi mogu takoñe skrivati informacije (npr. zarade)
u cilju zaštite.

Database System Concepts 1.5 ©Silberschatz, Korth and Sudarshan


Pogled na podatke
Arhitektura sistema baze podataka

Database System Concepts 1.6 ©Silberschatz, Korth and Sudarshan


Instance i šeme

 Sličnost sa tipovima i promenljivima u programskim jezicima


 Šema – struktura baze podataka
 Npr., bazu podataka se sastoji od informacija o skupu kupaca i računa, kao i
relacija meñu njima)
 Analogno tipovima informacija i promenljivima u programu
 Fizička šema: dizajn baze podataka na fizičkom nivou
 Logička šema: dizajn baze podataka na logičkom nivou
 Instanca – aktuelni sadržaj baze podataka u odreñenom trenutku
 Analogno vrednosti promenljive
 Nezavisnost fizičkih podataka – mogućnost modifikovanja fizičke šeme
bez izmene logičke šeme
 Aplikacije zavise od logičke šeme
 Generalno, interfejsi izmeñu različitih nivoa i komponeneti se mogu dobro
definisani, tako da izmene u nekom delu ne uzrokuju vezano uticaj na druge
delove.

Database System Concepts 1.7 ©Silberschatz, Korth and Sudarshan


Modeli podataka

 Kolekcija alata za opisivanje


 podataka
 relacija meñu podacima
 semantike podataka
 ograničenja podataka
 Entitet-Relacija (Entity-Relationship) model
 Relacioni model
 Ostali modeli:
 objektno-orijentisani model
 modeli semi-structura podataka
 stariji modeli: mrežni i hijerarhijski

Database System Concepts 1.8 ©Silberschatz, Korth and Sudarshan


Entitet-Relacija (E-R) model

Primer šeme u E-R modelu

Database System Concepts 1.9 ©Silberschatz, Korth and Sudarshan


Entitet-Relacija (E-R) model (nastavak.)

 E-R model u realnom svetu


 Entiteti (objekti)
 Npr. kupci, računi, ekspozitura banke
 Relacije izmeñu entiteta
 Npr. Račun R-101 je u vlasništvu kupca Markovića
 Relacioni skup depozitor je veza kupaca sa računima
 Široko korišćen za dizajn baza podataka
 Dizajn baze podataka u E-R modelu se obično konvertuje u dizajn
relacionog modela (u nastavku), koji se koristi za skladištenje i
procesiranje podataka

Database System Concepts 1.10 ©Silberschatz, Korth and Sudarshan


Relacioni model
Atributi
 Primer tabele podataka u RELACIONOM MODELU

Kupac-id Kupac-ime Kupac-ulica Kupac-grad Račun-broj

192-83-7465 Johnson
Alma Palo Alto A-101
019-28-3746 Smith
North Rye A-215
192-83-7465 Johnson
Alma Palo Alto A-201
321-12-3123 Jones
Main Harrison A-217
019-28-3746 Smith
North Rye A-201

Database System Concepts 1.11 ©Silberschatz, Korth and Sudarshan


Jednostavna relaciona baza podataka

Database System Concepts 1.12 ©Silberschatz, Korth and Sudarshan


Jezik za definisanje podataka (DDL)

 Specifikaciona notacija za definisanje šeme baze podataka


 Npr.
create table racun (
racun-broj char(10),
stanje integer)
 DDL kompajler generiše skup tabela skladištenih u rečniku
podataka
 Rečnik podataka sadrži meta-podatke (Npr., podaci o podacima)
 Šema baze podataka
 Jezik za skladištenje i definisanje podataka
 Jezik kojim se specifikuju skladišne strukture i pristupne
metode, koje koriste sistemi baza podataka
 Obično proširenje DDL

Database System Concepts 1.13 ©Silberschatz, Korth and Sudarshan


Jezik za manipulaciju podacima (DML)

 Jezik za pristupanje i manipulaciju podataka organizovanih


pomoću odgovarajućeg modela podataka
 DML je takoñe poznat kao upitni jezik
 Dve klase jezika
 Proceduralni – korisnik specifikuje koje podatke zahteva i kako ih
dobija
 Neproceduralni – korisnik specifikuje koje podatke zahteva bez
specifikovanja kako dobija te podatke
 SQL je najšire korišćen upitni jezik

Database System Concepts 1.14 ©Silberschatz, Korth and Sudarshan


SQL

 SQL: široko korišćen neproceduralni jezik


 E.g. find the name of the customer with customer-id 192-83-7465
select customer.customer-name
from customer
where customer.customer-id = ‘192-83-7465’
 E.g. find the balances of all accounts held by the customer with
customer-id 192-83-7465
select account.balance
from depositor, account
where depositor.customer-id = ‘192-83-7465’ and
depositor.account-number = account.account-number
 Aplikacioni programi generalno pristupaju bazi podataka kroz jedan
od načina
 Jezičke ekstenzije koje se mogu ugraditi u SQL
 Alikacione programske interfejse (npr. ODBC/JDBC) koji dopuštaju SQL
upitima da budu prosleñeni do baze podataka

Database System Concepts 1.15 ©Silberschatz, Korth and Sudarshan


Korisnici baze podataka

 Korisnici se razlikuju prema načinu interakcije koju očekuju sa


sistemom baze podataka
 Aplikacioni programeri – interakcija sa sistemom se odvija kroz
DML pozive
 Sofisticirani korisnici – formiraju zahteve u upitnom jeziku baze
podataka
 Specijalizovani korisnici – pišu specijalne aplikacije baze
podataka koje ne stavljaju u tradicionalni okvir za procesiranje
podataka
 Neiskusni korisnici – pozivaju neki od permanentnih programa
koji su prethodno napisani namenski
 Npr. ljudi pristupaju bazama podataka preko web, bankarskig
blagajni, komandne palice

Database System Concepts 1.16 ©Silberschatz, Korth and Sudarshan


Administrator baze podataka

 Koordinira sve aktivnosti sistema baze podataka;


Administrator baze podataka dobro razume informacione
resurse i potreba preduzeća.
 Dužnosti administratora baze podataka obuhvataju:
 Definisanje šema
 Skladištenje struktura i definicija
 Modifikovanje šema i fizičke organizacije
 Dodeljuje korisnička ovlašćenja za pristup bazi podataka
 Specifikuje ograničenja integriteta
 Deluje kao veza sa korisnicima
 Prati performanse i reaguje na izmene u zahtevima

Database System Concepts 1.17 ©Silberschatz, Korth and Sudarshan


Transakcioni menadžment

 Transakcija je kolekcija operacija koje izvršava jedna logička


funkcija u aplikaciji baze podataka
 Transakciona-menadžment komponenta obezbeñuje da baza
podataka ostane u konzistentnom (korektnom) stanju uprkos
oštećenjima sistema (npr., nestanak električne struje uzrokuje
pad operativnog sistema) i oštećenjima u transakcijama.
 Menadžer kontrole istovremenosti kontroliše interakcije meñu
istovremenim (konkurentnim , paralelnim) transakcijama, radi
osiguranja konzistentnosti baze podataka.

Database System Concepts 1.18 ©Silberschatz, Korth and Sudarshan


Menadžment skladištenjem

 Menadžer skladištenja je programski modul koji obezbeñuje


interfejs izmeñu niskog nivoa skladištenja podataka u bazi
podataka i aplikacionih programa i upita u sistemu.
 Skladišni menažer je odgovoran za sledeće zadatke:
 Interakcije sa fajl menadžerom
 Efikasno skladištenje, oporavak i ažuriranje podataka

Database System Concepts 1.19 ©Silberschatz, Korth and Sudarshan


Opšta struktura sistema

Database System Concepts 1.20 ©Silberschatz, Korth and Sudarshan


Aplikacione arhitekture

Dvodelna arhitektura: Npr. klijentski programi koriste ODBC/JDBC za


komunikaciju sa bazom podataka
Trodelna arhtektura: Npr. web-bazirane aplikacije, kao i aplikacije
izgrañene koristeći “posrednika”

Database System Concepts 1.21 ©Silberschatz, Korth and Sudarshan

You might also like