pojam baza e28093 skripta kg miljan g jeremic487

18
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 transakcije 1 realnog sistema 2. izlazni podaci, odnose se na poruke i izveštaje o stanju realnog sistema 3. 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. 1 Pojam transakcije je objašnjen u nastavku 1

Upload: andjelic-milovan

Post on 02-Feb-2016

228 views

Category:

Documents


0 download

DESCRIPTION

ffdvbsdfbsfd gfsbgsdfb fb

TRANSCRIPT

Page 1: Pojam Baza e28093 Skripta Kg Miljan g Jeremic487

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

Page 2: Pojam Baza e28093 Skripta Kg Miljan g Jeremic487

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

Page 3: Pojam Baza e28093 Skripta Kg Miljan g Jeremic487

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

Page 4: Pojam Baza e28093 Skripta Kg Miljan g Jeremic487

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

Page 5: Pojam Baza e28093 Skripta Kg Miljan g Jeremic487

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

Page 6: Pojam Baza e28093 Skripta Kg Miljan g Jeremic487

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

Page 7: Pojam Baza e28093 Skripta Kg Miljan g Jeremic487

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

Page 8: Pojam Baza e28093 Skripta Kg Miljan g Jeremic487

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

Page 9: Pojam Baza e28093 Skripta Kg Miljan g Jeremic487

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

Page 10: Pojam Baza e28093 Skripta Kg Miljan g Jeremic487

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

Page 11: Pojam Baza e28093 Skripta Kg Miljan g Jeremic487

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

Page 12: Pojam Baza e28093 Skripta Kg Miljan g Jeremic487

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