uvod u baze podataka - wordpress.com · zadaci dbms skup programa ... programiranje baze podataka....
Post on 01-Jan-2020
20 Views
Preview:
TRANSCRIPT
Pojam
Baze podataka predstavljaju skup podataka organizovanih s nekim zajedničkim ciljem
–centralno skladištenje podataka i jednostavno upravljanje podacima .
Nije od velikog značaja kakva podrška postoji za prikupljanje i skladištenje podatka
(papir, datoteke,...) sve dok se podaci prikupljaju i skladište na neki organizova način i
sa specifičnim ciljem može se govoriti o bazama podataka.
Pod bazama podataka podrazumevamo strukturirani skup podataka koji omogućava
takvo skladištenje velike količine podataka koje olakšava njihovu eksploataciju
(dodavanje, ažuriranje, pretraživanje). Naravno, danas, kada se govori o bazama
podataka, misli se prvenstveno na automatizovane baze podataka.
2
Definicija
Automatizovane baze podataka predstavljaju organizovani skup podataka koji je
zabeležen na nekom računarskom nosicu podataka; ovaj skup podataka predstavlja
informacije o realnom svetu koje neka zajednica korisnika može da po potrebi menja i
pretražuje.
4
Sada
Gde koristimo baze podataka – koja je njihova primena?
Poslovanje preduzeća
Prodaja: korisnici, proizvodi, kupci
Proizvodnja: obrada, inventar, porudžbine, lanac snabdevanja
Ljudski resursi: evidencija zaposlenih, zarade
Policijska baza podataka – sva sreća pa gledamo CSI
Škole, fakulteti – Baze učenika, studenata, rasporedi…
Aerodromi: rezervacije, raspored letova
Zdravstvo –evidencija o pacijentima, zaposlenima, organizacija i zakazivanje
Finansijske organizacije –banke, transakcije
Politika – političke stranke
5
Gde još koristimo baze podataka?
INTERNET? Ali gde na internetu?
Primer web stranice koja koristi bazu podataka je Instagram kao i www.IMDB.com –
Internet Movie Data Base
Društvene mreže
Dinamičke web stranice (npr online vesti)
Kako to sve izgleda? Mi imamo formu – web stranicu kojoj pristupamo, a podaci koji se
na njoj prikazuju potiču iz baze podataka koja se nalazi „iza“ te forme.
6
***Problem koherentnosti podataka
Baze podataka se stvaraju jer postoji potreba da se prikupe podaci između kojih
postoje neke veze s ciljem da se pronađu informacije, koristeći kriterijume za
pretraživanje koji se oslanjaju na sadržaj tih informacija.
Na primer: podatak Album u bazi se može uneti kao Album, ALBUM, album i slično…
Koherentnost podataka je ključni problem baza podataka.
Prvi i najvažniji odgovor za rešavanje ovog problema je da se što je moguće više
ograniči redundantnost informacija, tj. njihovo nepotrebno ponavljanje.
7
Tipovi baza podataka
Lokalne baze podataka
Nalaze se na lokalnom disku računara
Bazi podataka može da pristupa samo jedan korisnik
Klijent/server baze podataka
Baza podataka se nalazi na serveru
Bazi podataka može „istovremeno“ da pristupa više korisnika
Primer - informacioni sistem
8
Vrste (modeli) baza podataka
Relacione baze podataka – Predstavljaju skup tabela povezanih određenim relacijama.
Mrežne – Ovaj tip baza podataka je opisan matematičkom teorijom grafova (čvorovi i lukovi). Čvorove predstavljaju tipovi zapisa a lukovi veze između tipova zapisa.
Hijerarhijske – Specijalni slučaj mrežnog modela samo je dodat još i odnos podređeni–nadređeni tip veze između zapisa.
Objektno orjentisani modeli
Objektni
Relaciono-objektni
Mrežni i Hijerarhijski tip baza podataka se retko koristi u praksi. Daje mogućnost samo jednostavnih operacija sa BP.
9
Šta je to DBMS?
Skraćenica DBMS znači Data Base Managment System – odnosno Sistem za Upravljanje
Bazama Podataka (SUBP)
DBMS predstavlja kolekciju programa koji omogućavaju kako osnovne tako i napredne
o.peracije nad bazom podataka
10
DBMS obično sadrži:
Jezik za definisanje podataka (Data Definition Language, DDL) omogućava
definisanje tipa i strukture podataka, kao i ograničenja nad memorisanim
podacima
Jezik za manipulaciju podacima (Data Manipulation Language, DML)
omogućujava umetanje, izmenu, brisanje… podataka iz baze podataka
Jezik za postavljanje upita (Query Language, QL) omogućava interaktivno
pretraživanje baze podataka
11
ZADACI DBMS
Skup programa koji obezbeđuju upravljanje bazom podataka i pristup ka njoj se naziva
sistem za upravljanje bazama podatka. Jedan sistem za upravljanje bazama
podataka može da održava više različitih baza podataka koje su tematski različite.
Koji god model podataka da je primenjen (mrežni, relacioni ili objektni) glavni zadaci
sistema za upravljanje bazama podataka su:
da sakrije od korisnika fizičku reprezentaciju podataka,
da obezbedi zaštitu i koherentnost podataka u višekorisničkom okruženju u kome
mnogi korisnici istovremenu pristupaju podacima.
12
Sistem za upravljanje bazama podataka omogućava dodavanje podataka, njihovu
modifikaciju i pretraživanje.
Model koji se prirodno nametnuo u poslednjih tridesetak godina je relacioni model, koji
se poslednjih godina nadograđuje objektnim pristupom. Sistemi za upravljanje bazama
podataka koji podržavaju relacioni model koriste jezik SQL – Standard Query Language
– koji predstavlja standardizovani pristupni (upitni) jezik za relacione baze podataka.
13
Sistem za upravljanje bazama podataka ostvaruje više značajnih CILJEVA u stvaranju i
eksploataciji baze podataka:
fizička nezavisnost: interna reprezentacija podataka i metoda ze pristup sistemu
datoteka mora za korisnika da bude transparentna. To znači da promene fizičke
organizacije podataka ne zahtevaju modifikaciju programa obrade nad bazom
podataka;
logička nezavisnost: jedan isti skup podataka različiti korisnici mogu da vide na različite
načine. Sve ove različite poglede definiše eksterna šema koja mora u potpunosti da
bude integrisana sa globalnom konceptualnom šemom. To znači, na primer, uvođenje
nove rubrike - kolone u tabeli - ne zahteva izmene programa obrade koji nisu
neposredno pogođeni ovom izmenom.
CILJEVI DBMS14
efikasnost pristupa podacima: obezbeđuje dobar protok (broj transakcija u sekundi) i
odziv sistema (srednje vreme čekanja za obavljanje jedne transakcije)
kontrolisana redundantnost podataka- svaka informacija u bazi podataka treba da
bude predstavljena samo jednom
koherentnost podataka: podaci moraju da zadovolje uslove integriteta pomoću kojih
se definiše koherentno stanje baze podataka. Ovi uslovi moraju da se izraze
jednostavno i da se automatski proveravaju kod svakog umetanja, promene ili brisanja
podatka.
15
deljenje podataka: sistem za upravljanje bazama podataka treba da omogući
istovremeno korišćenje podataka u različitim aplikacijama i da otkriva i obrađuje
slučajeve u kojima postoji konflikt u pristupu bazi između više korisnika.
bezbednost podataka: podaci u bazi podataka moraju biti zaštićeni od neovlašćenog
pristupa. Da bi se to ostvarilo svakom korisniku treba da se dodeli određeni nivo prava
za pristup podacima.
otpornost na kvarove: Treba da postoji mogućnost da se baza vrati u stabilno stanje u
kome je bila pre početka transakcije promene podataka...
16
Proces projektovanja baze podataka
Proces projektovanja prolazi kroz više faza. U prvoj fazi, koju ćemo nazvati analiza, na
osnovu istraživanja svojstava relevantnih objekata realnog sveta gradi se specifikacija
(opis) baze podataka. Specifikacija BP izražava korisničke poglede na podatke, kao i
zahteve u pogledu njihove eksploatacije. Na osnovu specifikacije se u fazi
projektovanja (ili koncipiranja) gradi konceptuelna šema baze podataka. U ovom
koraku se zahtevi iskazani specifikacijom prevode na opšti opis baze podataka kroz
opis opštih struktura podataka i procedura. Bitno je istaći da specifikacija i
projektovanje ne zavise ni od konkretnog sistema za upravljanje bazama podataka,
niti od konkretnog računarskog sistema.
18
Konceptualna šema se, dalje,
transformiše u logički model koji
nazivamo logička šema, a u kojoj se na
jeziku za definiciju i manipulaciju
podataka izražavaju veze podataka
opisane konceptuelnom šemom.
Logička šema se u fazi fizičkog
projektovanja transformiše u internu (ili
fizičku) šemu. Na ovom nivou se
detaljno i potpuno predstavljaju
rezultati prethodnog projektovanja
konkretnim strukturama podataka i
odgovarajućim algoritmima.
19
Arhitektura BP
1. FIZIČKI NIVO se odnosi na fizički prikaz i raspored podataka na jedinici spoljne
memorije. To je aspekt koji vide samo sistemski programeri
2. GLOBALNI LOGIČKI NIVO se odnosi na logičku strukturu cele baze, zapis logičke
definicije se naziva Shema (tekst ili dijagram). Ovaj aspekt vidi
administrator/projektant baze
3. LOKALNI LOGIČKI NIVO se odnosi na logičku predstavu dela baze koji koristi
pojedinačna aplikacija. Zapis jedne lokalne logičke definicije se naziva Pogled ili
podshema. Ovaj aspekt baze vidi korisnik baze ili aplikacijski programer
20
U praksi..
Prvi korak u
projektovanju baze
Razgovor sa klijentom – najteži deo
Koje ciljeve treba da zadovolji baza podataka
Kako rasporediti podatke u tabeli
Koje relacije da postavite između tabela
Koje pojedinosti
1
21
Drugi korak u
projektovanju baze Rešavanje problema na papiru.
Grupisanje podataka po smislu
Kako rasporediti podatke u tabeli
Koje relacije da postavite između tabela
Dodeljujemo podacim adekvatne tipovepodataka2
22
Treći korak u
projektovanju baze Pravljenje tabela, interfejsa, izveštaja ukratko
programiranje baze podataka.
Programi za kreiranje baza podataka su:
Access, SQL.
Primenom raznih programskih jezika takođe
možemo kreirati aplikaciju koja će upravljati
bazom podataka.
Primer programskih jezika: Visual C++, Php,
Delphi..
3
23
Modeliranje BP
Modeliranje BP zahteva da se svi elementi realnog sveta svrstaju u neku od 3 kategorije:
1. Entiteti –objekti ili događaji koji su nam od interesa za BP
2. Veze –odnosi među entitetima
3. Atributi –svojstva entiteta i veza
24
Entitet
Može biti objekat ili biće (kuća, učenik, auto), odnosno događaj ili pojava (adresa,
boja, uplata)
Entitet je opisan atributima (npr atributi auta: reg. broj, boja, model, godište..)
Ime entiteta zajedno sa atributima određuje Tip entiteta (npr entitet učenik je tip čiji
primerci mogu biti: Milan Milić, Petar Perić..)
Kandidat za KLJUČ je atribut (ili skup atributa) koji jednoznačno određuje primerak
entiteta zadatog tipa (za entitet Auto –ključ je atribut RegBroj)
Ukoliko jedan tip entiteta ima više kandidata za ključ, tada biramo jedan i
proglašavamo ga PRIMARNIM KLJUČEM
25
Atribut koji jednoznačno identifikuje entitet je ključni atribut relacije (ključ ili primarni
ključ)
Svaki primarni ključ se može posmatrati kao jedinstven identifikator tog entiteta (ili reda
u tabeli) Kada se primarni ključ koristi za povezivanje sa drugom tabelom (za
uspostavljanje relacije) on postaje spoljni ključ.
Da bi atribut bio kandidat za ključ potrebno je da važe uslovi:
Uslov jedinstvenosti (ne postoje dva reda sa istom vrednošću)
Uslov neredudantnosti (ako se bilo koji atribut izostavi iz ključa, gubi se osobina
jedinstvenosti)
26
Veze -Relacije
Uspostavljaju se među dva ili više tipova entiteta (npr veza entiteta Klub i Igrač možebiti “igra za”)
Veza je binarna ili k-narna relacija između primeraka entiteta zadatih tipova
Funkcionalnost veze može biti:
1. 1:1 gde jedan primerak prvog tipa entiteta može biti u vezi sa najviše jednim
primerkom drugog tipa
*** učenik:JMBG
2. 1:N (jedan u relaciji sa više i obrnuto)
*** radnik:broj telefona
3. N:N (više entiteta u relaciji sa više)
*** nastavnik:učenik
27
Šta smo
naučili?
Pojam BP? Definicija automatizovane BP?
Vrste BP?
Aplikacije/primene BP?
Šta je DBMS?
Glavni zadaci DBMS? Predstavnici?
Ciljevi BP?
Faze u projektovanju BP? Koraci u praksi?
Arhitektura (nivoi) BP?
Šta podrazumeva modeliranje BP?
Šta je entitet? Šta je atribut?
Pojam ključa?
Šta su relacije i koje vrste relacija postoje?
Primeri?
28
top related