7
1 Baze podataka 01.11.2010 Prethodi deo sa predikatskim racunom Koje vrste baza podataka postoje, zašto su nam potrebne i kako ih možemo formirati i koristiti. Pod bazama podataka se podrazumeva uskladišten skup strukturisanih podataka koji se ponavljaju u najmanjoj mogućoj meri, kako bi se mogle istovremeno zadovoljiti potrebe različitih korisnika, na selektivan način u nekom realnom vremenu. Selektivnost – nisu svi podaci svima od istog značaja. Da bismo imali bazu podataka moramo imati istorodne skupove podataka. U sistemu datoteka je sve fiksirano i ako želimo nešto izvan toga to nećemo dobiti. Za svaku datoteku se vezuje jedan ili više programa. Upravljanje podacima je otežano, greške se pojavljuju češće. Podaci su razdeljeni i često se ponavljaju (problem konzistentnosti podataka i velika redunantnost?!). Sistemi za upravljanje bazama podataka Baze podataka predstavljaju koherentnu i strukturiranu kolekciju podataka. Prednosti: Prikupljanje podataka i obrada podataka se standardizuju i uniformišu (svi podaci se mogu dobiti u obliku tabele). Moguća je naporedna kontrola valjanosti podataka (da li nešto iz nečega sledi). Različite obrade koriste iste podatke (omogućava da se nepotrebno ne ponavljaju podaci). Upiti se postavljaju formalnim jezikom, ne prirodnim. Nema unapred smišljenih odgovora. Možemo postavljati razna pitanja i program će dati odgovor. Podaci se tako strukturiraju da se vezuju za određene karakteristike. Kontrola podataka u najvećoj mogućoj meri. Baza podataka je konkretna realizacija, sa konkretnim podacima, koji su zabeleženi i strukturisani. Sistem za upravljanje bazama podataka omogućava omogućava softverski proizvod koji će omogućiti da se realizuje baza podataka. Sistem za upravljanje bazama podataka Opisivanje, organizovanje i rukovođenje podacima na pomoćnim medijima (program Access) omogućava: Pretraživanje, selekciju, modifikovanje podataka od strane korisnika. Manipulaciju apstraktne reprezentacije podataka tako da korisnik može da radi

Baze za test

Embed Size (px)

DESCRIPTION

4. i 5. predavanje, deo koji se odnosi na baze a bice na prvom testu

Citation preview

1

Baze podataka 01.11.2010

Prethodi deo sa predikatskim racunom Koje vrste baza podataka postoje, zašto su nam potrebne i kako ih možemo formirati i koristiti. Pod bazama podataka se podrazumeva uskladišten skup strukturisanih podataka koji se ponavljaju u najmanjoj mogućoj meri, kako bi se mogle istovremeno zadovoljiti potrebe različitih korisnika, na selektivan način u nekom realnom vremenu. Selektivnost – nisu svi podaci svima od istog značaja. Da bismo imali bazu podataka moramo imati istorodne skupove podataka. U sistemu datoteka je sve fiksirano i ako želimo nešto izvan toga to nećemo dobiti. Za svaku datoteku se vezuje jedan ili više programa. Upravljanje podacima je otežano, greške se pojavljuju češće. Podaci su razdeljeni i često se ponavljaju (problem konzistentnosti podataka i velika redunantnost?!). Sistemi za upravljanje bazama podataka Baze podataka predstavljaju koherentnu i strukturiranu kolekciju podataka. Prednosti: Prikupljanje podataka i obrada podataka se standardizuju i uniformišu (svi podaci se mogu dobiti u obliku tabele). Moguća je naporedna kontrola valjanosti podataka (da li nešto iz nečega sledi). Različite obrade koriste iste podatke (omogućava da se nepotrebno ne ponavljaju podaci). Upiti se postavljaju formalnim jezikom, ne prirodnim. Nema unapred smišljenih odgovora. Možemo postavljati razna pitanja i program će dati odgovor. Podaci se tako strukturiraju da se vezuju za određene karakteristike. Kontrola podataka u najvećoj mogućoj meri. Baza podataka je konkretna realizacija, sa konkretnim podacima, koji su zabeleženi i strukturisani. Sistem za upravljanje bazama podataka omogućava omogućava softverski proizvod koji će omogućiti da se realizuje baza podataka. Sistem za upravljanje bazama podataka

