pismenost 2 ms accessinformatika.ff.uns.ac.rs/wp-content/uploads/2018/04/nip2_acc1.pdf · 4/18...
TRANSCRIPT
2/18
Sadržaj
1. Osnovni pojmovi
2. Osnovne strukture
3. Povezivanje tabela
3/18
Osnovni pojmovi: baza podataka
Predstavlja kolekciju međusobno povezanih podataka
Omogućava efikasno čuvanje, brzo pretraživanje i ažuriranje velikih količina podataka
Telefonski imenik Red vožnje
4/18
Osnovni pojmovi: podatak i informacija
Podatak je tekst, broj, datum, slika, zvuk, itd. - činjenica koja se može obrađivati pomoću računara
Podaci bez interpretacije u nekom kontekstu ne znače puno
Informacija je interpretacija podataka (značenje podataka u kontekstu u kojem se koriste
br. naučnog kartona
prezime ime
5/18
Osnovni pojmovi: dizajneri, korisnici, administratori (baza podataka)
Dizajneri
na osnovu potreba korisnika identifikuju podatke i dizajniranju bazu
Korisnici
obavljaju unos, ažuriranje i pretraživanje baze podataka
Administratori (dba)
zaduženi za održavanje baze podataka
daju prava pristupa korisnicima i vrše oporavak baze u slučaju otkaza ili grešaka
6/18
Osnovni pojmovi: sistem za upravljanje bazama podataka
Program koji omogućava upravljanje bazama podataka (DBMS – Database Management System)
Program Vrsta
Oracle Database vlasnički softver
MySQL besplatan
Microsoft SQL Server vlasnički softver
DB2 vlasnički softver
Microsoft Access vlasnički softver
SQLite besplatan
LibreOffice Base besplatan
7/18
Sadržaj
1. Osnovni pojmovi
2. Osnovne strukture
3. Povezivanje tabela
8/18
Osnovne strukture: tabele
Osnovna struktura baza podataka koristi se za čuvanje podataka o istoj vrsti objekata
(studenti, pisci, knjige,...)
predstavlja mrežu polja organizovanu u kolone i redove
svaka tabela ima jedinstveno ime u bazi podataka
kolone i redovi su neuređeni: nije važan njihov redosled (zamena redosleda kolona ili redova ne utiče na podatke)
red 1
red 2
...
kol 1 kol 2 ...
9/18
Osnovne strukture: kolone
Svaka kolona opisuje jedno svojstvo objekata (ime, prezime, datum rođenja, itd.) svaka kolona ima jedinstveno ime unutar tabele
redosled kolona nije važan
podacima u kolonama pristupa se pozivajući se na ime kolone
svaka kolona ima domen (skup mogućih vrednosti)
domen se određuje izborom tipa podataka (broj, tekst, datum, itd.)
10/18
Osnovne strukture: osobine kolona
Tip podataka (broj, tekst, datum)
određuje skup mogućih vrednosti
Atributi
određuju karakteristike podataka (podrazumevana vrednost, dužina, tačnost, format, opis, itd.)
za različite tipove podataka postoje različiti atributi
Tip podatka Atribut
broj broj decimalnih mesta
tekst broj znakova
datum format
11/18
Osnovne strukture: redovi
Svaki red sadrži podatke o jednom objektu (jedno ime, jedno prezime, itd.)
redosled redova nije važan (redovi nisu numerisani)
tabela ne može da sadrži identične redove!
svaki red tabele jednoznačno je određen preko vrednosti primarnog ključa tabele
primarni ključ čini jedna (ili više) kolona tabele (prim. ID)
vrednost primarnog ključa u svakom redu je jedinstvena (jednoznačno identifikuje svaki objekat (jmbg, br. ind.)
12/18
Osnovne strukture: redovi
Zapis (slog, record) predstavlja konkretne podatke iz jednog reda tabele
podaci zapisa su smešteni u polja
svako polje (svaka kolona) treba da sadrži nedeljive podakte
1 Milutin Milanković 28.05.1879.
1 Milutin Milanković 28.05.1879.
13/18
Osnovne strukture: indeksi
Mehanizam koji ubrzava pretraživanje tabele na osnovu neke kolone
bez indeksiranja - sekvencijalno pretraživanje (skeniranjem tabele slog po slog - N poređenja)
sa indeksiranjem – pametniji algoritam (prim. binarno pretraživanje - log2N)
ID Ime Prezime Odsek
0 Milan Jović Sociologija
1 Ivana Nedić Filozofija
2 Petar Subotin Sociologija
3 Tijana Nedić Žurnalistika
4 Ivan Lazin Nemački
5 Anita Novak Mađarski
Indeksna tabela
ID: 0 Jović
ID: 4 Lazin
ID: 1 Nedić
ID: 3 Nedić
ID: 5 Novak
ID: 2 Subotin
14/18
Sadržaj
1. Osnovni pojmovi
2. Osnovne strukture
3. Povezivanje tabela
15/18
Povezivanje tabela: veze između tabela
Cilj
minimiziranje ponavljanja podataka
podaci koji se ponavljaju čuvaju se u posebnoj tabeli
16/18
Povezivanje tabela: veza “jedan prema više”
Različiti redovi u referencirajućoj tabeli mogu biti povezani sa istim redom referencirane tabele (obrnuto ne važi!)
Primarni ključ (ID) referencirane tabele postaje strani ključ u referencirajućoj tabeli
Moguća interpretacija na jednom odseku studira više različitih studenata
jedan student studira samo na jednom odseku
∞ 1
Referencirajuća Referencirana
17/18
Povezivanje tabela: referencijalni integritet
Mehanizam koji obezbeđuje ispravnost veza između tabela vrednost stranog ključa može se uzeti samo iz
skupa već postojećih vrednosti primarnog ključa referencirane tabele
spoljni ključ referencirajuće tabele je u direktnoj vezi sa primarnim ključem referencirane tabele
baza podataka neće dopustiti da se unese student sa nepostojećim odsekom
∞ 1
Referencirajuća Referencirana
18/18
Povezivanje tabela: veza “više prema više”
Svaki red jedne tabele može biti povezan sa više redova druge tabele i obrnuto veza “više prema više” realizije se dodavanjem
pomoćne tabele (tabela povezivanja) primarni ključ tabele povezivanja sastoji se iz
stranih ključeva tabela koje se povezuju
Moguća interpretacija svaki pisac može biti autor više knjiga svaka knjiga može imati više autora
ID Prezime Ime
1 Kernighan Brian
2 Stroustrup Bjarne
3 Ritchie Dennis
4 Wirth Niklaus
ID_P ID_K
1 1
2 2
1 4
4 3
4 1
ID Naslov
1 The C prog…
2 C++ in depth
3 Modula 2
4 Software tools