DOMAĆI RAD               (datum 17.02.2011.)              Tema: Baza podatakaPredmet: UPRAVLJANJE ISTRAŽIVANJEM I RAZVOJEM...
UVOD        Najranija poznata upotreba termina baza podataka potiče iz 1963. godine, a kaojedinstvena reč postala je u ran...
1. KLASIČNA OBRADA PODATAKA      Klasična obrada podataka je obrada gde se kod svake funkcionalne jedinice vršilaposebna o...
podataka, strukturu i/ili kolekciju operacija nad njima, kakva njemu najviše              odgovara.          •   Jednostav...
2. BAZA PODATAKA       Baza podataka se može najopštije definisati kao zbirka podataka koja postoji relativnodugo i koju k...
Zaštita od neovlašćenog korišćenja. Mora postojati mogućnost da se korisnicimaograniče prava korišćenja baze, dakle da se ...
problemi, kao što su: dijagnoza uzroka grešaka u složenim sistemima, finansijska predviđanja,konfiguracija računarskih sis...
Slika 2. SistemSistem ima i svoje stanje koje se menja pod dejstvom ulaza, a ova promena se reflektuje naizlaz. Stanje sis...
Replicirane baze podataka sadrže kompletne kopije cele baze podataka na više lokacija,u prvom redu da bi se izbegle katast...
jednostavno indentifikovati pomoću matičnog broja ili kombinacija vrednosti polja imena iprezimena.        U jednoj tabeli...
Entitet       Entiteti su ključni objekti iz realnog sveta.           •   Svaki tip entiteta prikazuje se jednom relacijom...
1                        1                                    Student                        Može             Parking dozv...
2.2. Sistemi za upravljanje bazama podataka        Program (ili grupa programa) koji omogućavaju pristup bazama podataka s...
Upcoming SlideShare
Loading in …5
×

Domaći rad 1

3,088 views

Published on