Opisivanje, organizovanje i rukovođenje podacima na pomoćnim medijima

(program Access) omogućava:

Pretraživanje, selekciju, modifikovanje podataka od strane korisnika. Manipulaciju apstraktne reprezentacije podataka tako da korisnik može da radi

2

Baze podataka 08.11.2010.

Sistem za upravljanje bazama podataka

1. Fizička nezavisnost - SUBP treba da obezbedi fizičku nezavisnost podataka od logičkog zapisa. Ako dođe do promene u načinu zapisivanja podataka neće morati da se menja sistem.

je softverski proizvod zadužen za proizvodnju baze podataka. Ciljevi SUBP:

2. logička nezavisnost podataka - Ona podrazumeva da je logička organizacija podataka takva, da su oni tako opisani, da ako dođe do promene neće zahtevati promenu programa. Ako dodamo kolonu nećemo morati da menjamo program.

3. rukovanje podacima (dodavanje, izbacivanje, pretraživanje...) 4. administriranje podataka - Na primer ako se dodaje neki novi podatak (boja

autobusa), mora da postoji način da se prati ko je te promene unosio, koji je razlog, kada je to bilo i sl. To radi administrator baze podataka.

5. Efikasnost pristup podacima Meri se protok – broj transakcija koje se mogu obaviti (promena u bazi). Primer transakcije je promena plata zaposlenih za 10 %. Baza je u stabilnom stanju osim kad se vrše promene na njoj. Tada baza nije u stabilnom stanju. Koliko se takvih transacija može obaviti u jedinici vremena. Meri se i odziv

6. Kontrolisana redundantnost - Smanjenje nepotrebnog ponavljanje podataka. Ponavljanjem se troši prostor, vreme, a može se desiti da nešto i zaboravimo i da baza nije više konzistentna.

– koliko korisnik čeka na informaciju.

Osim ovoga SUBP trba da obezbedi sledeće zadatke baze podataka:

Bezbednost – podatke treba zaštititi od neovlašćenog pristupa. Mogu da postoje različiti nivoi zaštite. Ko sme da menja neke, a ko sve podatke.

Sigurnost- štiti podatke od kvarova, nestanka električne energije. Potrebno je da se automatski pravi rezervna kopija. Važno je sačuvati prethodno stabilno stanje baze (to je samo kod promene baza, kada su u nisu u stabilnom stanju dok ih menjamo).

Kohernetnost – da su podaci u skladu sa onim što treba da bude u bazi. Postavljaju se ograničenja- to su uslovi integriteta (npr u autobusu ne može biti 250 mesta).

Obezbediti istovremeni pristup.

3

Kao rezultat svih ovih zadataka SUBP mora da obezbedi 4 osnovne funkcije: 1. Funkcija koja obezbeđuje opis podataka – tome služi formalni jezik za definisanje

podataka. 2. Funkcija koja obezbeđuje manipulaciju podataka (pretraživanje, ažuriranje).

Takođe preko formalnog jezika. 3. Kontrola integriteta – baza uvek u koherentnom stanju 4. Upravljanje transakcijama i bezbednošću

Projektovanje baze podataka Baza podataka ima komplikovanu strukturu. Projektovanje prolazi kroz sledeće faze

1. Specifikacija baze podataka treba da opiše potrebe. Koje podatke i koje procese hoćemo da naša baza podržava. Iz realnog sveta treba da apstrahujemo ono što nas interesuje koji podaci i koji procesi.

:

2. Projektovanje, sa ciljem da se dobije konceptualna šema baze podataka. U ovoj fazi se sve ono što je specifikovano se prevodi na neki opšti opis baze podataka. Kada se dobije konceptualna šema prelazi se na

3. Transformaciju u logički model – Logički model baze podataka. Tu se koristi jezik za definiciju i manipulisanje bazama podataka. Konceptualna šema se prevodi u logičku šemu koristeči jezik./ Formalni jezik za prevođenje; sada se podaci specifikuju.

