domaći rad 1

19
DOMAĆI RAD (datum 17.02.2011.) Tema: Baza podataka Predmet: UPRAVLJANJE ISTRAŽIVANJEM I RAZVOJEM Prof. dr Vukašin Ilić

Upload: tanjavs

Post on 24-May-2015

2.814 views

Category:

Education


5 download

DESCRIPTION

baza podataka

TRANSCRIPT

Page 1: Domaći rad 1

DOMAĆI RAD(datum 17.02.2011.)

Tema: Baza podataka

Predmet: UPRAVLJANJE ISTRAŽIVANJEM I RAZVOJEMProf. dr Vukašin Ilić

Tanja DamnjanovićBroj indeksa: 044/07/13

Page 2: Domaći rad 1

UVOD

Najranija poznata upotreba termina baza podataka potiče iz 1963. godine, a kao jedinstvena reč postala je u ranim ‘70 – im godinama, u Evropi. Prvi sistemi upravljanja baze podataka razvili su se ’60 – ih godina, kao što je pomenuto. Začetnik u tom polju je bio Charles Bachman. Bachmanovi rani radovi pokazuju da je njegov cilj bio stvaranje delotvorne upotrebe novih 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 to vreme. CODASYL je razvio mrežni model baziran na Bachmanovim idejama, te se hijerahjiski model koristio u sistemu koji je razvio North American Rockwell, a kojeg je kasnije prihvatio IBM.

Pre svega, treba pomenuti da je bila prvo ručna obrada podataka. Zatim, pojavom PS dolazi se do klasične obrade podataka gde se svaki poslovni informacioni sistem sastoji iz funkcionalnih jedinica, a svaka funkcionalna jedinica ima posebnu obradu podataka. Daljim razvitkom tehnologije dolazi se do baza podataka koja predstavlja najsloženiji oblik strukture baze podataka i koriste je svi procesi.

Prve primene mašina za računanje su ustavri bile implementacije jednostavnih baza podataka. 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 popisu stanovniš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, a radilo ručnim prespajanjem kontakata. Dotadašnja obrada podataka popisa trajala je 10 – ak godina, a sa Holerithovim izumom vreme obrade bilo je smanjeno na šest nedelja. Tako je popis stanovništva iz 1890. godine bio prva automatizovana baza podataka, koja se u suštini sastojala od 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čeli su se pojavljivati primitivni elektronski računari. Oni su se često koristili upravo za jednostavne linearne baze podataka, najčešće za računovodstvo. Ipak, vrlo brzo, bogati kupci su počeli da zahtevaju više od njihovih ekstremno skupih mašina. Sve je to vodilo do ranih relacionih baza podataka. Zanimljivo, ove rane aplikacije su nastavile da koriste Holerithove bušene kartice, neznatno modifikovane u odnosu na orifinalni dizajn. Nefleksibilnost polja iste dužine, baze podataka 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 baze podataka. Za razliku od modernih sistema koji mogu biti primenjeni na potpuno različite baze podataka, ovi sistemi su bili usko povezani za bazu podataka da bi osigurali brzinu na uštrb fleksibilnosti.

2

Page 3: Domaći rad 1

1. KLASIČNA OBRADA PODATAKA

Klasična obrada podataka je obrada gde se kod svake funkcionalne jedinice vršila posebna 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 bitne tehnološke promene. Od šezdesetih godina do danas, oblast sistema za upravljanje bazom podataka se veoma brzo razvija, tako da je danas dostigla potpunu zrelost. Sistem za upravljanje bazom 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 sliku

1 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

Page 4: Domaći rad 1

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 jednostavnu bazu podataka. Podaci sada postaju resurs u nekom sistemu i njima se upravlja na jednostavan način isto kako se upravlja i sa drugim resursima poslovnih sistema.

4

Page 5: Domaći rad 1

2. BAZA PODATAKA

Baza podataka se može najopštije definisati kao zbirka podataka koja postoji relativno dugo 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 za administraciju, organizovanje i memorisanje tih podataka iz ugla koisnika. Korisnici pristupaju bazi 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 koje treba vratiti, ili pomoću kojih treba sastaviti izveštaje o naročitoj skupini podataka u skladu sa pravilima dotičnog sistema vođenja baze podataka.

