pojam baza e28093 skripta kg miljan g jeremic487
DESCRIPTION
ffdvbsdfbsfd gfsbgsdfb fbTRANSCRIPT
Osnovi baze podataka 2007
Pojam baza podataka
Baza podatka je način organizovanja i pretraživanja uzajamno povezanih podataka.
Baza podataka u užem smislu obuhvata podatke koji su u domenu računarskog sistema. (Podaci koji su registrovani na medijumima i po potrebi se mogu unositi u centralni procesor i obrađivati u računaru).
Baza podataka nam pomaže da organizujemo informacije u logičkom smislu da bi
mogli brzo doći do željenih podataka. Ona može sadržati podatke u raznim oblicima, od
jednostavnog teksta (kao ime ili adresa) do kompleksnih struktura koje uključuju sliku, zvuk i
sl.
Podaci u bazi se mogu podeliti na:1. ulazne podatke, opisuju transakcije1 realnog sistema2. izlazni podaci, odnose se na poruke i izveštaje o stanju realnog sistema3. radni podaci, obuhvataju i ulazne i izlazne podatke
Podatak – je registrovana činjenica ili događaj (žut; beo; ceo; 1; F14; 354; $10,50; Car Dušan;
itd.). To je, u stvari, činjenica o nekom segmentu realnog sveta koju treba čuvati u
elektronskom obliku na duži vremenski period i koja ima značenje za korisnike baze
podataka.
Informacija – je obrađeni podatak. Za informaciju je bitno da bude jasna, tačna i
pravovremena. Tako bi rečenica: "Danas je naša firma ostvarila promet u iznosu od
$5000 sa zaradom od $320" bila informacija, ako nas obaveštava o nečem što nismo
znali.
Koncepcija baza podataka
Baza nije slučajan skup podataka, već skup povezanih i struktuiranih podataka i njihovih opisa.
Baza mora da obeazbedi različite vrste informacija, različitim korisnicima.
Na osnovu prethodno navedenog, osnovni koncept baza podataka je koncept različitih pogleda na podatke.
1 Pojam transakcije je objašnjen u nastavku
1
P1 P2 Pn
Eksterni model baze
Konceptualni model baze
Interni model baze
Osnovi baze podataka 2007
PRIMER 1. različiti pogledi na podatke (Raspored časova)
Učenici jednog razreda u ukupnom rasporedu posmatraju samo termine u kojima oni imaju časove kod svojih profesora. Profesor matematike npr. u celokupnom rasporedu posmatra samo termine u kojima on ima časove matematike u različitim razredima. Referenta za nastavu interesuje ukupan raspored kako bi rasporedio razrede po učionicama i izbegao eventualna preklapanja časova.
Koncept „različiti pogledi“ na „iste“ podatke je bitan u situacijama kada podatke dele različiti korisnici. Ovaj koncept je moguće realizovati ostvarivanjem nezavisnosti između logičkog opisa (kako će se podaci koristiti) i fizičkog opisa (kako će podaci biti smešteni na magnetnim medijumima). Nezavisnost između logičkog i fizičkog opisa podataka omogućavaju pogledi.
Model baze podataka
Različiti pogledi korisnika
Kako pojedinci koriste podatke
N1
Kako svi koriste podatke (uopšteni model)
N2
Kako su podaci fizički smeteni medijumu
N1,N2 nivoi nezavisnosti, označavaju da promene na jednom nivou ne utiču na promene drugog nivoa (logički – fizički nivo). Logički nivo je nivo konceptulnog modela i eksternog modela baze, a fizički nivo je interni model baze.
Koncept korisničkih pogleda je bitan iz sledećih razloga:1. Podaci se korisniku predstavljaju u obliku u kome su mu potrebni2. Svi podaci se čuvaju od različitih korisnika, čime se obezbeđuje integritet2 baze
podataka i zaštita podataka.
Osnovna svojstva baza podataka
2 Objašnjenje integriteta baze podataka sledi u nastavku
2
Osnovi baze podataka 2007
Baza podataka je skup, odnosno velika količina podataka. Nije pogrešno reći ni to da su baze integrisane datoteke.
Baze podataka doprinose:1. smanjenju redudanse podataka2. nezavisnosti podataka3. povećavaju pouzdanost podataka4. povećavaju tačnost podataka i obezbeđuju integritet podataka
Osnovni pojmovi i definicije
Transakcija prilikom obrade podataka prevodi jedno valjano stanje u drugo.Primer Prenos novca sa jednog računa na drugi računOva transakcija podrazumeva skidanje novca sa jednog računa i njegovo prebacivanje na drugi račun. Transakcija nesme biti prekinuta jer će u suprotnom novac nestati (commit i rollback transakcije).
Redudansa (ponavljanje podataka), u bazi ne postoje nepotrebni podaci. U bazu se podaci unose samo jedanput i čuvaju se na samo jednom mestu.
Nezavisnost podataka, se mora obezbediti kako bi se realizovao koncept „različiti pogledi na podatke“. Nezavisnost podataka podrazumeva nezavisnost podataka od programa koji ih obrađuje.
Pouzdanost podataka ostvaruje se kontrolom pristupa i očuvanjem integriteta baze podataka.
Integritet baze podatakaPodrazumeva tačnost i korektnost podataka, a u vezi sa izvršavanjem transakcija. Do narušavanja integriteta beze podataka dolazi u situacijama istovremenog izvršavanja više transakcija.
3
Osnovi baze podataka 2007
Sistem za upravljanje bazom podataka
Sistem za upravljanje bazom podataka SUBP (Database Menagment system - DBMS) je software uveden kao veza između korisnika (korisničkih programa, aplikacija) i zapisa baze podataka na disku. Korisnički programi ne pristupaju podacima direktno, već komuniciraju s ovim software-om (programom), preko grafičkog interfejsa bliskog korisniku. Obično kada se govori software za bazu podataka, onda se misli upravo na DBMS. (Primeri DBMS-ova, tj. razvojnih alata za BP su: Oracle, DB2, MySQL, PostgreSQL, Ingres, MS-Sql, MS Access . . . )
SUBP je jedan od načina kako posmatramo bazu podataka.SUBP se obično zasniva na nekom teorijskom modelu podataka. SUBP je softverski sistem za čuvanje i pretraživanje podataka.
Modeli podataka su specifične teorije pomoću kojih se projektuje konkretna baza podataka ili informacioni sistem.
Sistem je skup objekata(entiteta) koji su međusobno povezani. Objekti u sistemu mogu biti fizički objekti, koncepti ili događaji. Objekti se opisuju preko svojstava (atributa). Slika 1.
Preko ulaza u sistem opisuje se dejstvo okoline na sistem, a odgovor sistema na dejstvo (transformacija) se opisuje preko izlaza sistema.
Informacioni sistem treba da opisuje ponašanje realnog sistema. Informacioni sistem je ustvari model realnog sistema. Informacioni sistem u odnosu na realni sistem prikazan je na Slici 2.
Opšte funkcije SUBP su:1. Oporavak baze2. Upravljanje pralelnim izvršavanjem transakcija3. Zaštita podataka
4
Osnovi baze podataka 2007
Slika1.SISTEM
Slika 2. ODNOS REALNOG SISTEMA I INFORMACIONOG SISTEMA
5
REALNI SISTEM
Ulazi Stanje(transformacija)
Izlazi
INFORMACIONI SISTEM
Programi za održavanje
Baza Programi za izveštavanje
ulaz izlaz
Obj1
Obj3
Obj n
Obj2
Obrada
Osnovi baze podataka 2007
Informacioni sistem (IS)
IS je model realnog sistema. On opisuje stanje i promene realnog sistema. IS za opis realnog sistema koristi podatke. Ulaznim podacima se ažurira baza, koja prikazuje stanje sistema i na taj način se menja njeno stanje, a zatim se kao izlazi dobijaju željeni izveštaji o realnom sistemu.IS se predstavlja pomoću skupa međusobno povezanih podataka (modeli podataka) i toka podataka(model procesa), koji treba na najbolji način da predstave sistem.
Osnovni elemant IS je informacija. Informacija je mera za organizovanost sistema. Informacija ukida ili smanjuje neodređenost sistema. Podatak je registrovana činjenica. Podaci služe za fizičko uobličavanje informacije.
Podatak Informacija
Obrada podatka i stvaranje informacije• Cilj IS-a je: Dostaviti pravu informaciju u pravo vreme, na pravo mesto, uz
minimalne troškove.• Funkcije IS-a su: Prikupljanje, obrada, čuvanje i dostava podataka i informacija
korisnicima.• IS se sastoji od: Hardware (komponente), Software (programi), Lifeware (ljudi),
Orgware (organiacija) i Netware (komunikacija).
Veza baza podataka i informacionog sistema
Baza podataka predstavlja osnovu svakog informacionog sistema. BP predstavlja osnovne, stabilne, sporo izmenljive karakteristike sistema, objekte u sistemu i njihove međusobne veze. Svi projekti IS se moraju bazirati na BP. Baza podataka prilikom projektovanja IS predstavlja model stanja realnog sistema.
6
Osnovi baze podataka 2007
Modeli baze podatakaPodaci su logički organizirani po nekom modelu.
Model čini osnovu za osmišljavanje, definisanje i implementiranje baze podataka.
Današnji DBMS podržavaju tri osnovna modela: Hijerarhijski model Mrežni model Relacioni model
Hijerarhijski model zasnivaju se na hijerarhijskim strukturama podataka koje imaju oblik stabla. Ova struktura ima nivoe, s tim da je na prvom nivou osnovni ili koreni segment. Kada se iz ovakve strukture briše nadređeni segment onda se sa njim brišu i svi podređeni segmenti. Osnovni nedostaci ove strukture su:1. Nedostatak unošenja – nije moguće uneti neki segment ukoliko nije poznat njegov
nadređeni segment;2. Nedostatak brisanja – brisanjem nadređenih segmenata se gube podaci o
podređenim segmentima;3. Nedostatak ažuriranja – u nekim slučajevima ažuriranje nekog podatka zavisi od
ažuriranja drugih podataka. Ažuriranje predstavlja izmenu ili brisanje sadržaja zapisa ili polja, ili upisivanje novog zapisa.
Mrežni model može se predstaviti usmerenim grafom u kojem su čvorovi podaci, a lukovi među čvorovima definišu veze među podacima. Zasnivaju se na mreži podataka povezanih tako da ne postoje ni osnovni ni podređeni segmenti. Mrežna struktura složenija je od hijerarhijske i u praksi se baze podataka mogu prevesti iz hijerarhijskog oblika u mrežni i obrnuto. U takvoj strukturi ne postoje nedostaci koje ima hijerarhijska struktura.
7
Osnovi baze podataka 2007
Relacione baze podataka
Relacioni model je i danas popularan i osnova je velikog broja SUBP. Relacioni model karakterišu:
1. jednostavna struktura predstavljanja2. određene tabele relacionog modela se mogu tretirati kao matematičke relacije
Relacioni model se zasniva na pojmu relacija iz teorije skupova. Za rad sa podacima u relacionim bazama koriste se relaciona algebra i relacioni račun. Pošto su ovi jezici apstraktni i formalni u kontekstu baza podataka koriste se jezici UPITA.
Pojam relacije i tabele
Uspostavljanje relacija između podataka može se pokazati na primeru obaveštavanja o prodaji avionskih karata. Podaci se mogu predstaviti skupom PRODAJA_KARATA koji se sastoji iz uređenih trojki PUTNIK(p), BR_LETA(n), DATUM(d), tako da je:
PRODAJA_KARATA=(p,n,d) relacija koja znači da je putniku(p) prodato mesto na letu(n), za datum (d). Ova uređena trojka je skup. Odnosno relacija PRODAJA_KARATA je skup (p,n,d).
Realacioni model ima dva koncepta RELACIJA I DOMEN.
RELACIJA≠TABELA, ali u Relacionom modelu relacija je tabela.
Domen je skup vrednosti iz kojih podaci uzimaju vrednost, to su moguće vrednosti podataka.
U tabelama postoji redosled, u relacijama nije bitan U relacionom modelu, baza je skup tabela Tabela ima naziv, što je naziv relacije, odnosno klasa entiteta(objekta) Podaci su atributi u relacionom modelu Kolone tabele su vrednosti atributa Vrste tabele su n-torke relacije.
Da bi se izbegla redudantnost (ponavljanje podataka) u tabeli, svaki red tabele mora imati identifikator, PRIMARNI KLJUČ, koji jedinstveno identifikuje taj red. Kada se primarni ključ koristi za povezivanje sa drugom tabelom on postaje SPOLJNI KLJUČ.
Relacioni model
Zasnovan na matematičkom pojmu relacije. Podaci i veze među podacima se prikazuju preko dvodimenzionalnih tabela. Ukoliko red sadrži n kolona, onda je relacija n-tog stepena. Većina savremenih baza podataka služi se ovim modelom.
8
Osnovi baze podataka 2007
TABELA - Kolekcija podataka organizovanih po vrstama i kolonama
POLJE - Jedna jedinica (ili kolona) informacije u tabeli . Primer: tabela učenik može da sadrži polja pod nazivom lični_broj, ime, prezime, odeljenje
ZAPIS (slog) - Skup svih polja za jednu vrstu tabele (jedan red u tabeli) . Primer tabela učenik
ima četiri ispunjena zapisa: jedan za učenika sa imenom Ana Petrović, drugi za Petar
Arsić, i tako dalje.
UČENIK (lični_broj, ime, prezime, odeljenje)
Podatak ispred zagrade je naziv relacije, podaci u zagradi su nazivi atributa, podvučeni
podaci su ključevi za identifikaciju redova.
Entitet predstavlja objekat posmatranja, koji se može izdvojiti iz okoline i opisati. (To je element o kome se memorišu informacije.)
Atribut predstavlja opis entiteta.
Za opis konkretnog entiteta zapisuju se vrednosti obelžja.
učenik (1020/96, Saša, Stamenković, III/1)
Uspostavljanje relacija između podataka može se pokazati na primeru obaveštavanja o prodaji avionskih karata. Podaci se mogu predstaviti skupom PRODAJA_KARATA koji se sastoji iz uređenih trojki PUTNIK(p), BR_LETA(n), DATUM(d), tako da je:
PRODAJA_KARATA=(p,n,d) relacija koja znači da je putniku(p) prodato mesto na letu(n), za datum (d). Ova uređena trojka je skup. Odnosno relacija PRODAJA_KARATA je skup (p,n,d).
Realacioni model ima dva koncepta RELACIJA I DOMEN.
Domen je skup vrednosti iz kojih podaci uzimaju vrednost, to su moguće vrednosti podataka.
Relacija je veza između dva ili više entiteta.
9
Osnovi baze podataka 2007
Jedna baza se može sastojati od jednog ili više entiteta. Između entiteta mogu postojati određene veze koje su ilustrovane u sledećim primerima i mogu biti sledećih oblika:
Veza 1:1
1:1 je najprostiji oblik veze, a za primer se može uzeti veza RUKOVODI izmetu entiteta RUKOVODILAC i SEKTOR, gde se vidi da jedan rukovodilac može rukovoditi samo jednim sektorom, ali i obratno - jedan sektor ima samo jednog rukovodioca.
Veza 1:n (n:1)
Ovo je najčešći tip veze, a da li je veza l:n ili n:l zavisi od toga u kom smeru je posmatramo. Za primer ovog tipa veze se može uzeti veza SEKTOR ZAPOŠLJAVA RADNIKA, gde su
entiteti SEKTOR i RADNIK u vezi l:n, jer u jednom sektoru može biti zaposleno više radnika.Posmatrajući ovu istu vezu u suprotnom smeru možemo uočiti vezu RADNIKRADI U SEKTORu, gde više radnika može raditi u jednom sektoru.
Veza n:n
Veza n:n je veza (više prema više) koja se u modelima vrlo često javlja, a ono što je za nju specifcno je da takva kakva jeste - ne može da se direktno implementira u relacionom modelu baze podataka, jer bi dovela do nemogućnosti stroge definicije.Problem veze n:n između dva entiteta se prevazilazi "razbija-njem" ove veze na dve veze tipa l:n, pa se tako, prikaana veza RADNIK:PROJEKAT (n:n), deli na dve veze: PROJEKAT:P_R (l:n) i P_R:RADNIK (n:l), gde je P_R novi entitet (tabela u bazi) koji obezbeđuje strogu kontrolu modela.
Pojam ključa relacije
Da bi se izbegla redudantnost (ponavljanje podataka) u tabeli, svaki red tabele mora imati identifikator, PRIMARNI KLJUČ, koji jedinstveno identifikuje taj red. Kada se primarni ključ koristi za povezivanje sa drugom tabelom on postaje SPOLJNI KLJUČ.
10
Osnovi baze podataka 2007
Suština relacionog modela je da sve n-torke u relaciji budu različite. Da bi ovaj uslov ostvarili potrebno je da postoji jedan atribut ili više atributa zajedno čije vrednosti jedinstveno identifikuju jednu n-torku relacije(to je jedan red tabele). Atribut koji ispunjava ove uslove je ključni atribut relacije ili samo ključ(primarni ključ).
Primarni ključ može biti prost (1 atribut) ili složen (grupa atributa).
PrimerUČENIK(šifuč, ime, adresa); (prost ključ)PREDMET(šifpr, naziv); (prost ključ)OCENA(šifuč, šifpr, ocena); (složen ključ)
Da bi neki atribut bio kandidat za ključ relacije, odnosno postao ključ relacije potrebno je da važe sledeći uslovi:
Uslov jedinstvenosti, ne postoje bilo koje dve n-torke sa istom vrednošću k Osobina neredudantnosti, ako se bilo koji atribut izostavi iz k, gubi se osobina
jedinstvenosti.
Spoljni ključ
Spoljni ključ je atribut ili grupa atributa u relaciji R1 koji u njoj nije primarni ključ, ali je primarni ključ neke druge relacije baze podataka. Vrednost spoljnog ključa koristi se za povezivanje sa vrednošću primarnog ključa u odgovarajućoj realaciji R2.
Šema relacione baze
Pojam šeme relacione beze podataka i sama relaciona baza podataka se razlikuju. Šema relacione baze podataka definiše strukturu baze. Za učenički informacioni sistem npr. Relacioni model baze podataka bi se mogao predstaviti na sledeći način:
UČENIK(šifuč, ime, adresa, šifsm); (šifuč-primarni ključ-prost, šifsm-spoljni ključ)PREDMET(šifpr,nazivpr,brčasova);OCENA(šifpr,šifuč, ocena); (šifpr,šifuč,-primarni-složen ključ)SMER(šifsm, nazivsm, šifnast);NASTAVNIK(šifnast,imenast,šifpr);
U ovom sistemu koji se odnosi na učenike, kao objekti pojavljuju se:
Učenik – objekat, sa atributima-šifuč,ime, adresa Predmet-objekat, sa atributima – šifpr, nazivpr, brčasova Ocena-objekat,sa atributom – ocena Smer-objekat, sa atributima – šifsm,nazivsm Nasatavnik-objekat, sa atributima - šifnast, imenast
Veze između objekata se ostvaruju preko atributa, odnosno ključeva i spoljnih ključeva
Spoljni ključ
11
Osnovi baze podataka 2007
Vrednost atributa šifsm u relaciji učenik pokazuje koji smer je učenik izabrao, pri čemu se predpostavlja da učenik može da izabere samo jedan smer
Vrednost atributa šifnast u relaciji smer prikazuje nastavnika koji je rukovodilac na tom smeru(nastavnik može da bude rukovodilac na samo jednom smeru).
Vrednost atributa šifpr u relaciji nastavnik pokazuje koji predmet nastavnik predaje, pretpostavka je da nastavnik predaje samo jedan predmet.
Šema relacione baze podataka
Sama relaciona baza podataka predstavlja skup tabela čije su strukture opisane u šemi baze u kojoj se čuvaju podaci o pomenutim objektima
Primer
UČENIKŠifuč Ime Adresa ŠifSm01020304
DušanMajaAnaDarko
Beogradska1Niška 3Savska 5Sarajevska 7
001002002001
PREDMET SMER ŠifPr NazivPr BrČasova000100020003
InformatikaMatematikaEngleski
363
OCENA NASTAVNIK
Relacije u nekoj bazi se mogu podeliti na „bazne“ i „izvedene“. Izvedena relacija (pogled) je relacija koja se može izvesti iz skupa datih baznih i izvedenih relacija, preko operacija koje se definišu nad relacijama.
Npr može se definisati izvedena relacija
DOBRI _UČENICI(ŠifUč, ImeUč, NazivSm, NazivPr, Ocena)
u ovoj relaciji svi navedeni učenici su oni koji iz predmeta koje slušaju imaju ocene veće ili jednake 4. Bazna relacija je relacija koja se ne može izvesti iz ostalih relacija baze podataka.
12
ŠifSm NazivSmera ŠifNast001002
PrirodniDruštveni
0000100002
ŠifUč ŠifPr Ocena01010302
0001000200010003
5435