baze podataka
Download
Report
Transcript baze podataka
BAZE PODATAKA
1
MS ACCESS
Podatak
Činjenica
o nekom predmetu i/ili događaju
koja se može zabeležiti i sačuvati na
računaru
Struktuirani podaci: brojevi, karakteri, ...
Nestruktuirani podaci: slika, zvuk, video,
...
Podatak sam po sebi nema značenje, tek
kada se interpretira nekom vrstom
sistema za obradu podataka poprima
značenje i postaje informacija.
2
Informacija
◦
Podatak koji je obrađen na takav način da se znanje osobe koja
koristi podatak povećalo
Podaci koji nisu korisni
Petar Petrović
1506983710325
Marko Marković
0211979850123
Janko Janković
1112985830456
-----------
-----------
Ime i prezime
JMBG
Smer
Godina upisa
Petar Petrović
1506983710325
M
2007
Marko Marković
0211979850123
I
2007
Janko Janković
1112985830456
P
2006
-----------
-----------
P
2006
Informacija o upisu – dopunjeni relevantni podaci
3
INFORMACIJA
Podatak1
Podatak2
Podatak3
Obrada
podataka
Informacija
PodatakN
Važno je razumeti šta je smešteno (stored) u BP, a šta se može dobiti
(retrieved) iz BP
4
BAZA PODATAKA JE
organizovani
skup logički povezanih
podataka
integrisani skup podataka o nekom
sistemu i skup postupaka za njihovo
održavanje i korišćenje, organizovan
prema potrebama korisnika
dobro struktuirana kolekcija
podataka, koja postoji jedno određeno
vreme, koja se održava i koju koristi
više korisnika ili programa
5
PODACI/INFORMACIJE
PODACI
INFORMACIJE
Prosečna ocena studenta
Ocene studenata
iz pojedinih
predmeta
Database
Prosečna ocena na
godini studija
Prosečna ocena na fakultetu
6
POJAM BAZE PODATAKA
Baza podataka (BP) je kolekcija međusobno povezanih podataka, uskladištenih
na nekom meduijumu, koje koriste, zajednički, svi procesi obrade u sistemu.
Sa aspekta implementacije, Baza podataka predstavlja skup tabela međusobno
povezanih putem spoljnog ključa.
7
ORGANIZACIJA PODATAKA U
BAZAMA PODATAKA
8
ORGANIZACIJA PODATAKA U
BAZAMA PODATAKA
Podaci u bazi podataka su organizovani sledećim redom: bit, bajt,
polje, zapis, tabela, baza podataka.
Bit je najmanji element prikaza podataka u računaru i uzima
vrednosti 0 ili 1.
Bajt je najmanja adresibilna jedinica koja sadrži 8 bita i
predstavlja jedan karakter.
Polje ili atribut predstavlja se sa jednim ili više bajtova.
Zapis sadrži skup atributa o jednom primerku (instanci), na
primer atributi jednog studenta su: broj indeksa: 50/90, ime i
prezime: Petar Petrović, semestar: 2.
Tabela je kolekcija različitih zapisa, a koje pripadaju jednom
objektu.
Baza podataka je kolekcija povezanih tabela.
9
BAZOM PODATAKA
UPRAVLJANJE
(DBMS SISTEM ZA
)
Sistem za upravljanje bazom podataka (kraće
DBMS, od početnih slova engleskih reči Database
Management Systems) je softverski sistem koji
kreira,
pristupa,
upravlja
i kontroliše podacima (bazama podataka)
i služi kao veza (interfejs) između podataka i
aplikativnih programa.
Poznatiji sistemi za upravljanje bazom podataka
su Microsoft Access, SQL Server, IBM DB2,
Oracle 10g i mnogi drugi
10
KORIŠĆENJE BAZE PODATAKA IMA NIZ
PREDNOSTI U ODNOSU NA KLASIČAN RAD SA
PAPIRIMA:
brži rad
jednostavno korišćenje
omogućava rad sa velikim brojem podataka
jednostavan unos i promena
lako pretraživanje i selektovanje podataka
mogućnost sortiranja podataka
prezentacija podataka iz baze podataka može da bude
na razne načine
mogućnost razmene podataka sa drugim aplikacijama
(programima)
tačnost podataka i izbegavanje dupliciranja podataka
više korisnika istovremeno mogu da koriste iste
podatke
sigurnost podataka je veća
11
SISTEM ZA UPRAVLJANJE BAZOM PODATAKA
JE JEDAN SLOŽENI SOFTVERSKI SISTEM KOJI
TREBA DA OMOGUĆI:
Skladištenje podataka.
Korišćenje zajedničkih podataka od strane svih
ovlašćenih korisnika.
Logičku i fizičku nezavisnost programa od podataka.
Bez obzira što se podaci fizički pamte, po pravilu, samo
jednom, u jedinstvenoj fizičkog organizaciji, svaki
korisnik dobija svoju sopstvenu logičku sliku podataka
kakva njemu najviše odgovara.
Jednostavno komuniciranje sa bazom podataka preko
jezika bliskih korisniku, kako bi se neprofesionalni
korisnici neposredno uključili u razvoj informacionog
sistema, a profesionalnim programerima značajno
povećala produktivnost.
12
ZAŠTITA BAZE PODATAKA
Zaštitu baze podataka tretiramo kroz dva aspekta i to:
Integritet – zaštita od slučajnog pogrešnog ažuriranja i
Sigurnost – zaštita od neovlašćenog ažuriranja i
korišćenja podataka.
Termin integritet podataka označava tačnost, korektnost
ili konzistentnost.
Integritet baze podataka podrazumeva problem zaštite
baze podataka od pogrešnog ažuriranja, odnosno od
pogrešnih ulaznih podataka, greški operatera i
programera, sistemskih otkaza i dr.
Termin sigurnost podataka podrazumeva mehanizme
zaštite baze podataka od neovlašćenog korišćenja.
13
SIGURNOST BAZE PODATAKA I PRAVILA
INTEGRITETA
Pravila integriteta definišu koje uslove podaci u BP treba da
zadovolje, kada se vrši provera i koje akcije treba preduzeti kada
definisani uslovi nisu zadovoljeni.
Termin sigurnost podataka podrazumeva mehanizme zaštite
baze podataka od neovlašćenog korišćenja.
Opšti model zaštite podataka treba da definiše koji subjekat
zaštite, može nad kojim objektom zaštite da izvrši neku operaciju
i pod kojim uslovima.
14
MS ACCESS KAO DBMS
Da bi se okvalifikovala kao potpun sistem za upravljanje
relacionom bazom podataka, aplikacija mora da izvršava
sledeće četiri osnovne funkcije
Organizacija podataka – obuhvata izradu i rukovanje
tabelama koje sadrže podatke u konvencionalnom
tabelarnom formatu koju Access naziva pogled (Datasheet).
Povezivanje tabela i izdvajanje podataka – povezuje više
tabela prema relacijama između podataka radi izrade
privremenih tabela, koje sadrže izabrane podatke. Access
koristi upite da bi povezao tabele i izabrao podatke koji će
se čuvati u privremenoj tabeli, koja se naziva objekat
Recordset.
Unos i uređivanje podataka – zahteva projektovanje i
implementaciju obrazaca za pregled, unos i uređivanje
podataka kao alternativu tabelarnom prikazu. Obrasci su ti
koji umesto aplikacije omogućavaju da kontrolišete
prikazivanje podataka.
Prikazivanje podataka – zahteva izradu izveštaja koji mogu 15
da sumiraju podatke u skupovima zapisa (Recordset). Njih
možete da pregledate, štampate ili objavljujete na internetu
ili intranetu.
OSNOVNE FUNKCIJE ZA PODRŠKU ACCESSA
Tabela
Tabela
Tabela
Makro
Modul
Upit
Bezbednost
Forma
Izveštaj
Štampanje
16
TABELA
Tabela sadrži podatke o određenoj temi,. Svaki zapis u tabeli sadrži
informacije o jednoj stavci, kao što je određeni zaposleni. Zapis se
sastoji od polja, poput polja za ime, adresu i telefonski broj. Zapis se
obično zove i red, a polje se obično zove i kolona.
Baza podataka može da sadrži mnogo tabela od kojih svaka skladišti
informacije o drugoj temi. Svaka tabela može da sadrži mnogo polja
različitih tipova, uključujući tekst, brojeve, datume i slike.
Probna baza podataka, poput liste kontakata, može da koristi jednu
tabelu. Međutim, mnoge baze podataka koriste nekoliko tabela. Kada
kreirate novu bazu podataka, na računaru kreirate i novu datoteku
koja sadrži sve objekte u bazi podataka, uključujući tabele.
Tabelu možete kreirati tako što ćete kreirati novu bazu podataka,
umetnuti je u postojeću bazu podataka ili je uvesti ili povezati sa
tabelom iz drugog izvora podataka – kao što je Microsoft Office Excel
2007 radna sveska, Microsoft Office Word 2007 dokument, tekstualna
datoteka ili druga baza podataka. Kada kreirate praznu bazu
podataka, nova prazna tabela će automatski biti umetnuta. Nakon
toga možete da unesete podatke kako biste počeli sa definisanjem
polja.
17
SVOJSTAVA POLJA
Polje ima određene karakteristike koje ga definišu. Na
primer, svako polje ima ime koje ga jedinstveno identifikuje
u tabeli. Polje ima i tip podataka koji se bira tako da se
podudara sa informacijama koje će u njemu biti
uskladištene. Tip podataka određuje vrednosti koje mogu
da se skladište i operacije koje mogu da se izvršavaju, kao i
količinu prostora za skladištenje potrebnu za svaku
vrednost. Osim toga, svako polje ima i pridruženu grupu
postavki koja se nazivaju svojstva i koja definišu
karakteristike izgleda ili ponašanja polja.
Postavljanjem svojstava polja možete da kontrolišete izgled
informacija, sprečite netačne unose, precizirate
podrazumevane vrednosti, ubrzate pretraživanje i
sortiranje, kao i da kontrolišete druge karakteristike
izgleda ili ponašanja. Na primer, možete da oblikujete
brojeve tako da ih je lakše čitati ili da definišete pravilo za
proveru valjanosti koje mora da se poštuje kako bi se
informacije mogle uneti u polje.
18
POSTAVLJANJE PRIMARNOG KLJUČA
Primarni ključ tabele sadrži jedno ili više polja koja
jedinstveno identifikuju svaki red koji skladištite u tabeli.
Često kao primarni ključ služi jedinstveni identifikacioni
broj kao što je ID broj, redni broj ili kôd. Na primer, možete
da imate tabelu „Kupci“ u kojoj svaki kupac ima jedinstveni
ID broj kupca. ID polje kupca predstavlja primarni ključ
tabele.
Za odgovarajući primarni ključ neophodno je nekoliko
karakteristika. Prvo, on jedinstveno identifikuje svaki red.
Drugo, nikada nije prazan ili bez vrednosti – vrednost uvek
postoji. Treće, on se retko menja (u idealnim slučajevima,
ne menja se nikada). Access koristi polja primarnog ključa
za brzo povezivanje podataka iz više tabela.
Uvek treba da precizirate primarni ključ tabele. Access
automatski kreira indeks primarnog ključa koji pomaže pri
ubrzavanju upita i drugih operacija. Access takođe
obezbeđuje postojanje vrednosti u polju primarnog ključa
za svaki zapisa, kao i njenu jedinstvenost.
19
TIPOVI RELACIJA
RELACIJA JEDAN-PREMA-JEDAN
Jednom redu u jednoj tabeli odgovara jedan red u drugoj tabeli.
Ovakve tabele možete kombinovati u jednu tabelu koja se sastoji od
svih kolona obe tabele.
RELACIJA TIPA JEDAN-PREMA-VIŠE
Povezuju jedan red iz jedne tabele sa više redova druge tabele preko
relacije između primarnog ključa bazne tabele i odgovarajućeg
spoljnjeg ključa u povezanoj tabeli.
RELACIJE TIPA VIŠE-PREMA-JEDAN
Povezuju više redova jedne tabele sa jednim redom druge tabele.
RELACIJE TIPA VIŠE-PREMA-VIŠE I ČETVRTA NORMALNA
FORMA
Ne mogu da se izraze kao jednostavne relacije između dva Njih
20
ostvarujete tako što pravite tabelu koja ima relacije tipa više-premajedan sa dve bazne tabele.
NORMALIZACIJA BAZE PODATAKA
Normalizacija je formalizovani postupak za grupisanje atributa
podataka u tabele i tabela u baze podataka.
Ciljevi normalizacije:
Eliminisanje dupliranih informacija u tabelama.
Prilagođavanje budućim izmenama u strukturi tabela.
Umanjivanje uticaja strukturnih izmena baze podataka na
korisničke aplikacije koje pristupaju podacima.
21
PRAVILA NORMALIZACIJE
Prva normalna forma zahteva da tabele budu ravne i da
ne sadrže duplirane grupe.
Druga normalna forma zahteva da podaci u svim
kolonama koje nisu deo ključa budu potpuno zavisni od
primarnog ključa i svakog elementa (kolone) primarnog
ključa kada je on složeni primarni ključ. Potpuno
zavisni znači da je vrednost podatka u svakoj koloni
koja nije deo ključa zapisa, na jedinstven način
određena vrednošću primarnog ključa. Druga normalna
forma uklanja veći deo nepotrebnih (redudantnih)
podataka.
Treća normalna forma zahteva da sve kolone koje nisu
deo ključa tabele budu zavisne od primarnog ključa
tabele i nezavisne jedna od druge. Tabele moraju da
odgovaraju prvoj i drugoj formi da bi bile sposobne za
treću normalnu formu.
22
Upiti - Querys
• Access omogućava pravljenje četiri osnovna tipa upita, za postizanje različitih
ciljeva:
– Upiti za izbor (Select Querys) izdvajaju podatke iz jedne ili više tabela i
prikazuju te podatke u tabelarnom obliku.
– Upiti unakrsnih tabela (Crosstab queries) sumiraju podatke iz jedne ili više
tabela u obliku radne tabele. Ovakvi upiti su korisni za analiziranje podataka i
izradu grafika ili dijagrama, na osnovu sume vrednosti numeričkih polja većeg
broja zapisa.
– Akcioni upiti (Action queries) prave nove tabele iz tabela upita, ili prave velike
izmene u nekoj tabeli. Takvi upiti dopuštaju da dodate ili obrišete zapise iz
tabele, ili napravite izmene u zapisima na osnovu izraza koji unosite pri dizajnu
upita.
– Parametarski upiti (Parameter queries) čije se korišćenje ponavlja pri čemu se
vrše samo jednostavne izmene njihovih kriterijuma. Kad izvršavate
parametarski upit, Access prikazuje okvir za dijalog koji od vas zahteva da
unesete novi kriterijum. Parametarski upiti zapravo nisu poseban tip upita, jer
ove parametarske funkcije možete da dodate u upite za izbor, upite unakrsnih
23
tabela i u akcione upite.
Forme
Forme se koriste za unos, editovanje, pretraživanje i
prikazivanje podataka. Forme Vam omogućavaju da
vidite one podatke koje želite na način koji želite. Izgled
formi može da bude takav da liče na papirne dokumente.
Report (izveštaj)
Report se koristi za prikazivanje i štampanje podataka iz
tabela ili upita, u obliku koji želite. Takođe, na report-u
možete da obavite i neke matematičke operacije
(izračunavanje sume ili proseka, na primer), da grupišete
ili sortirate podatke.
Upiti - Querys
Qvery omogućava da postavite pitanje i da automatski
dobijete odgovor, na primer:
"Koliko ima proizvoda u magacinu ? "Koliko ima kupaca
iz Beograda?" i slično.
Svaki put kada postavite upit (query) MS Acces će Vam
dati odgovor na osnovu trenutnih podataka.?"
24
Osnovne funkcije za podršku Accessa
(nastavak)
Makroi su sekvence aktivnosti, koje automatizuju operacije nad
bazom podataka koje se ponavljaju. Pri radu sa bazama podataka
Access 2000, za automatizaciju se koristi Visual Basic for
Application (VBA).
Moduli su funkcije i procedure koje su napisane u programskom
jeziku VBA. Funkcije VBA se koriste da bi se izvršavala složenija
izračunavanja od onih koja se mogu lako izložiti pomoću niza
konvencionalnih matematičkih simbola, ili za izračunavanja koja
zahtevaju donošenje odluka. VBA potprogrami napisani su za
izvršavanje operacije koje prevazilaze mogućnosti standardnih
aktivnosti makroa što je jedan od razloga da se u Accessu napušta
podrška makroima. VBA podprogrami se izvršavaju tako što se
pridružuju odgovarajućim događajima, kao što je pritisak na
dugme pomoću miša, koji se dešava kada je aktivni objekat neki
obrazac ili izveštaj.
25
Osnovne funkcije za podršku Accessa
(nastavak)
Bezbednost sačinjavaju funkcije koje su dostupne kao stavke
menija i preko VBA potprograma. Pomoću funkcija bezbednosti
podataka može se dopustiti drugim osobama da koriste vašu
bazu podataka, u višekorisničkom okruženju. Pristup možete
dodeliti grupi korisnika ili pojedincima, ali i ograničite njihove
mogućnosti za pregled ili modifikacije svih ili samo nekih tabela
u bazi podataka.
Štampanje dopušta da odštampate praktično sve što možete da
pregledate u radnom režimu programa Accessa.
Mogućnost objavljivanja unapređuju distribuciju informacija
preko intranet korporacije i javne Internet mreže u obliku Word
Wide Web strana. Access uvodi strane za pristup podacima
(DAP – Data Access Page). One vam dopuštaju da napravite
aplikaciju za prikazivanje i ažuriranje podataka na stranama,
koje koriste prednosti jezika Dynamic HTML (DHTML) i
Extensible Markup Language (XML).
26
Režimi rada Accessa
Access ima tri osnovna radna režima:
Režim za pokretanje (Startup mode) omogućava da konvertujete,
šifrujete, dešifrujete i popravite podatke iz baze, izborom komandi iz
podmenija Database Utilities i Security, menija Tools, pre otvaranja baze
podataka. Ove komande su dostupne samo ako baza podataka nije
otvorena.
Režim projektovanja (Design mode) omogućava da napravite i
modifikujete strukturu tabela i upita, razvijate obrasce za prikaz i
uređivanje podataka, kao i da formatirate izveštaje za štampanje.
Režim izvršavanja (Run mode) prikazuje dizajn tabela, obrasca i
izveštaja u posebnim prozorima za dokument. Makroe izvršavate tako što
jedan od njih izaberete, a zatim izaberete režim izvršavanja. Ovaj režim
se ne primenjuje na VBA module, jer se funkcije izvršavaju kada se
pojave kao elementi upita, obrazaca ili izveštaja. Režim izvršenja za
tabele i upite naziva se pogled Datasheet, za obrasce pogled Form, 27
za
strane za pristup podacima (DAP), pogled Page, a za izveštaje pogled
Print Preview.
Bibliotečke baze podataka programa
Access
Još jedna kategorija datoteka, kod baza podataka u Accessu,
pojavljuju se dopunski programi, koji se nazivaju i biblioteke.
Dopunski programi predstavljaju bibliotečku bazu podataka
Accessa, obično sa oznakama tipa .mde ili .mda, da bi se
razlikovali od korisničkih baza podataka, a sa Accessom
možete da ih povežete izborom alatke Add-In Manager (kojoj
možete da pristupite izvorom opcije Tools, Add-Ins).
Kada povežete neku biblioteku Accessa, svi elementi te
bibliotečke baze podataka biće vam dostupni kada otvorite
Access.
28
KORACI KOD PROJEKTOVANJA BAZE
PODATAKA
29
Postupak projektovanja sistema
relacione baze podataka
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Identifikujte objekte (izvori podataka) koje sistem baze podataka
predstavlja.
Otkrijte veze između objekata.
Odredite značajna svojstva (atribute) i ponašanja objekata.
Ustanovite kako svojstva objekata utiču jedna na druge.
Izradite uvodni rečnik podataka da biste definisali tabele koje čine
osnovu baze podataka.
Naznačite relacije između tabela baze podataka na osnovu veza između
objekata koje se nalaze u njima i ove informacije uključite u rečnik
podataka.
Uspostavite tipove ažuriranja i transakcija koji prave i menjaju podatke
u tabelama, uključujući sve neophodne zahteve u vezi sa integritetom
podataka.
Odredite način korišćenja indeksa kako biste ubrzali upite
Ako je potrebno da se obezbedi zaštita podataka, odredite ko može da
pristupi i menja podatke u svakoj tabeli (zaštita podataka) i da promeni
strukturu tabela.
30
Dokumentujte dizajn baze podataka,.
Upravljanje grupama i korisnicima
Većina klijent-server baza podataka prepoznaje sledeće tri grupe
korisnika baze podataka:
1. Administratori (Admins) imaju ovlašćenja da pregledaju i
ažuriraju postojeće tabele i dodaju ili obrišu tabele i druge
objekte baze podataka iz baze podataka. Članovi grupe
Admins obično imaju dozvolu da menjaju aplikacije sadržane
u bazama podataka.
2. Obični članovi radnih grupa (Users) imaju dozvolu da otvore
bazu podataka, a po potrebi im se dodeljuje dozvola za
pregledanje i menjanje baza podataka.
3. Povremenim korisnicima baza podataka (Guests) ćesto su
dodeljena ograničena prava da koriste bazu podataka i
objekte koje ona sadrži, ali im se ne dodeljuje korisnički
31
nalog.
Upravljanje grupama i korisnicima
Access ima dva nivoa bezbednosti:
na nivou aplikacije (zahteva da svaki korisnik Accessa
unese korisničko ime i lozinku da bi mogao da pokrene
Access) i
na nivou datoteke (uspostavio je mrežni operativni sistem,
kao što je Windows NT Server i ona određenim korisnicima
dozvoljava ili ne dozvoljava pristup zajedničkim omotnicama
i/ili pojedinačnim datotekama).
32