Jednostavno rečeno, baza podataka je softwerska konstrukcija namenjena za analizu i pretraž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 odnosu na klasične programske jezike. Ta veća zbirka rada ogleda se u tome što tehnologija baza podataka nastoji, i u velikoj meri uspeva, da ispuni sledeće ciljeve.

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 promeni (na primer, podaci se prepišu u druge datoteke na drugim diskovima), to neće zahtevati promene u postojaćim aplikacijama.

Logička nezavisnost podataka. Razdvaja se globalna logička definicija cele baze podataka od lokalne logičke definicije za jednu aplikaciju. Znači, ako se logička definicija promeni (na primer, uvede se novi zapis ili veza), to neće zahtevati promene u postojać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, put pristupanja podacima bio je unapred definisan, dakle korisnik je mogao pretraživati podatke jedino 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đenju uspostavlja vezu među podacima. Ovom zahtevu zaista zadovoljavaju jedino relacijske baze.

Istovremeni pristup do podataka. Baza mora omogućiti da veći broj korisnika istovremeno koristi iste podatke. Pritom, ti korisnici ne smeju ometati jedan drugoga, svaki od njih treba da radi sam sa bazom podataka.

Čuvanje integriteta. Nastoji se automatski sačuvati korektnost i konzistencija 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.

5

Page 6: Domaći rad 1

Zaštita od neovlašćenog korišćenja. Mora postojati mogućnost da se korisnicima ograniče prava korišćenja baze, dakle da se svakom korisniku regulišu ovlašćenja šta on sme da radi sa podacima, a šta ne sme da radi.

Zadvoljavajuća brzina pristupa. Operacije s podacima moraju da se odvijaju dovoljno brzo u skladu s potrebama određene aplikacije. Na brzinu pristupa može se uticati odabirom pogodnih fizičkih struktura podataka, te izborom pogodnih algoritama za pretraživanje.

Mogućnost podešavanja i kontrole. Velika baza zahteva stalnu brigu: praćenje perfomansi, menjanje parametara u fizičkoj građi, rutinsko pohranjivanje rezervnih kopija podataka, regulisanje ovlašćenja korisnika. Takođe, svrha baze se vremenom menja, pa povremeno treba podesiti i logičku strukturu. Ovakvi poslovi moraju da se obavljaju centralizovano. Odgovorna osoba se zove administrator baze podataka. Administratoru trebaju stajati na raspolaganju razni alati i pomagala.

Danas baze podataka sadrže podatke različitih medijskih vrsta, pa se zato govori o multimedijskim podacima, a baze koje sadže takve podatke nazivaju se multimedijskim bazama podataka. 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, kao i 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 ćemo kasnije objasniti. Današnje baze podataka su najčešće relacijske i široka je primena ovakvih baza podataka.

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 i sl.,a njih nije prikladno prikazivati u tabličnom obliku. U svetu postoji niz ovakvih baza podataka i gotovo su redovno dostupne na Internetu, s tim što se neke od njih naplaćuju, jer je i informacija danas roba, kao i svaka druga, čiju cenu određuje potražnja. Pronalaženje dokumenata iz baze podataka obavlja se navođenjem ključnih reči vezanih za naslov, autore, ili za 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 raznim računarima širom sveta, ali korisnik dolazi do istih na isti način, kao da se oni nalaze u jednoj bazi podataka. Dakle, Internet predstavlja jednu nehomogenu bazu dokumenata koju je na ovaj način moguće pretraživati.

Baze znanja sadrže znanja prikazana u različitim oblicima. Tako prikazano znanje može se upotrebiti korišćenjem različitih mehanizama zaključivanja. Na ovaj način se na primer u ekspertnim sistemima i drugim sistemima koji se temelje na znanju, mogu rešavati različiti

6

Page 7: Domaći rad 1

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 na sebe preuzima sistem za upravljanje podacima u bazi podataka DBMS – Database Management Systems. To je jedan aspekt sa kojeg se pristupa izučavanje baza podataka, a drugi je modeli podataka, 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 obrade podataka, a modeli podataka revoluciju u metodološkim pristupima razvoju informacionih sistem.

Ako govorimo o organizaciji podataka, takodje je od velikog značaja kada želimo da radimo sa bazom podataka. Jedan od ključnih aspekata, dobrog kreiranja baze podataka jeste kako ć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 baze podataka.

2.1. Modeli baze podataka