baza podataka

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,088
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
47
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Domaći rad 1

  1. 1. DOMAĆI RAD (datum 17.02.2011.) Tema: Baza podatakaPredmet: UPRAVLJANJE ISTRAŽIVANJEM I RAZVOJEM Prof. dr Vukašin Ilić Tanja Damnjanović Broj indeksa: 044/07/13
  2. 2. UVOD Najranija poznata upotreba termina baza podataka potiče iz 1963. godine, a kaojedinstvena reč postala je u ranim ‘70 – im godinama, u Evropi. Prvi sistemi upravljanja bazepodataka razvili su se ’60 – ih godina, kao što je pomenuto. Začetnik u tom polju je bio CharlesBachman. Bachmanovi rani radovi pokazuju da je njegov cilj bio stvaranje delotvorne upotrebenovih uređaja, jer se do tada obrada podataka temeljila na bušenim karticama i magnetskoj traci,pa je tako serijska obrada bila dominanta aktivnost. Dva ključna modela su se pojavila u tovreme. CODASYL je razvio mrežni model baziran na Bachmanovim idejama, te se hijerahjiskimodel koristio u sistemu koji je razvio North American Rockwell, a kojeg je kasnije prihvatioIBM. Pre svega, treba pomenuti da je bila prvo ručna obrada podataka. Zatim, pojavom PSdolazi se do klasične obrade podataka gde se svaki poslovni informacioni sistem sastoji izfunkcionalnih jedinica, a svaka funkcionalna jedinica ima posebnu obradu podataka. Daljimrazvitkom tehnologije dolazi se do baza podataka koja predstavlja najsloženiji oblik strukturebaze podataka i koriste je svi procesi. Prve primene mašina za računanje su ustavri bile implementacije jednostavnih bazapodataka. Među mašinama za računanje treba istaći kalkulator Blaise Pascala. Godine 1884.Herman Holerith je prijavio patent – sistem za automatsku obradu podataka o popisustanovništva u SAD – u. Podaci na bušenim karticama su ručno ubacivani u uređaj za očitavanje,a obrada se odnosila na prebrojavanje. Programiranje se odnosilo na izbor vrste prebrojavanja, aradilo ručnim prespajanjem kontakata. Dotadašnja obrada podataka popisa trajala je 10 – akgodina, a sa Holerithovim izumom vreme obrade bilo je smanjeno na šest nedelja. Tako je popisstanovništva iz 1890. godine bio prva automatizovana baza podataka, koja se u suštini sastojalaod hiljada kutija punih bušenih kartica. Od Holerithove kompanije nastao je današnji IBM. U godinama nakon Drugog svetskog rata, u kompanijama i vladinim institucijama počelisu se pojavljivati primitivni elektronski računari. Oni su se često koristili upravo za jednostavnelinearne baze podataka, najčešće za računovodstvo. Ipak, vrlo brzo, bogati kupci su počeli dazahtevaju više od njihovih ekstremno skupih mašina. Sve je to vodilo do ranih relacionih bazapodataka. Zanimljivo, ove rane aplikacije su nastavile da koriste Holerithove bušene kartice,neznatno modifikovane u odnosu na orifinalni dizajn. Nefleksibilnost polja iste dužine, bazepodataka pokretane 80 kolonskim bušenim karticama, učinile su rane računare metom napada išala i potpunom misterijom za običnog čoveka. Većina baza podataka se odnosila na specifične programe napisane za specifične bazepodataka. Za razliku od modernih sistema koji mogu biti primenjeni na potpuno različite bazepodataka, ovi sistemi su bili usko povezani za bazu podataka da bi osigurali brzinu na uštrbfleksibilnosti. 2
  3. 3. 1. KLASIČNA OBRADA PODATAKA Klasična obrada podataka je obrada gde se kod svake funkcionalne jedinice vršilaposebna obrada, što je dosta usporavalo proces rada informacionih sistema. Osnovni nedostaci ovakve obrade podataka su: • Redudansa podataka, odnosno višestruko pamćenje istih podataka je neminovno. Ako uzmemo za primer neko preduzeće, gde se isti podaci o proizvodima pamte i nekoliko desetina puta , ili neki komunalni informacioni sistem, gde se isti podaci o građanima pamte i stotinu puta, dolazi do velikih problema pri njihovom ažuriranju, kao i do povećanja troškova obrade podataka. • Zavisnost programa od organizacije podataka. Programi su zavisni i od logičke i od fizičke strukture podataka. Fizička struktura je način memorisanja podataka na spoljnim memorijama (hard disk, CD, flash... ), a logička struktura je struktura podataka koja je predstavljena programeru. U klasičnim datotekama razlika fizičke i logičke strukture podataka je mala. Odnosno, programeru se praktično direktno prikazuje način na koji su podaci memorisani na spoljnoj memoriji. Logička zavisnost se ogleda u tome što program zavisi, na primer, od naziva i redosleda polja u zapisu, a fizička se ogleda u tome što program zavisi od distribucije datoteka po čvorovima računarske mreže, izabranih metoda pristupa, načina sortiranja i slično. U suštini, logička i fizička organizacija podataka su prilagođene konkretnom programu. • Niska produktivnost u razvoju informacionog sistema (IS). Jedan od uzroka niske produktivnosti u razvoju IS je struktuiranje podataka u nekom IS. Čak i kada postoje svi podaci koji se u nekoj novoj aplikaciji zahtevaju, a nalaze se u različitim datotekama, sa različitim fizičkim organizacijama, zadovoljenje nekog jednostavnog informacionog zahteva . • Sistem datoteka je nezadovoljavajuće pouzdan, ne garantuje očuvanje tačnosti i konzistentnosti podataka pri mogućim hardverskim i softverskim otkazima. • Sistem datoteka ne obezbeđuje zadovoljavajuće očuvanje tačnosti i konzistentnosti podataka pri višestrukom paralelnom korišćenju podataka.1 Ovo su osnovni problemi klasične poslovne obrade podataka koji su zahtevali bitnetehnološke promene. Od šezdesetih godina do danas, oblast sistema za upravljanje bazompodataka se veoma brzo razvija, tako da je danas dostigla potpunu zrelost. Sistem za upravljanjebazom podataka (Slika 1.2)2 je jedan složeni softverski sistem koji treba da omogući: • Skladištenje podataka sa minimumom redudanse; • Pouzdanost podataka i pri mogućim hardverskim i softverskim otkazima; • Pouzdano paralelno korišćenje zajedničkih podataka od strane više ovlašćenih korsnika; • Logičku i fizičku nezavisnost programa od podataka. Iako se, po pravilu, fizički podaci pamte samo jednom, svaki korisnik dobija svoju sopstvenu logičku sliku1 Lazarević B., Marjanović Z., Ančić N., Babarogić S., Baze podataka, FON, Beograd 2003, str. 2-3.2 Lazarević B., Marjanović Z., Ančić N., Babarogić S., Baze podataka, FON, Beograd 2003, str. 4. 3
  4. 4. podataka, strukturu i/ili kolekciju operacija nad njima, kakva njemu najviše odgovara. • Jednostavno komuniciranje sa bazom podataka preko jezika bliskih korisniku, to je tzv. upitni jezik, da bi se neprofesionalni korisnici lako uključili i uveli u razvoj informacionog sistema, a profesionalnim programerima značajno povećala produktivnost. Slika 1. Savremena obrada podataka – sistem za upravljanje bazom podataka Podaci su sada, umesto razbacani po nezavisnim datotekama, organizovani u jednostavnubazu podataka. Podaci sada postaju resurs u nekom sistemu i njima se upravlja na jednostavannačin isto kako se upravlja i sa drugim resursima poslovnih sistema. 4
  5. 5. 2. BAZA PODATAKA Baza podataka se može najopštije definisati kao zbirka podataka koja postoji relativnodugo i koju koristi i održava više korisnika, odnosno programa (aplikacija). Baza podataka služi za brzo pretraživanje i pristup, zajedno sa sistemom zaadministraciju, organizovanje i memorisanje tih podataka iz ugla koisnika. Korisnici pristupajubazi podataka prvenstveno preko upitnika. Korišćenjem ključnih reči i svsrstavanjem komandi,korisnici mogu brzo da pronađu, preurede, grupišu i odaberu oblast u mnogim zapisima kojetreba vratiti, ili pomoću kojih treba sastaviti izveštaje o naročitoj skupini podataka u skladu sapravilima dotičnog sistema vođenja baze podataka. Jednostavno rečeno, baza podataka je softwerska konstrukcija namenjena za analizu ipretraživanje grupe srodnih i povezanih podataka, kao što su podaci o kupcima, pacijentima,telefonskim brojevima i sl. Spomenuli smo da baze podataka predstavljaju veću zbirku rada sa podacima u odnosuna klasične programske jezike. Ta veća zbirka rada ogleda se u tome što tehnologija bazapodataka nastoji, i u velikoj meri uspeva, da ispuni sledeće ciljeve. Fizička nezavisnost podataka. Razdvaja se logička definicija baze od njene stvarnefizičke građe. Znači, ako se fizička građa promeni (na primer, podaci se prepišu u druge datotekena drugim diskovima), to neće zahtevati promene u postojaćim aplikacijama. Logička nezavisnost podataka. Razdvaja se globalna logička definicija cele bazepodataka od lokalne logičke definicije za jednu aplikaciju. Znači, ako se logička definicijapromeni (na primer, uvede se novi zapis ili veza), to neće zahtevati promene u postojaćimaplikacijama. Lokalna logička definicija obično se svodi na izdvajanje samo nekih elemenata izglobalne definicije, uz neke jednostavne transformacije tih elemenata. Fleksibilnost pristupa podacima. U starijim mrežnim i hijerarhijskim bazama, putpristupanja podacima bio je unapred definisan, dakle korisnik je mogao pretraživati podatkejedino onim redosledom koji je bio predviđen u vreme projektovanja i implementiranja baze.Danas se zahteva da korisnik može slobodno prebirati po podacima, te prema svom nahođenjuuspostavlja vezu među podacima. Ovom zahtevu zaista zadovoljavaju jedino relacijske baze. Istovremeni pristup do podataka. Baza mora omogućiti da veći broj korisnikaistovremeno koristi iste podatke. Pritom, ti korisnici ne smeju ometati jedan drugoga, svaki odnjih treba da radi sam sa bazom podataka. Čuvanje integriteta. Nastoji se automatski sačuvati korektnost i konzistencija podataka ito 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čajukvara hardvera ili grešaka u radu sistemskog softvera. 5
  6. 6. Zaštita od neovlašćenog korišćenja. Mora postojati mogućnost da se korisnicimaograniče prava korišćenja baze, dakle da se svakom korisniku regulišu ovlašćenja šta on sme daradi sa podacima, a šta ne sme da radi. Zadvoljavajuća brzina pristupa. Operacije s podacima moraju da se odvijaju dovoljnobrzo u skladu s potrebama određene aplikacije. Na brzinu pristupa može se uticati odabirompogodnih fizičkih struktura podataka, te izborom pogodnih algoritama za pretraživanje. Mogućnost podešavanja i kontrole. Velika baza zahteva stalnu brigu: praćenjeperfomansi, menjanje parametara u fizičkoj građi, rutinsko pohranjivanje rezervnih kopijapodataka, regulisanje ovlašćenja korisnika. Takođe, svrha baze se vremenom menja, papovremeno treba podesiti i logičku strukturu. Ovakvi poslovi moraju da se obavljajucentralizovano. Odgovorna osoba se zove administrator baze podataka. Administratoru trebajustajati na raspolaganju razni alati i pomagala. Danas baze podataka sadrže podatke različitih medijskih vrsta, pa se zato govori omultimedijskim podacima, a baze koje sadže takve podatke nazivaju se multimedijskim bazamapodataka. Pored tekstualnih podataka, tu su i podaci koji opisuju slike (nepokretne ili pokretne,kada govorimo o videozapisu) ili zvuk. Zavisno od vrste i namene podataka u bazi podataka, kaoi načinima korišćenja podataka, razlikujemo baze: 1. formativnih podataka, 2. neformativnih podataka i 3. baze znanja. Formativna baza podataka se najčešće koristi i to kroz relacijsku tabelu koju ćemokasnije objasniti. Današnje baze podataka su najčešće relacijske i široka je primena ovakvih bazapodataka. Neformativna baza podataka sadrži tekstualne ili različite multimedijske podatke.Ponekad se govori i o bazi dokumenata koja sadrži: stručne ili naučne članke, novinske tekstove,bibliografske podatke, ili druge tekstualne podatke, zatim slike, videozapise, zvukovne podatke isl.,a njih nije prikladno prikazivati u tabličnom obliku. U svetu postoji niz ovakvih bazapodataka i gotovo su redovno dostupne na Internetu, s tim što se neke od njih naplaćuju, jer je iinformacija danas roba, kao i svaka druga, čiju cenu određuje potražnja. Pronalaženjedokumenata iz baze podataka obavlja se navođenjem ključnih reči vezanih za naslov, autore, iliza sadržaj traženih dokumenata. Na Internetu postoje specijalizovani pretraživači kao što su,jedni od najboljih, Google i Yahoo, kao i drugi. Dokumenti su pri tome razasuti na raznimračunarima širom sveta, ali korisnik dolazi do istih na isti način, kao da se oni nalaze u jednojbazi podataka. Dakle, Internet predstavlja jednu nehomogenu bazu dokumenata koju je na ovajnačin moguće pretraživati. Baze znanja sadrže znanja prikazana u različitim oblicima. Tako prikazano znanje možese upotrebiti korišćenjem različitih mehanizama zaključivanja. Na ovaj način se na primer uekspertnim sistemima i drugim sistemima koji se temelje na znanju, mogu rešavati različiti 6
  7. 7. problemi, kao što su: dijagnoza uzroka grešaka u složenim sistemima, finansijska predviđanja,konfiguracija računarskih sistema, planiranje projekata, itd. Brigu o podacima, vezama među podacima, ispravnosti podataka i svemu ostalom nasebe preuzima sistem za upravljanje podacima u bazi podataka DBMS – Database ManagementSystems. To je jedan aspekt sa kojeg se pristupa izučavanje baza podataka, a drugi je modelipodataka, koji su međusobno povezani. • sistemi za upravljanje bazom podataka DBMS – specifična tehnologija obrade podataka, odnosno softverski sistem koji obezbeđuje osnovne funkcije obrade velike količine podataka: jednostavno pretraživanje i održavanje podataka, pouzdanost i sigurnost, paralelno korišćenje istog skupa podataka. • modeli podataka – specifične teorije pomoću kojih se specifikuje i projektuje neka konkretna baza podataka ili informacioni sistem, uopšte. I jedan i drugi aspekt imaju izuzetno veliki značaj za razvoj informacionih tehnologija.Istorijski, sistemi za upravljanje bazom podataka predstavljali su revoluciju u tehnologiji obradepodataka, a modeli podataka revoluciju u metodološkim pristupima razvoju informacionihsistem. Ako govorimo o organizaciji podataka, takodje je od velikog značaja kada želimo daradimo sa bazom podataka. Jedan od ključnih aspekata, dobrog kreiranja baze podataka jestekako će podaci biti organizovani u bazi podataka. Da bi postigli dobro kreiranu bazu podataka,podatke bi trebalo organizovati tako da su lako dostupni i da omogućavaju lako održavanje bazepodataka. 2.1. Modeli baze podataka Tehnologija baza podataka je znatno izmenila i unapredila metodologiju razvojainformacionih sistema. Informacioni sistem treba da omogući da se preko njega sagleda stanje iponašanje realnog sistema i da se na osnovu toga donesu odluke koje će sistem voditi kaostvarivanju postavljenih ciljeva. Zbog toga informacioni sistem treba da bude model realnogsistema u kome deluje, a razvoj informacionog sistema se u velikoj meri svodi na nalaženjeodgovarajućeg modela realnog sistema.3 Sistem se može definisati kao skup objekata (entiteta) i njihovih međusobnih veza.Objekti u sistemu su sve što neko modeluje i proglasi za objekat, a mogu biti fizički, koncepti,događaji i drugo. Objekti se u modelu nekog sistema opisuju preko svojih svojstava (atributa).Na slici 1.4 je prikazana ilustracija ove defenicije i na njoj se vidi da su objekti povezani kaoelementi u nekom organizacionom sistemu. Skup objekata koji predstavlja posmatrani sistemopisuje se preko ulaza u sistem, a odgovarajuće dejstvo sistema na okolinu, preko njegovihizlaza.3 Lazarević B., Marjanović Z., Ančić N., Babarogić S., Baze podataka, FON, Beograd 2003, str. 11. 7
  8. 8. Slika 2. SistemSistem ima i svoje stanje koje se menja pod dejstvom ulaza, a ova promena se reflektuje naizlaz. Stanje sistema se definiše kao skup informacija o prošlosti i sadašnjosti sistema koji jepotreban da bi se, pod dejstvom budućih poznatih ulaza, mogli odrediti budući izlazi. Stanjesistema opisuje fundamentalne karakteristike sistema, u jednom trenutku vremena onopredstavlja skup objekata sistema, skup njihovih međusobnih veza i skup vrednosti njihovihatributa u tom trenutku vremena. Svaki SUBP zasnovan je na nekom modelu podataka, mada postoje modeli, kao što jeModel objekti – veze, na primer, koji isključivo služe za projektovanje baza podataka. U ovomradu cemo se bazirati najviše na relacioni model, ali postoje i: 1. Model objekti – veze 2. Relacioni model 3. Objektni model 4. Objektno – relacioni model 5. Aktivne baze podataka 6. XML kao model podataka Centralizovana baza podataka poseduje sve međusobno povezane datoteke na jednojfizičkoj lokaciji. Centralizovane baze podataka na velikim, mainframe računarima predstavljajudominantan oblik baza podataka, u prvom redu zbog enormnih troškova drugih alternativa.Datoteke postižu veći stepen međusobne konzistentnosti ukoliko su sve smeštene na jednojlokaciji, pošto se lakše može upravljati promenama koje nastaju na nekima od njih. Datotekamase može pristupiti samo preko centralizovanog host računara, koji se lako može zaštiti odneautorizovanog pristupa. Takođe, ukoliko dođe do nekakvih neželjenih oštećenja datoteka,njihovo obnavljanje je lakše izvršiti sa centralne lokacije. Kao i svi centralizovani sistemi,centralizovana baza podataka trpi ogromne posledice ukoliko dođe do oštećenja dela njenihpodataka. Ukoliko se dogodi neka greška pri obradi podataka na računaru na kome se nalazicentralizovana baza podataka, svi korisnici trpe posledice. Pri tome, brzina pristupa podacima ječesto veliki problem kada su korisnici raspoređeni na prostorno velikim udaljenostima. Distribuirana baza podataka smešta kompletne kopije baze podataka, ili neke njenedelove, na više lokacija, koje su obično prostorno blizu korisnika (videti sliku 3). Postoje dvatipa distribuiranih baza podataka: replicirane i deljive. 8
  9. 9. Replicirane baze podataka sadrže kompletne kopije cele baze podataka na više lokacija,u prvom redu da bi se izbegle katastrofalne posledice od mogućih oštećenja podataka koje sukarakteristične za centralizovane baze podataka, kao i da bi se povećala brzina pristupapodacima. Postoji veliki problem u održavanju konzistentnosti između podataka koji se nalaze narepliciranim bazama podataka, prilikom dodavanja novih podataka, modifikovanja i brisanjapodataka. Deljive baze podataka su izdeljene, tako da svaka lokacija sadrži deo podataka iz celebaze podataka (obično deo podataka koji je potreban određenom korisniku). Ovakav tip bazapodataka obezbeđuje brz pristup podacima, bez potrebe za repliciranjem promena na višelokacija. 2.1.1. Relacioni model Relacioni model je teorijski zasnovao E.F.Codd krajem ’70-ih godina. Prve realizacije naračunaru bile su suviše spore i neefikasne. Razvojem računara efikasnost relacionih baza sepoboljšava, te u današnje vreme većina DBMS – ova koristi relacioni model. Termin relaciona baza podataka dolazi od činjenice da ona koristi relaciju (odnos)umesto datoteke. Relacija je tabela sastavljena od slogova. Unutar jedne tabele može postojatisamo jedna vrsta slogova ili entita. Relacione tabele pokazuju logičke, a ne fizičke odnose, azanemaruje redosled podataka, odnosno slogova uključenih u relaciju. Relacioni model odvajabazu podataka od operativnog sistema kao i od aplikacije. Kada se da zahtev za informacije,sistem napravi tabelu koja sadrži te informacije. Standardni programski jezik za izražavanjepristupa podacima i manipulaciju sa tabelama u relacionoj bazi podataka se naziva SQL(Structured Query Language). U ovom jeziku, pitanja na jednostavnom engleskom jeziku seautomatski prevode u SQL. U ovom slučaju, softverski program koji se zove Natural language(prirodni jezik) koji dozvoljava upite u ograničenoj formi prirodnog jezika, analizira korisnikovupit, prevodi ga u upit na SQL, prenosi SQL zahtev DBMS-u i daje na displeju podatkekorisniku. Cilj relacione baze podataka je da se što brže i jednostavnije dođe do traženog podatka.Kao kada želimo da nešto teško i složeno razumemo, obično ga delimo na male, logičke celine ipokusavamo da usredsredimo svu pažnju na pojedinačne delove. Tako isto i sa podacima,raščlanjuju se na manje delove sve do traženog podatka. Relaciona baza podataka je, prostorečeno, «kontejner» za te male delove i njihove međusobne veze. Relaciona baza podataka se sastoji od jedne ili više (dvodimenzionalnih) tabela kojemeđusobno mogu biti povezane. Svaka tabela čuva istvrsne podatke, kao na primer podatke onekoj osobi, predmetu i slično. Svaki red u tabeli predstavlja jedan slog u tabeli (najmanja grupapodataka u bazi koja u potpunosti opisuje neki od koncepata koje baza modelira), a svaka kolonajedno od polja unutar tog sloga. Dakle, slog može biti grupa podataka koja opisuje npr. nekuosobu, a polja unutar tog sloga mogu sadržati ime, prezime, adresu stanovanja, ili datum rođenjate osobe. Slog se u literaturi naziva entitet, a polje se naziva atribut. Svaki slog tabele se možejednostavno indentifikovati putem jedne ili kombinacijom vrednosti nekog od polja tog sloga. Topolje, ili kombinaciju polja, nazivamo primarni deo ili osnovni ključ. Tako neku osobu može 9
  10. 10. jednostavno indentifikovati pomoću matičnog broja ili kombinacija vrednosti polja imena iprezimena. U jednoj tabeli može postojati više polja ili kombinacija polja koji mogu biti kao primarniključ. Pored toga što primarni ključ ima ulogu jednostavnog indentifikovanja sloga, on igraulogu i u povezivanju tabela. Uzmimo da naša tabela ustvari predstavlja listu pisaca. Pored tetabele imamo i listu knjiga, te je potrebno ove dve tabele povezati kako bismo znali koji je pisacnapisao koju knjigu. Ako u slog knjige ubacimo polje koje sadrži vrednost primarnog ključapisca, ove dve tabele su povezane. Ovo novo polje, koje isključivo služi za povezivanje dvetabele, u tabeli se zove strani ključ. Ovakav način povezivanja podataka nazivamo relacionimodel baza podataka. O ovom modelu ce biti detaljnije opisano u nastavku seminarskog rada. Pre nego što damo primer relacione baze podataka, da objasnimo šta čini jednu tabelurelacione baze podataka. Atributi • Svaka kolona relacije sadrži vrednost jednog atributa, entiteta ili veze koja se prikazuje relacionom (tablicom); • Atribut ima svoje ime kojim se razlikuje od ostalih atributa; • Vrednost jednog atributa su podaci iste vrste ili tipa; • Skup vrednosti jednog atributa zovemo domenom atributa; • Vrednost atributa treba biti jednostruka i jednostavna, ne sme da se rastavlja na delove; • Toleriše se ponekad da vrednost atributa nije definisana ili upisana (ne ostaje); • Broj atributa je stepen relacije. n-torke • Jedan red relacije predstavlja primerak entiteta ili beleži vezu između dva ili više primeraka entiteta; • Primerak zovemo n-torka; • U jednoj relaciji ne mogu biti dve jednake n-torke; • Broj n-torki je kordinalnost relacije; • Relacija ne propisuje redosled svojih n-torki ili atributa. Permutacijom kolona ili reda dobija se drugi zapis, ali ista relacija. Ključ Ključ čine kolone čija je vrednost jednobrazna. Pomoću ključa se identifikuju atributi.Moguće je da postoji više skupova atributa koji zadovoljavaju navedena svojstva, pa se tadajedan od njih proglašava primarnim ključem. Skup atributa koji čine primarni ključ, zovu seprimarni atributi. Vrednost primarnog atributa ne bi ni u jednoj n-torki smela biti neupisana(nedefinisana)! 10
  11. 11. Entitet Entiteti su ključni objekti iz realnog sveta. • Svaki tip entiteta prikazuje se jednom relacijom; • Atributi entiteta postaju atributi relacije; • Pojedini primerci entiteta prikazuje se n-torkama relacije; • Primarni ključ entiteta postaje primarni ključ relacije; • Postojanje veza s drugim entitetima može zahtevati dodavanje još nekih atributa; Npr. entitet STUDENT postaje relacija: STUDENT (indeks, ime, adresa, pol, ...). 2.1.2. Kreiranje relacione baze podataka U fazi projektovanja logičkog modela baze podataka, koristi se dijagram entiteta i veza(engl. entity-relationship diagram, ER diagram). ER dijagram se sastoji od entiteta, atributa iveza. Pravougaonicima su prikazani entiteti, ovalnim elementima su prikazani atributi, aromboidima su prikazane veze. Lista atributa za svaki entitet je prikazana pored prikaza entiteta. Entitet predstavlja osobu, proces ili događaj iz korisničkog okruženja. Posmatrajmoprimer baze podataka fakulteta. STUDENT i PROFESOR predstavljaju primere entiteta. Entitetiodređenog tipa se grupišu u klase entiteta. Instancu nekog entiteta predstavlja reprezentacijaodređenog entiteta. Tako, na primer, Marko Marković predstavlja jednu instancu entitetaSTUDENT (tj. predstavlja jednog konkretnog studenta). Entiteti imaju atribute, ili osobine, koji opisuju karakteristike entiteta. U primeru bazepodataka fakulteta, atributi za STUDENTA bi mogli biti BROJ INDEKSA, IME i ADRESA.Primeri atributa za PROFESORA bi bili ŠIFRA PROFESORA, IME i KATEDRA. Instance entiteta imaju identifikatore, tj. atribute koji služe za jednoznačno određivanjeinstance entiteta. Na primer, identifikator za instance STUDENTA predstavlja BROJ INDEKSA.Identifikatori se podvlače u ER dijagramu. 11
  12. 12. 1 1 Student Može Parking dozvola imati Jedan student može slušati više kurseva M Jedan student može Jednu parking dozoiu Može imati samo jednu može imati tačno slušati parking dozvolu jedan student Jedan kurs može slušati više studenata M Kurs Jedan kurs može držati samo jedan profesor 1 Može držati Jedan profesor može držati M više kurseva Profesor Slika 3. ER dijagram Entiteti su povezani jedni sa drugima pomoću veza, koje mogu uključivati veći brojentiteta. Broj entiteta u vezi predstavlja stepen veze. Veze stepena 2 se nazivaju binarne veze. Postoje tri tipa binarnih veza: 1:1, 1:M, M:M. • U 1:1 (jedan-prema-jedan) vezi jedna instanca prvog entiteta je u vezi sa tačno jednom instancom drugog tipa. Na slici 5 vidimo vezu STUDENT-PARKING DOZVOLA kao vezu tipa 1:1, koja povezuje jednog studenta sa tačno jednom dozvolom za parking. Dakle, nijedan student nema više od jedne dozvole za parking, niti jedna dozvola za parking može da se dodeli više od jednom studentu. • Drugi tip veze, 1:M (jedan-prema-više) predstavljen je na primeru veze KURS- PROFESOR. Ova veza znači da jedan profesor može držati više kurseva, ali jedan određeni kurs drži jedan određeni pofesor. • Treći tip veze, M:M (više-prema-više) predstavljen je na primeru veze STUDENT- KURS. Ova veza znači da jedan student može slušati veći broj kurseva, a da jedan kurs sluša veći broj studenata. ER dijagrami se u sledećoj fazi projektovanja baze podataka prebacuju u tabele.Dijagrami pomažu u razumevanju odnosa koji vladaju među podacima i olakšavaju procesprojektovanja tabela. 12
  13. 13. 2.2. Sistemi za upravljanje bazama podataka Program (ili grupa programa) koji omogućavaju pristup bazama podataka su poznati podimenom sistemi za upravljanje bazama podataka, SUBP (engl. database management system,DBMS). SUBP omogućavaju organizacijama da centralizuju podatke, da efikasno upravljajunjima i omogućavaju pristup podacima u bazi pomoću aplikacionih programa. SUBP deluje kaointerfejs između aplikativnih programa i samih podataka i obezbeđuju alate pomoću kojihkorisnici mogu da dodaju nove, brišu postojeće, održavaju, štampaju, pretražuju, selektuju,sortiraju i modifikuju podatke. Sistemi za upravljanje bazama podataka omogućavaju da više korisnika deli podatke.Međutim, kako postoji veliki broj različitih korisnika, tako su i njihovi zahtevi ka podacima kojise nalaze u bazi različiti. Kako omogućiti da jedna baza zadovolji potrebe različitih korisnika?Na primer, kako koncipirati bazu podataka tako da radnici u prodaji mogu da vide samo podatkeiz baze vezane za kupce i magacin, dok radnicima iz odeljenja ljudskih resursa treba ograničitipristup isključivo ka ličnim podacima zaposlenih? Sistemi za upravljanje bazama podataka rešavaju ove i slične probleme tako štoobezbeđuju dva pogleda na podatke u bazi: fizički i logički pogled. Fizički pogled sadrži podatkeo tome gde i na koji način su podaci zaista smešteni. Korisnici baze podataka, međutim, ne trebada se opterećuju takvim detaljima. Na kraju krajeva, korisnika baze podataka interesuje kako dakoristi informacije, a ne na koji način su one smeštene. Logički pogled, ili korisnički pogled,predstavlja podatke u formatu koji je koristan za korisnika. Dakle, ovaj pogled saopštavakorisniku šta se od podataka nalazi u bazi. Jedna od prednosti SUBP je da (mada uvek postoji samo jedan fizički pogled podataka)obezbeđuje postojanje većeg broja različitih logičkih pogleda – pa čak i po jedan za svakogpojedinačnog korisnika, ako je to potrebno. Ova karakteristika omogućava da korisnik koristipodatke u bazi, a da pri tom ne vodi računa o raznim tehničkim pitanjima vezanim za podatke(kako fizički pristupiti podacima i slično). 13

×