4. Fizičko projektovanje – Interna šema baze podataka. Rezultati transformacije se sada pretvaraju u konkretne strukture koje će na memoriji omogućiti beleženje informacija, a opis procedura će se pretvoriti u konkretne programe.

Prve dve faze su nezavisne od SUBP (pre logičkog modela). Druge dve faze zavise od SUBP. Entitet veze ne zavisi od SUBP. Relacioni model zavisi od SUBP. Klijent – server arhitektura SUBP se zasniva na klijent-server arhitekturi. Mnoge baze podataka se zasnivaju na tome. Tu imamo jedan informatički sistem, korisnike tj. klijente (one koji traže) i server (one koji nude). Postoji više servera, ali i klijenata. Serveri su povezani u jednu mrežu i oni nude usluge klijentima. Mreža može da povezuje više servera.

4

Klijent BP – konkretni podaci SUBP – vodi računa kako su podaci fizički zapisani i kako će ih pronaći APLIKACIJE- npr može da izvadi vozače za tekući mesec SUMEĐA – omogućava da ono što je program našao može da se vidi u mreži KLIJENT-putnik koji može da vidi sve u mreži

BP

SUBP

aplikacije

sumeđa sumeđa

aplikacije

SUBP

BP

Mreža

SUBP

aplikacije

sumeđa

BP

5

Klijent pristupa preko interfejsa i aplikacija. Postoje razlicite raspodele funkcija (poslova). Najednostavnija je Razdeljena prezentacija Najkomplikovanija

Razdeljena Udaljena Obrada Radeljena Distribuirana Distribuir. prezentacija prezentacija udaljenih podataka baza podataka aplikacija, aplikacija (distribuirana) udaljeni raspodelje. podaci podaci Prezentacija Prezentacija Prezentacija Prezentacija Prezentacija Prezentacij.

je Distribuirana aplikacija i raspodeljeni podaci (distribuirana aplikacija nad distribuiranim podacima?) Raspodeljivanje funkcija moze da izgleda ovako:

Obrada Obrada Obrada Obrada Upravljanje Upravljanj. Podacima podacima Deo podataka kod Svi podaci na Deo pod.na Klijenta, a deo kod strani severa, strani klije. Servera obrada podeljena deo na strani servera, obrad podeljena. Prezentacija Obrada Obrada Obrada Obrada Upravljanje Upravljanje Upravljanje Upravljanje Upravljanje Upravlj. podacima podacima podacima podacima podacima podaci.

Klijent

Server

6

Modeliranje podataka u smislu izrade konceptualne šeme -notacije za opis podataka -skup operacija koje će nad tim podacima obaviti

- entitet

Entitet veze ili objekat veza Šta je entitet (objekat)? Neka stvar koja ima određena svojstva po kojima se razlikuje od neke druge stvari (student, autobus, vozač...) a može i nešto apstraktno (ispit). Šta razlikuje entitete? Atributi (svojstva). Atributi entiteta student mogu biti: ime, prezime, br. indeksa i sl.

-atributi Atributi mogu biti prosti i složeni. Prosti ne mogu dalje da se razlažu. Ali na primer atribut adresa ili datum - može, i to je složeni atribut. Takođe, atributi mogu da budi izvedeni

iz nekog drugog atributa. Na primer atribut starost je izveden iz datuma rođenja. To je dobro jer se taj podatak o starosti studenta uvek ažurira. Takav atribut se okruži isprekidanom linijom. Atributi za konkretne entitete imaju konkretnu vrednost.

student

ime prezime

adresa zemlja

mesto Pošt.br

ulica

datum

dan mesec

godina

starost

7

NULL ------ vrednost atributa je ništa,nema vrednost (nije relevantan, upisan). Atributi se dele i na identifikujuće i deskriptivne

. Identifikujući je onaj čija vrednost jednoznačno određuje taj entitet (matični broj).

Identifikujući atribut je matični broj i on se uvek podvuče.

student

ime

prezime Datum rođenja

adresa Matič.br

starost

Pošt.br

mesto zemlja

ulica