Tehnologija baza podataka je znatno izmenila i unapredila metodologiju razvoja informacionih sistema. Informacioni sistem treba da omogući da se preko njega sagleda stanje i ponašanje realnog sistema i da se na osnovu toga donesu odluke koje će sistem voditi ka ostvarivanju postavljenih ciljeva. Zbog toga informacioni sistem treba da bude model realnog sistema u kome deluje, a razvoj informacionog sistema se u velikoj meri svodi na nalaženje odgovarajuć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 kao elementi u nekom organizacionom sistemu. Skup objekata koji predstavlja posmatrani sistem opisuje se preko ulaza u sistem, a odgovarajuće dejstvo sistema na okolinu, preko njegovih izlaza.

3 Lazarević B., Marjanović Z., Ančić N., Babarogić S., Baze podataka, FON, Beograd 2003, str. 11.

7

Page 8: Domaći rad 1

Slika 2. Sistem

Sistem ima i svoje stanje koje se menja pod dejstvom ulaza, a ova promena se reflektuje na izlaz. Stanje sistema se definiše kao skup informacija o prošlosti i sadašnjosti sistema koji je potreban da bi se, pod dejstvom budućih poznatih ulaza, mogli odrediti budući izlazi. Stanje sistema opisuje fundamentalne karakteristike sistema, u jednom trenutku vremena ono predstavlja skup objekata sistema, skup njihovih međusobnih veza i skup vrednosti njihovih atributa u tom trenutku vremena.

Svaki SUBP zasnovan je na nekom modelu podataka, mada postoje modeli, kao što je Model objekti – veze, na primer, koji isključivo služe za projektovanje baza podataka. U ovom radu cemo se bazirati najviše na relacioni model, ali postoje i:

1. Model objekti – veze2. Relacioni model 3. Objektni model4. Objektno – relacioni model5. Aktivne baze podataka6. XML kao model podataka

Centralizovana baza podataka poseduje sve međusobno povezane datoteke na jednoj fizičkoj lokaciji. Centralizovane baze podataka na velikim, mainframe računarima predstavljaju dominantan 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 jednoj lokaciji, pošto se lakše može upravljati promenama koje nastaju na nekima od njih. Datotekama se može pristupiti samo preko centralizovanog host računara, koji se lako može zaštiti od neautorizovanog 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 njenih podataka. Ukoliko se dogodi neka greška pri obradi podataka na računaru na kome se nalazi centralizovana 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 njene delove, na više lokacija, koje su obično prostorno blizu korisnika (videti sliku 3). Postoje dva tipa distribuiranih baza podataka: replicirane i deljive.

8

Page 9: Domaći rad 1

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 su karakteristične za centralizovane baze podataka, kao i da bi se povećala brzina pristupa podacima. Postoji veliki problem u održavanju konzistentnosti između podataka koji se nalaze na repliciranim bazama podataka, prilikom dodavanja novih podataka, modifikovanja i brisanja podataka.

Deljive baze podataka su izdeljene, tako da svaka lokacija sadrži deo podataka iz cele baze podataka (obično deo podataka koji je potreban određenom korisniku). Ovakav tip baza podataka obezbeđuje brz pristup podacima, bez potrebe za repliciranjem promena na više lokacija.

2.1.1. Relacioni model

Relacioni model je teorijski zasnovao E.F.Codd krajem ’70-ih godina. Prve realizacije na računaru bile su suviše spore i neefikasne. Razvojem računara efikasnost relacionih baza se poboljš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 postojati samo jedna vrsta slogova ili entita. Relacione tabele pokazuju logičke, a ne fizičke odnose, a zanemaruje redosled podataka, odnosno slogova uključenih u relaciju. Relacioni model odvaja bazu 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žavanje pristupa podacima i manipulaciju sa tabelama u relacionoj bazi podataka se naziva SQL (Structured Query Language). U ovom jeziku, pitanja na jednostavnom engleskom jeziku se automatski 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 korisnikov upit, prevodi ga u upit na SQL, prenosi SQL zahtev DBMS-u i daje na displeju podatke korisniku.

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 i pokusavamo 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, prosto rečeno, «kontejner» za te male delove i njihove međusobne veze.

