OSNOVNI POJMOVI O BAZAMA PODATAKA
1. Šta podrazumijevamo pod pojmom baza podataka?
Baza podataka je uređeni skup međusobno povezanih podataka o jednoj ili više tema,
predmeta. Ovo je samo jedna od mnogobrojnih definicija. U nešto širem smislu mogli bi
reći da je baza podataka skup zapisa i datoteka koje su organizovane za neku svrhu.
2. Navedite nekoliko primjera baza podataka?
• Telefonski imenik
• Lični adresar
• Red vožnje brodova, vozova i sl.
• Podaci o pacijentima
3. Kako se uopšte dijele baze podataka?
• Baze podataka podržane računarom
• Baze podataka bez računarske podrške
4. Šta je to podatak, a šta informacija?
PODATAK tekst, broj, slika, zvuk koji se mogu sačuvati na računaru. Predstavlja
"sirovinu" koju treba obraditi kako bi postala informacija. Sam za sebe ne mora značiti
ništa.
INFORMACIJA značenje pridodano podatku na način da se smanjuje stepen
neodređenosti o nekoj temi, predmetu, osobi, događaju i sl.
5. Navedite nekoliko primjera podataka i informacija!
Primjeri podataka su: krompir, 1, 50. Tek kad se podaci povežu na određen način
predstavljaju informaciju, pa npr. Komponujući navedene podatke iz primjera na način:
“krompir i 1 (KM) i 50 (kg)” može predstavljati informaciju da je kupljeno 50 kg
kromrpira po cijeni od 1 KM; ili na način: “krompir i 1 (kg) i 50 (din)” predstavlja
informaciju da jedan kg krompira košta 50 din itd.
6.
-
Nabrojte tri osnovna tipa baza podataka?
Hijerarhijske baze podataka
Mrežne baze podataka
Relacione baze podataka
7. Što je relaciona baza podataka?
Većina savremenih sistema za upravljanje bazama podataka zasnovani su na relacionom
modelu baze podataka. Taj model se sastoji od većeg broja međusobno povezanih
datoteka koje su strukturirane u obliku tabela. Kao i sve tabele i ove tabele u relacionim
bazama podataka se sastoje od kolona i redova. Redovi predstavljaju zapise (slogove), a
kolone polja. Relacije se odnose na veze između podataka sačuvanim u različitim
tabelama.
8. Šta je zapis, a što polje/atribut?
Polje predstavlja jedinični podatak, kao što je ime osobe, ili naziv ulice, poštanski broj
ili naziv proizvoda. Polje se obično pojavljuje kao jedna kolona u tabeli.
Zapis sačinjavaju svi podaci pojedinačne stavke tabele, kao što su svi podaci o jednom
kupcu iz tabele kupaca, ili o jednom proizvodu iz tabele proizvoda. Zapis se vizuelno
predstavlja kao red. Zapisi se često nazivaju slogovima ili rekordima (records)
9. Šta je sistem za upravljanje bazom podataka i šta nudi?
Softverski sistem koji omogućava korisnicima definisanje, ažuriranje i kontrolu
pristupa bazi podataka naziva se sistem za upravljanje bazama podataka (eng.
Database Management System - DBMS). DBMS obično nudi:
Jezik za opis podataka (eng. Data Definition Language - DDL), koji omogućava
korisnicima definisanje tipa i strukture podataka, kao i ograničenja nad podacima
memorisanim u bazi podataka (CREATE TABLE naredba).
Jezik za manipulaciju podacima (eng. Data Manipulation Language - DML), koji
omogućava korisnicima umetanje, ažuriranje, brisanje i pretraživanje podataka iz baze
podataka (SELECT, INSERT INTO, UPDATE naredbe).
Jezik za definisanje načina memorisanja podataka (eng. Storage Definition
Language - SDL), koji se koristi za specificiranje interne šeme baze podataka.
Kontrolisani pristup bazi podataka, što uključuje različite funkcije i mehanizme za
pristup podacima u bazi podataka
10. Nabroj poznatije sisteme za upravljanje bazom podataka?
Poznatiji sistemi za upravljanje bazom podataka su Microsoft Access, SQL Server, IBM
DB2, Oracle i mnogi drugi.
11. Kako posmatramo zaštitu Baze podataka?
Zaštitu baze podataka tretiramo kroz dva aspekta i to:
– Integritet (tačnost, korektnost ili konzistentnost) – zaštita od slučajnog
pogrešnog ažuriranja i
– Sigurnost – zaštita od neovlašćenog ažuriranja i korišćenja podataka.
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.
12. Ciljevi koji se nastoje postići korištenjem baza podataka:
Fizička nezavisnost podataka. Razdvaja se logička definicija baze od njene stvarne
fizičke građe. Znači, ako se fizička građa promijeni to neće zahtijevati promjene u
postojećim aplikacijama. Prekticno to znaci da se fizicki raspored i organizacija podataka
mogu mijenjati, a da se pri tome ne mora mijenjati šema, podšema i programi.
Logička nezavisnost podataka. Razdvaja se globalna logička definicija cijele baze
podataka od lokalne logičke definicije za jednu aplikaciju. Znači, ako se logička
definicija promijeni to neće zahtijevati promjene u postojećim aplikacijama. Lokalna
logička definicija obično se svodi na izdvajanje samo nekih elemenata iz globalne
definicije,
uz
neke
jednostavne
transformacije
tih
elemenata.
Fleksibilnost pristupa podacima. U starijim mrežnim i hijerarhijskim bazama, staze
pristupanja podacima bile su unaprijed definisane a danas se zahtijeva da korisnik može
slobodno upravljati podacima. Ovom zahtjevu odgovaraju jedino relacione baze.
Istovremeni pristup podacima. Baza mora omogućiti da veći broj korisnika
istovremeno koristi iste podatke. Pritom ti korisnici ne smiju ometati jedan drugoga, te
svaki
od
njih
treba
imati
utisak
da
sam
radi
s
bazom.
Integritet je stanje baze podataka u kojem su sve vrijednosti podataka korektne u smislu
da oslikavaju stanje realnog svijeta i da poštuju pravila uzajamne konzistentnosti.
Čuvanje integriteta. Nastoji se automatski sačuvati korektnost podataka, i to u situaciji
kad postoje greške u aplikacijama, te konfliktne istovremene aktivnosti korisnika.
Mogućnost oporavka nakon kvara. Mora postojati pouzdana zaštita baze u slučaju
kvara
hardvera
ili
grešaka
u
radu
sistemskog
softvera.
Zaštita od neovlaštenog korištenja. Mora postojati mogućnost da se korisnicima
ograniče prava korištenja baze, dakle da se svakom korisniku regulišu ovlaštenja šta on
smije
a
šta
ne
smije
raditi
s
podacima.
Zadovoljavajuća brzina pristupa. Operacije s podacima moraju se odvijati dovoljno
brzo, u skladu s potrebama određene aplikacije. Na brzinu pristupa može se uticati
izborom pogodnih fizičkih struktura podataka, te izborom pogodnih algoritama za
pretraživanje.
Mogućnost podešavanja i kontrole. Velika baza zahtijeva stalnu brigu: praćenje
performansi, mijenjanje parametara u fizičkoj građi, rutinsko pohranjivanje rezervnih
kopija podataka, regulisanje ovlaštenja korisnika.
13. Arhitektura baze podataka
Fizički nivo odnosi se na fizički prikaz i raspored podataka na jedinicama vanjske
memorije. To je aspekt kojeg vide samo sistemski programeri. Sam fizički nivo može se
dalje podijeliti na više podnivoa apstrakcije, od sasvim konkretnih staza i cilindara na
disku, do već donekle apstraktnih pojmova datoteke i zapisa kakve susrećemo u
klasičnim programskim jezicima. Raspored pohranjivanja opisuje kako se elementi
logičke definicije baze preslikavaju na fizičke uređaje.
Globalni logički nivo odnosi se na logičku strukturu cijele baze. To je aspekt kojeg vidi
projektant baze odnosno njen administrator. Zapis logičke definicije naziva se shema.
Shema je tekst ili dijagram koji definiše logičku strukturu baze, i u skladu je sa zadanim
modelom. Dakle imenuju se i definišu svi tipovi podataka i veze medu tim tipovima, u
skladu s pravilima korištenog modela. Također, shema uvodi i ograničenja kojim se čuva
integritet podataka.
Lokalni logički nivo odnosi se na logičku predstavu o dijelu baze kojeg koristi pojedina
aplikacija. To je aspekt kojeg vidi korisnik ili aplikacioni programer. Zapis jedne lokalne
logičke definicije zove se pogled (engleski view) ili pod-shema. To je tekst ili dijagram
kojim se imenuju i definišu svi lokalni tipovi podataka i veze medu tim tipovima, opet u
skladu s pravilima korištenog modela. Također, pogled zadaje preslikavanje kojim se iz
globalnih podataka i veza izvode lokalni.
14. Jezici za rad sa bazama podataka
Komunikacija korisnika odnosno aplikacionog programa i DBMS-a odvija se pomoću
posebnih jezika. Ti jezici tradicionalno se dijele na sljedeće kategorije.
Jezik za opis podataka (Data Description Language - DDL). Ovim jezikom definišemo
podatke i veze među podacima, i to na logičkom nivou. Naredbe DDL obično podsjećaju
na naredbe za definisanje složenih tipova podataka u jezicima poput COBOL, PL/I, C,
Pascal.
Jezik za manipulisanje podacima (Data Manipulation Language DML). Služi
programeru za uspostavljanje veze između aplikacionog programa i baze.
Jezik za postavljanje upita (Query Language - QL). Služi neposrednom korisniku za
interaktivno pretraživanje baze. To je jezik koji podsjeća na govorni (engleski) jezik.
Ovakva podjela na tri jezika danas je već prilično zastarjela. Naime, kod relacionih baza
postoji tendencija da se sva tri jezika objedine u jedan. Primjer takvog integrisanog jezika
za relacione baze je SQL: on služi za definisanje podataka, manipulisanje i pretraživanje.
Integrisani jezik se može koristiti interaktivno ili se on može pojavljivati uklopljen u
aplikacione programe.U današnje vrijeme, aplikacije se najčešće razvijaju u standardnim
objektno orijentisanim programskim jezicima (Java, C++, ...). Za interakcije s bazom
koriste se unaprijed pripremljene klase objekata koja je dovoljno produktivna zbog
korištenja gotovih klasa, a rezultirajući program se lako dotjeruje, uklapa u veće sisteme
ili prenosi s jedne baze na drugu.
15. Ţivotni ciklus baze podataka:
Uvođenje baze podataka u neku firmu se može podijeliti u pet faza: analiza potreba,
modeliranje podataka, implementacija, testiranje i održavanje.
Analiza potreba
Proučavaju se tokovi informacija u firmi. Uočavaju se podaci koje treba pohranjivati i
veze među njima. Analiza potreba također treba obuhvatiti analizu transakcija (operacija)
koje će se obavljati nad bazom podataka, budući da to može isto imati uticaja na sadržaj i
konačni oblik baze. Važno je procijeniti frekvenciju i opseg pojedinih transakcija, te
zahtjeve na performanse.Rezultat analize je dokument koji se zove specifikacija potreba.
Modeliranje podataka
Različiti pogledi na podatke, otkriveni u fazi analize, sintetizuju se u jednu cjelinu globalnu shemu. Precizno se utvrđuju tipovi podataka. Shema se dalje dotjeruje
(“normalizuje”) tako da zadovolji neke zahtjeve kvaliteta.
Implementacija
Na osnovu sheme i pod-shema, te uz pomoć dostupnog DBMS-a, fizički se realizuje baza
podataka na računaru. U DBMS-u obično postoje parametri kojima se može uticati na
fizičku organizaciju baze. Parametri se podešavaju tako da se osigura efikasan rad
najvažnijih transakcija. Razvija se skup programa koji realizuju pojedine transakcije te
pokrivaju potrebe raznih aplikacija. Baza se inicijalno puni podacima.
Testiranje
Korisnici rade s bazom i provjeravaju da li ona zadovoljava sve zahtjeve. Nastoje se
otkriti greške.U novije vrijeme, prije prave implementacije, razvijaju i približni
prototipovi baze podataka, te se oni pokazuju korisnicima. Jeftinu izradu prototipova
omogućuju jezici 4. generacije i objektno-orijentisani jezici.
Odrţavanje
Odvija se u vrijeme kad je baza već ušla u redovnu upotrebu. Sastoji se od sljedećeg:
popravak grešaka koje nisu bile otkrivene u fazi testiranja; uvođenje promjena zbog
novih zahtjeva korisnika; podešavanje parametara u DBMS u svrhu poboljšavanja
performansi. Održavanje zahtijeva da se stalno prati rad s bazom, i to tako da to praćenje
ne ometa korisnike. Administratoru baze podataka trebaju stajati na raspolaganju
odgovarajući alati (utility programi).
16. Tipovi podataka
TEXT- slova, brojevi ili njihova kombinacija do 255 znakova. Brojevi se u tekstualnom
polju ne smatraju brojevima već samo nizom cifara koji se nalazi u polju.
MEMO- ovo je veliko polje u koje se može upisati do 64000 (u novijim verzijama
mnogo više) znakova (oko 18 stranica teksta).Dobro je npr. za polje “napomena”.
Ovakav tip tekstualnog podatka ne može ući u neko sortiranje, pretraživanje ili
grupisanje, što treba imati u vidu.
NUMBER- pravi brojevi uz koje možete da računate. Veličina polja (Field Size) zavisi
od “pod tipa” koji može biti: Byte, Integer, LongInteger, Single, Double..
DATE/TIME- ovaj tip polja koristimo za podatke koji predstavljaju odgovor na pitanje
“kada?”. Tu se upisuje vrijeme, datum ili kombinacija ovo dvoje zavisno od formata
(kartica General) koji izaberete.
CURRENCY- u ovo polje se upisuju novčani iznosi. Dozvoljeno nam je i da izaberemo
format polja, da li će se prikazati oznaka valute i sl. – kartica General.
AutoNumber- kad god unesete novi zapis, ovo polje se samo popunjava automatski
generisanim brojem.
Yes/No- ovo polje upotrebljavamo kada želimo odgovor koji može da bude samo u vidu
dvije vrednosti Yes/No, True/False, On/Off, zavisno od formata koji želimo. Npr. jedno
polje tog tipa bi bilo polje “diplomirao”-da ili ne.
HYPERLINK- odnosno hiperveza. Ovakvo polje sadrži hyperlink adrese. Klikom na to
polje u tabeli možete da otvorite neki dokument koji se nalazi bilo gdje na hardu, da se
konektujete na internet…
OLE Object- objekti kao MS Word dokument, MS Excel tabela, zvuk, grafikon,
slika…Povezan je ili ugrađen u MS Access tabelu (desnim klikom miša na polje tabele
prethodno definisano kao OleObject– Insert objects)
Lookup Wizard- daje mogućnost da se kreiraju polja koja omogućavaju izbor
vrijednosti iz druge tabele ili iz liste vrednosti upotrebom grafičkih kontrola ComboBox
ili ListBox. Izborom ove stavke startuje se Lookup Wizard, kojim se definiše vrsta
izvora, način popunjavanja i broj polja.
17. Null vrijednost atributa
Atributi uzimaju vrijednosti iz odgovarajućeg domena koji im je dodjeljen, što u praksi
znači da će vrijednosti u tabeli za neku kolonu da budu onog tipa podataka koji smo
izabrali za tu kolonu.
Međutim, DBMS dozvoljava da atribut nema dodjeljenu vrijednost što podrazumijeva
korišćenje tzv NULL vrijednosti. Ova specijalna vrijednost se mora uvesti zato što u
odgovarajuću ćeliju tabele treba da stoji neka vrijednost da bi pretrage i analize radile.
NULL vrijednost može da ima dva značenja:
Vrijednost atributa za posmatrani entitet ne postoji ili još uviek nije poznata. Na
primjer, za radnika koji je tek treba ili je tek počeo da radi vrijednost atributa prethodni
radni staž nije poznata.
Vrijednost atributa za posmatrani nije primjenjiva. Na primjer, ako za relaciju RADNIK
imamo atribut FAKULTET u kome se čuva naziv fakulteta koji je radnik završio, svi
radnici sa srednjom školskom spremom će imati NULL vrijednost za taj atribut.
18. Šta je entitet
Entitet je element o kome se memorišu informacije. To je element koji postoji i koji se
može razlikovati od ostalih elemenata. Entitet predstavlja bilo šta o čemu se mogu
memorisati opisne informacije, što je u stanju da stoji nezavisno i što može biti
jednoznačno određeno.
Entitet može biti AUTOMOBIL, a njegovi atributi: marka, tip, boja, godina proizvodnje i
sl. Podaci u okviru baze nisu raspoređeni haotično, nego su grupisani po entitetima, što
znači da svaki entitet sa sobom nosi određenu vrstu podataka. Jedna baza se može
sastojati od jednog ili više entiteta odnosno tabela.
19. Ključevi relacija
Da bismo jedan entitet jednoznačno identifikovali u posmatranom skupu entiteta on mora
posjedovati neko svojstvo, ili kombinaciju od nekoliko svojstava, takvu da vrijednost tog
ili tih svojstava jednoznačno određuju svaku pojavu tog tipa entiteta. Takva svojstva
nazivamo karakterističnim, a njihove vrednosti koristimo kao identifikator entiteta unutar
skupa. U relacionom modelu podataka atribut ili skup atributa čije vrijednosti
predstavljaju identifikator entiteta (torke u relaciji) nazivamo ključem relacije. Takvi
atributi se nazivaju ključni atributi.
Ako relacija ne poseduje atribut ili skup atributa koji je identifikuju, tada se uvodi
specijalni identifikacioni atribut - ključ surogat, koji se obično označava sa ID. U
relacionom modelu podataka postoji više termina koji se koriste za relacione ključeve.
20. Vrste ključeva
Ključ
Pošto su sve torke relacije različite, u relaciji mora postojati atribut ili skup atributa (tzv
kompozitni ključ – ključ od više atributa), nazvani relacioni ključevi ili ključevi relacije,
koji na jedinstven način identifikuje svaku torku relacije.
Primarni ključ
Ključ kandidat koji je odabran da na jedinstven način identifikuje torke unutar relacije.
Ključ surogat
Identifikator koji je dodat relaciji kao primarni ključ, zato što relacija nema odgovarajući
atribut ili skup atributa koji može biti primarni ključ relacije.
Spoljni ključ / Strani ključ
Atribut ili skup atributa jedne relacije koji se uparuje sa ključem kandidatom neke druge
ili iste relacije. Važan za ostvarivanje međusobnih veza između tabela!!!
21. Relacioni integritet
Postoje još dva pravila integriteta, poznata kao integritet entiteta (eng. Entity integrity) i
referencijalni integritet (eng. referential integrity), koja ograničavaju ili zabranjuju pojave
određenih torki u relaciji.
Integritet entiteta
Nijedan atribut primarnog ključa bazne relacije ne smije imati NULL vrijednost.
Referencijalni integritet
Ako postoji neki spoljni ključ u relaciji, njegova vrijednost mora biti jednaka vrijednosti
ključa kandidata neke torke u matičnoj relaciji ili njegova vrijednost mora biti NULL.
Referencijalni integritet je važan kod definisanja međusobnih veza između tabela.
22. Osnovni koncepti relacionog modela podataka
Relacija: Relacija odgovara pojmu tabela sa vrstama i kolonama.
Atribut relacije:
Predstavlja osobinu entiteta predstavljenog relacijom. Atribut je praktično imenovana
kolona relacije odnosno tabele, koje se odnose na svojstva objekta predstavljenog
relacijom.
Domen atributa: Domen je skup dozvoljenih vrijednosti za jedan ili više atributa.
Praktično se odnosi na tip podatka za kolonu.
Torka relacije:
Torka je vrsta relacije i odnosi se na jedan slog podataka.
Stepen relacije: Broj atributa relacije
Kardinalnost relacije:
Broj vrsta (torki) relacije.
Šema relacije:
Šema relacije je opis relacije. Sadrži ime relacije, imena atributa i domene atributa.
Relaciona baza podataka:
Kolekcija normalizovanih relacija.
Šema relacione baze podataka:
Skup šema relacija, pri čemu svaka ima različito ime.
23. Relacije ili veze
Veze se uspostavljaju izmedu dva ili više tipova entiteta. Zapravo je riječ o imenovanoj
binarnoj ili k-narnoj relaciji između primjeraka entiteta zadanih tipova. Za sada ćemo se
ograničiti na veze između tačno dva tipa entiteta. Funkcionalnost veze može biti:
Jedan-naprema-jedan (1 : 1). Jedan primjerak prvog tipa entiteta može biti u vezi s
najviše jednim primjerkom drugog tipa entiteta, te također jedan primjerak drugog tipa
može biti u vezi s najviše jednim primjerkom prvog tipa.
Jedan-naprema-mnogo (1 : N). Jedan primjerak prvog tipa entiteta može biti u vezi s 0,
1 ili više primjeraka drugog tipa entiteta, no jedan primjerak drugog tipa može biti u vezi
s najviše jednim primjerkog prvog tipa.
Mnogo-naprema-mnogo (M : N). Jedan primjerak prvog tipa entiteta može biti u vezi s
0, 1 ili više primjeraka drugog tipa entiteta, te također jedan primjerak drugog tipa može
biti u vezi s 0, 1 ili više primjeraka prvog tipa.
Download

Baza podataka je uređeni skup međusobno po