Relaciona baza podataka se sastoji od jedne ili više (dvodimenzionalnih) tabela koje međusobno mogu biti povezane. Svaka tabela čuva istvrsne podatke, kao na primer podatke o nekoj osobi, predmetu i slično. Svaki red u tabeli predstavlja jedan slog u tabeli (najmanja grupa podataka u bazi koja u potpunosti opisuje neki od koncepata koje baza modelira), a svaka kolona jedno od polja unutar tog sloga. Dakle, slog može biti grupa podataka koja opisuje npr. neku osobu, a polja unutar tog sloga mogu sadržati ime, prezime, adresu stanovanja, ili datum rođenja te osobe. Slog se u literaturi naziva entitet, a polje se naziva atribut. Svaki slog tabele se može jednostavno indentifikovati putem jedne ili kombinacijom vrednosti nekog od polja tog sloga. To polje, ili kombinaciju polja, nazivamo primarni deo ili osnovni ključ. Tako neku osobu može

9

Page 10: Domaći rad 1

jednostavno indentifikovati pomoću matičnog broja ili kombinacija vrednosti polja imena i prezimena.

U jednoj tabeli može postojati više polja ili kombinacija polja koji mogu biti kao primarni ključ. Pored toga što primarni ključ ima ulogu jednostavnog indentifikovanja sloga, on igra ulogu i u povezivanju tabela. Uzmimo da naša tabela ustvari predstavlja listu pisaca. Pored te tabele imamo i listu knjiga, te je potrebno ove dve tabele povezati kako bismo znali koji je pisac napisao koju knjigu. Ako u slog knjige ubacimo polje koje sadrži vrednost primarnog ključa pisca, ove dve tabele su povezane. Ovo novo polje, koje isključivo služi za povezivanje dve tabele, u tabeli se zove strani ključ. Ovakav način povezivanja podataka nazivamo relacioni model 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 tabelu relacione 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 tada jedan od njih proglašava primarnim ključem. Skup atributa koji čine primarni ključ, zovu se primarni atributi. Vrednost primarnog atributa ne bi ni u jednoj n-torki smela biti neupisana (nedefinisana)!

10

Page 11: Domaći rad 1

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 i veza. Pravougaonicima su prikazani entiteti, ovalnim elementima su prikazani atributi, a romboidima 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. Posmatrajmo primer baze podataka fakulteta. STUDENT i PROFESOR predstavljaju primere entiteta. Entiteti određenog tipa se grupišu u klase entiteta. Instancu nekog entiteta predstavlja reprezentacija određenog entiteta. Tako, na primer, Marko Marković predstavlja jednu instancu entiteta STUDENT (tj. predstavlja jednog konkretnog studenta).

Entiteti imaju atribute, ili osobine, koji opisuju karakteristike entiteta. U primeru baze podataka 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đivanje instance entiteta. Na primer, identifikator za instance STUDENTA predstavlja BROJ INDEKSA. Identifikatori se podvlače u ER dijagramu.

11

Page 12: Domaći rad 1

Slika 3. ER dijagram

Entiteti su povezani jedni sa drugima pomoću veza, koje mogu uključivati veći broj entiteta. 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 proces projektovanja tabela.

12

1Student

Kurs

Profesor

Može slušati

Može držati

Može imati

Jedan student može slušati više kurseva

Jedan kurs može slušati više studenata

Jedan kurs može držati samo jedan profesor

Jedan profesor može držati više kurseva

M

M

M

1

Parking dozvola

Jedan student može imati samo jednu parking dozvolu

1

Jednu parking dozoiu može imati tačno jedan student

Page 13: Domaći rad 1

2.2. Sistemi za upravljanje bazama podataka

Program (ili grupa programa) koji omogućavaju pristup bazama podataka su poznati pod imenom sistemi za upravljanje bazama podataka, SUBP (engl. database management system, DBMS). SUBP omogućavaju organizacijama da centralizuju podatke, da efikasno upravljaju njima i omogućavaju pristup podacima u bazi pomoću aplikacionih programa. SUBP deluje kao interfejs između aplikativnih programa i samih podataka i obezbeđuju alate pomoću kojih korisnici 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 koji se 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 podatke iz baze vezane za kupce i magacin, dok radnicima iz odeljenja ljudskih resursa treba ograničiti pristup isključivo ka ličnim podacima zaposlenih?

Sistemi za upravljanje bazama podataka rešavaju ove i slične probleme tako što obezbeđuju dva pogleda na podatke u bazi: fizički i logički pogled. Fizički pogled sadrži podatke o tome gde i na koji način su podaci zaista smešteni. Korisnici baze podataka, međutim, ne treba da se opterećuju takvim detaljima. Na kraju krajeva, korisnika baze podataka interesuje kako da koristi 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štava korisniku š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 svakog pojedinačnog korisnika, ako je to potrebno. Ova karakteristika omogućava da korisnik koristi podatke 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