You are on page 1of 170

Prof.

dr Lazo Roljić

Dr Lazo Roljic

1
07/30/16

Poslovni vs. Informacioni sistem
 Za

funkcionisanje nekog poslovnog
sistema neophodno je prikupljanje
informacija o okolini u kojoj sistem djeluje,
kao i informacija o uslovima koji vladaju u
samom sistemu, jer se na osnovu njih vrši
dokumentovanje i informisanje i donose se
upravljačke odluke. Obezbjeđivanje ovih
informacija vrši se pomoću drugog sistema
(ili podsistema) koji se naziva informacioni
sistem.

Dr Lazo Roljić

2
07/30/16

 Da

bi mogao da obavlja svoju funkciju svaki
informacioni sistem mora da obezbijedi
prikupljanje, obradu, čuvanje, manipulisanje,
distribuciju i zaštitu podataka.
 Bez obzira da li se radi o klasičnom
konceptu (kartoteke) ili računarski
podržanom konceptu (PC, mreža računara i
koncept relacione baze podataka i SUBP),
svaki informacioni sistem mora da sadrži
nabrojane funkcije.

Slijedi Tabela 2: Poznati softverski paketi za rad s bazama podataka
Dr Lazo Roljic

3
07/30/16

Dr Lazo Roljic 4 07/30/16 . manipulisanje. kako ga ja objašnjavam: “IS je kolekcija ljudi.”  Roljić. zaštitu i izdavanje podataka i informacija. Đ.: INFORMACIJESISTEMI-UPRAVLJANJE. Uostalom. 2012. obradu. to proističe i iz definicije pojma IS . Mikić. metoda i tehnika koji na organizovani način efikasno i svrsishodno obavljaju (6): prikupljanje. čuvanje.. L.

Dr Lazo Roljic 5 07/30/16 .

07/30/16 . Teradata NCR corp. FileMaker iz Apple FrontBase IMS IBM Informix IBM iz Informix Ingres Computer Associates InterBase Borland MS SQL Server Microsoft MS Access Microsoft Mimer SQL Mimer AB Oracle Oracle corp.R-SUBP primjeri Open Source Berkeley DB Sleepycat sw Dataman DBM Emdros Firebird DB Firebird SQL fundation iz InterBase GigaBase GT. Ovrimos Pervasive SQL Progress RDBMS Progress SW Corp.M HSQL DB Engine HyperNetDB MaxDB iz SAP DB iz Adabas Metakit MySQL MySQL AB Ozone PostgreSQL PostgreSQL Global Develop. 6 TimesTen TimesTen inc. Group SQLite public domain tdbengine Zope Dr Lazo Roljic Closed source 4th Dinemsion 4D SA ADABAS Software AG AskSam Btrieve DB2 IBM Cache InterSystems FileMaker pro. SESAM Sybase Sybase inc.

0 97 1980 do 2001 je število BP naraslo preko 4000x .1 2.0 win  7 / 42 1.Desktop BP   Ashton Tate (1979) ponudi na trgu dBase II V 80-ih so najbolj uporabljeni: – dBase – Paradox – ForPro (kupi Borland) (v lasti Borlanda) (kupi Microsoft)  Microsoft izdela prvi desktop R-DBMS za okolje Windows 1992 izzide MS Access 1.0 za 99$  Trenutno je MS Access najpopularnejši  1.

Desktop BP  Prednosti – Funkcionišu na personalnim računarima – Korisnički interfejsi su jednostavni – Nisu potrebna posebna znanja (možda osnovno o SQL) – Relacioni model je jednostavan jski . efikasan – Jeftina  Slabosti – Obično nizak nivo zaštite. čak iako omogućuju izradu Web sajtova – Za manji broj korisnika-transakcija 8 .

bila kočnica ili uzrok njegovoj sporoj i nedovoljnoj primjeni do sada u praksi. što je. Za uspješnu primjenu Accessa potrebno je izvjesno poznavanje principa projektovanja relacionih baza podataka. Dr Lazo Roljic 9 07/30/16 . vjerovatno.

Ovaj postupak naziva se modeliranje podataka. Dr Lazo Roljic 10 07/30/16 . Svrha modela podataka je izrada logičkog predstavnika strukture podataka koji se koristi za izradu baze podataka. Prvi korak u projektovanju baze podataka je da utvrdimo koje objekte treba da predstavimo u bazi podataka i koja (svojstva) obilježja da uključimo.

 Pod modelom podataka podrazumijevamo reprezentaciju nekih objekata i odnosa između njih. Svrha modela podataka je izrada logičkog predstavnika strukture podataka koji se koristi za izradu baze podataka. 11 07/30/16 .

U upravljanje podacima spada:  Dizajniranje podataka informacionog sistema  Održavanje podataka informacionog sistema 12 07/30/16 .

Dizajniranje (projektovanje) podataka Rezultat dizajniranja (projektovanja) podataka je model podataka Model podataka je:  opis podataka na formalan način (jednoznačno čitljiv)  odgovarajuće dostupan svim korisnicima (katalog podataka organizacije) Dr Lazo Roljic 13 07/30/16 .

Dr Lazo Roljic 14 07/30/16 .

Dr Lazo Roljic 15 07/30/16 .

Pa, šta onda baza podataka?
 Baza

podataka je organizovana i uređena
cjelina međusobno povezanih podataka
sačuvanih bez nepotrebne redundancije ili
ponavljanja.
 Jedna od mogućih definicija baze podataka
glasi: to je zbirka slogova podataka sačuvanih
u računaru na sistemski način, takav da joj se
računarski program može obratiti prilikom
odgovaranja na problem.

16
07/30/16

 Baza

podataka može biti formirana tako da se
svi podaci smještaju u jednu tabelu (prosta
baza podataka, Excel Worksheet-više liči na
listu) ili da se izvrši grupisanje srodnih
podataka u više različitih tabela (relaciona
baza podataka).
 Relaciona baza podataka formira se iz više
tabela u kojima se smještaju srodni podaci i
vrši se uspostavljanje odgovarajućih relacija
između tih tabela. Relaciona baza podataka
smješta sve podatke u tabele.

17
07/30/16

 Sve

operacije nad podacima se izvode nad
samim tabelama (stalne) ili se proizvode
nove tabele (privremene).
 Redovi tabele analogni su slogu ili zapisu, a
kolone polju.
 Skladištenje podataka u više različitih tabela
ima značajne prednosti ukoliko se želi pratiti
veliki broj osoba, širok dijapazon robe, popis
inventara i sl.
18
07/30/16

 Podaci su logički organizovani po nekom modelu.  Model čini osnovu za osmišljavanje. Dr Lazo Roljic 19 07/30/16 . definisanje i implementiranje baze podataka.

 Današnji DBMS podržavaju jedan od tri specifična modela podataka. što opredjeljuje strukturisanje dizajna i način na koji se mogu reprezentovati odnosi između entiteta. 20 07/30/16 .

 .Ta tri modela su:  . a lukovi među čvorovima definišu veze među podacima 21 07/30/16 .mrežni model podataka.  .relacioni model podataka. Sistem datoteka na Unixu).hijerarhijski model podataka. zasnovan je na matematičkom pojmu relacije. Većina savremenih baza podataka služi se ovim modelom. Podaci i veze među podacima se prikazuju preko dvodimenzionalnih tabela. Čine ga hijerarhijski organizovani podaci (npr. Može se predstaviti usmjerenim grafom u kojem su čvorovi podaci.

Relacioni model: 22 07/30/16 .

Dr Lazo Roljic 23 07/30/16 .

UNIX-u itd. DOS-u.Hijerarhijski model: Na primjer: Sistem datoteka u Linux-u. 24 07/30/16 .

Hijerarhijski model: 25 07/30/16 .

Mrežni model: Skica podataka o registrovanim autima 26 07/30/16 .

Relationship) i jednog niza operacija za izdvajanje pojedinih kolona i redova u cilju formiranja novih tabela”. 27 07/30/16 .  Relacije u relacionoj bazi podataka formira i održava SUBP–sistem za upravljanje bazama podataka.Za definisanje relacione baze podataka koristićemo slijedeću definiciju:  “Relaciona baza podataka je skup dvodimenzionalnih tabela međusobno povezanih relacijama (vezama-od engl.

te ga promatrati (prikupljati informacije o njemu). BAZA se sastoji od objekata koje nazivamo entitetima (mogu biti realni i apstraktni)  Entitet je objekat (element) koji možemo jednoznačno odrediti i na taj način izdvojiti iz okoline (odnosno prepoznati u skupu). 28 07/30/16 .

izvedeni entitet) 29 07/30/16 . properties). Entitet posjeduje svojstva (osobine-engl. Opis jednoga svojstva sastoji se od atributa i vrijednosti atributa.  Dva ili više entiteta mogu biti u različitim međusobnim odnosima  Svaki takav odnos posjeduje vlastita svojstva i poseban je entitet (tzv.

. U RDBMS relacija (veza) je nešto drugo. a vezano je za prevod riječi: Relation (relacija) i Relationship (veza). presjek. 30 07/30/16 .. razlika.) i tabela (matrični oblik skupa podataka) naziva se relacija.U relacionoj algebri: skup operatora (unija.

zrno pijeska (ili nemamo interesa) 31 07/30/16 .Entitet:  bilo šta o čemu je moguće razmišljati  bilo šta o čemu možemo prikupljati informacije Entitet je ono što možemo jednoznačno odrediti i na taj način ga izdvojiti (prepoznati) u skupu ili iz okoline u kojoj se nalazi. ? šta ne možemo. npr.

težina... 32 07/30/16 .  Atribut (npr.. 78kg. 175cm. boja.) je drugi element opisa osobine. Entiteti posjeduju osobine (svojstva)  Opis jedne osobine sastoji se od atributa (naziv osobine) i vrijednosti atributa (vrijednosti osobine).  Vrijednosti atributa (npr.. zelena. visina.) je element kojim je jednoznačno određena vrsta osobine.

 Osobine koje entitet posjeduje mogu se mijenjati zavisno od vremena ili od nekog drugog parametra.. umjesto starosti neke osobe memorišemo godinu rođenja)  Na osnovu osobina koje posjeduju.  Takve osobine (izračunate veličine) ne memorišemo u bazi podataka (npr. odnosno vrijednosti atributa tih osobina. entitete možemo svrstati u skupove (npr. svi radnici jedne firme. svi predmeti koji se koriste u iste svrhe..) 33 07/30/16 .

vrijednost atributa šifra_radnik jednoznačno određuje radnika u firmi) --> karakteristična svojstva entiteta Dr Lazo Roljic 34 07/30/16 . biće elementi skupa  Neka od osobina entiteta su takva da vrijednosti njihovog atributa jednoznačno određuju entitet u posmatranom skupu (npr. pomoću koga je skup definisan. Svi entiteti koji posjeduju osobine odnosno vrijednosti atributa osobina.

Entitet Atributi MAT_BROJ PREZIME Vrijednost atributa 100998211114 PETAR PETROVIC IME 3 STUDENT GOD_STUDIJ A Slika : Grafièki prikaz skupa entiteta tipa STUDENT Dr Lazo Roljic 35 07/30/16 .

Ovakav način prikazivanja nekog entiteta nazivamo šemom baze podataka.Na prethodnoj slici prikazani su:  Objekat (student) i (ispod) tabela Student  Svojstva (atributi) objekta (linije) i  Vrijednosti atributa (svojstava). Dr Lazo Roljic 36 07/30/16 .

Naziv vrste svojstva nekog entiteta .element informacije kojim je jednoznačno određena vrsta svojstava . BOJA).ona svojstva entiteta koja bilježimo o svakom entitetu npr. (VISINA. TEŽINA. ŠIRINA. Atribut (ili naziv atributa) je imenovana kolona tabele. Dr Lazo Roljic 37 07/30/16 . Definiše se određivanjem tipa i raspona vrijednosti koje smije poprimiti.

npr. (175 cm. 78 kg. Dr Lazo Roljic 38 07/30/16 .12 cm.  Skup dopuštenih (mogućih) instanci atributa nazivamo: domen atributa. ZELENA). Sve vrijednosti atributa moraju biti istog tipa. Vrijednost atributa Drugi element opisa svojstva.

.Cas 2-Modeliranje podataka-nastavak  Prije nego što nastavimo ovu priču o modeliranju podataka.. prvo ćemo sada da definišemo pojam informacije i podatka. onako kako se oni tumače i bolje razumiju u bazama podataka. Dr Lazo Roljic 39 07/30/16 .

Definicija informacije pomoću sloga BP...
Na primjer, neki student može biti opisan
informacijom na slijedeći način:
“Dragana Dragić je student četvrte godine
Ekonomskog fakulteta u Banjaluci. Ona stanuje u
Zelengorskoj ulici broj 17.
Ovakav opis sadrži posredno informacije koje mi
razumijemo na osnovu iskustva, ali one mogu da se
iskažu i na drugačiji način:

 “Dragana

Dragić je ime i prezime studenta,
četvrta je godina studija. Ekonomski fakultet
Banja Luka je naziv fakulteta koji student
pohađa, a Zelengorska ulica broj 17 je adresa
stanovanja studenta“.

...definicija informacije pomoću sloga BP
Iz prednjeg primjera može se uočiti da je
informacija o pojmu student sastavljena iz najmanje
dva dijela: podataka i konteksta.
U informatici je, pored toga, važno da znamo i u
kakvom fizičkom obliku su podaci predstavljeni.
Prema tome, informaciju (o nekom biću, predmetu
ili pojmu) čine:
 kontekst,
 podaci i
 način i oblik fizičkog predstavljanja podataka.

...definicija informacije pomoću sloga BP

Kao što iz našeg primjera vidimo, kontekst je
definisan pomoću niza veličina i isti je za sve slične
pojave.
Kontekst informacije određuje se tako što se
napravi lista veličina koje ga definišu i čije
vrijednosti će biti zapisane podacima.
U našem primjeru, kontekst čine: prezime i ime,
godina studija, naziv fakulteta i adresa stanovanja.
Takva lista veličina naziva se opis logičkog zapisa
ili logičkog sloga.

Podatak je neutralno saopštenje o određenom dejstvu
koje još nije vrednovano ni priređeno za donošenje bilo
kakve poslovne odluke!
U našem primjeru: Dragana Dragić, četvrta, Ekonomski
fakultet Banja Luka i Zelengorska ulica broj 17, su
podaci.
Koji tek kada se stave u kontekst postaju
informacija.
U informatici i računarstvu potrebno je da još budu i
upisani na neki digitalni medij (disk, CD, USB,...) pa da
onda budu informacija dostupna računarskim resursima.

Ključni faktori za preduzeća u budućnosti će biti
informacije, znanje, inovativnost i kreativnost.
To će biti kada pređemo iz društva kapitala u društvo
znanja - u informacijsko društvo.
Jedna od osnova za njihovu upotrebu je IT u obliku
informacionih sistema zajedno s pravilnim
rukovođenjem pojedinaca.

10010111).binary digit. binarna cifra 0 ili 1). Ne postoji mogućnost adresiranja bita. pa tako ni njegovog samostalnog korištenja. Dr Lazo Roljic 46 07/30/16 . Sastoji se iz 8 bitova (npr.  Bajt predstavlja najmanju adresibilnu jedinicu podataka u računaru.ELEMENTI BAZE PODATAKA  Najmanja organizaciona jedinica podataka je bit (engl.

47 07/30/16 . Slog (engl. a čiji je broj karakteristika definisan brojem polja u tabeli baze podataka.. radnika i sl. Slog u sebi sadrži skup karakteristika konkretnog kupca. Record) predstavlja jedan zapis u tabeli baz podataka. dobavljača. Svakom zapisu u tabeli baze podataka može se neposredno pristupiti. Slogovi u bazi podataka obično predstavljaju jedan red u bazi podataka.

 Polje (eng. mjesto i sl.  Tabela baze podataka obuhvata sve zapise i sva polja. values) tj. Skup svih tabela baze podataka čini bazu podataka. šifra kupca. naziv kupca. ) i u tabeli baze podataka nalaze se u obliku vertikalnih kolona.  Na presjeku zapisa i polja nalaze se vrijednosti (eng. gdje zapisi (slogovi) predstavljaju redove. stvarni podatak.field) predstavlja određenu karakteristiku koja se odnosi na više zapisa u tabeli baze podataka (npr. a polja kolone baze podataka. 48 07/30/16 .

širok dijapazon robe. 49 07/30/16 .  Baza podataka koja se formira iz više tabela u kojima se smještaju srodni podaci i vrši uspostavljanje odgovarajućih relacija između tih tabela naziva se relaciona baza podataka. popis inventara i sl.RELACIONA BAZA PODATAKA  Baza podataka može biti formirana tako da se svi podaci smještaju u jednu tabelu (prosta baza podataka) ili da se izvrši grupisanje srodnih podataka u više različitih tabela.  Skladištenje podataka u više različitih tabela ima značajne prednosti ukoliko se želi pratiti veliki broj ljudi.

Dr Lazo Roljic 50 07/30/16 . za razliku od relacione baze podataka.Razliku između proste i relacione baze podataka ilustrovaćemo na slijedećem primjeru: Prosta baza podataka. Ti isti podaci se svaki puta moraju posebno unositi. sastoji se samo od jedne velike tabele u kojoj se isti podaci više puta ponavljaju (tabela 1) što je redundantno.

Dr Lazo Roljic 51 07/30/16 . kod kojih bi se ti podaci smjestili u jednu posebnu tabelu. adresi i podaci o gradu moraju se unositi svaki puta kada se unosi novi zapis iako su ti podaci u više zapisa potpuno isti. podaci o preduzeću. dok to nije slučaj kod relacionih baza podataka. Kao što se vidi iz priložene tabele proste baze podataka.

U relacionoj bazi podataka se uspostavljaju relacije između tabela. Veze koje se uspostavljaju između tabela ilustrovaćemo na narednoj slici: 52 07/30/16 .

već je dovoljno da se uspostavi relacija između tabele narudžba i tabele kupci preko primarnog ključa. Dr Lazo Roljic 53 07/30/16 . Polje preko koga se uspostavlja veza između tabela naziva se primarni ključ (to je u gore navedenom primjeru šifra kupca). Primarni ključ čini zapis jedinstvenim. U gore navedenom primjeru pri definisanju narudžbe nije potrebno svaki puta posebno unositi podatke za svakog pojedinog kupca. što omogućava da tabela narudžba uzima podatke iz tabele kupci.

način na koji se podaci u jednoj tabeli odnose prema podacima u drugoj tabeli. Kod uspostavljanja relacija bitan je odnos između tabela tj. na prethodnoj slici tabela kupaca ima odnos jedan-prema-više. jer kupac može imati više narudžbi. Na primjer. Dr Lazo Roljic 54 07/30/16 . dok jedna narudžba pripada samo jednom kupcu.

a to su : -definisanje podataka.u osnovi se određuje kome će biti dozvoljen pristup podacima.DBMS). -rukovanje podacima . Efikasan sistem za upravljanje bazom podataka omogućava tri osnovne funkcije . kao i kome će biti dozvoljeno da ažurira postojeće i dodaje nove podatke.odnosi se na odabiranje podataka koji se žele upotrebiti. -nadzor nad podacima .SISTEM UPRAVLJANJA BAZOM PODATAKA (DBMS)  Da bi baza podataka bila efikasna mora da postoji efikasan sistem upravljanja bazom podataka (eng. Dr Lazo Roljic 55 07/30/16 . Database Managment System .

Više se puta upotrebljavaju jedni te isti podaci što zahtijeva mogućnost pregledavanja podataka na mnogo različitih načina. tj. Postoji potreba da se podaci dijele.Razlozi koji opravdavaju prelazak na relacionu BP Postoje 4 osnovna razloga za prelazak na bazu podataka: 1. Postoji previše odvojenih datoteka ili previše podataka u pojedinačnim datotekama. Potreba za nadzorom nad podacima.Takođe podaci mogu nadmašiti postojeća softverska ograničenja. tj. 2. 3. 4. mnogobrojni korisnici unose/ažuriraju i analiziraju podatke. mora se osigurati pristup podacima kao i nadziranje vrijednosti podataka. što otežava upravljanje podacima. 56 07/30/16 .

 Jedan Dr Lazo Roljic loš primjer polja entiteta. 57 07/30/16 .

rođenja i trenutnog datuma . kada se on može 58 07/30/16 izračunati iz dva datuma.Skup entiteta tipa STUDENT predstavljen tabelom (relacijom) ima slijedeći izgled: Tabela STUDENT MAT_BROJ 1212983123456 PREZIME POPOVIĆ IME ELVIS GOD_STUDIJA STAROST 2 24 2212980645321 ANTIĆ DARIJA 4 26 3103981998877 MARKOVIĆ MILIJANA 3 26 0701984100009 POPOVIĆ ELVIS 2 24 1911980700123 PETROVIĆ PETAR 3 27 Tipično loš primjer polja entiteta: Nije dobro unositi podatak o starosti.

 Entitet podataka. 59 07/30/16 .80 KM ili neće on uvijek biti jedini koji na svom računu ima baš to stanje). Jedan objekat. uključujući sva njegova statička obilježja. broj tekućeg računa kupca je jedan entitet podataka. naziva se entitet podataka (data entity). zbog toga što stanje novca ne može (a i ne treba da bude) jednoobrazno identifikovano -neće valjda uvijek imati stanje na računu. Na primjer. Da bi se entiteti međusobno razlikovali jedan od drugog svaki entitet mora biti jedinstven. ali stanje novca na računu kupca nije. 17. npr.

matični broj firme i slično. 60 07/30/16 . zato se mora dodijeliti broj računa. ne mogu da posluže kao jedinstveni identifikator. njegov matični broj. broj njegove lične karte. Pošto kupac može da istovremeno ima više računa. da bi se obezbijedila jednoobraznost svakog entiteta podataka kupca.

 Kombinovanje broja kupca i broja čeka takođe nije dovoljno jedinstven identifikator. nisu toliko jednoobrazni da bi bili prepoznatljivi kao entiteti. Brojevi čekova. na primjer. ček sa brojem 937. 61 07/30/16 . zbog toga što banke mogu da koriste isti broj kupca za identifikovanje različitih klijenata. međutim. može imati više različitih kupaca.

Dr Lazo Roljic 62 07/30/16 . Stoga. Tek identifikacioni broj banke. svaki ček sadrži ovu informaciju koja je na čeku odštampana magnetnim tušem. broj kupca i broj čeka zajedno mogu (jedinstveno) identifikovati stavku zaduženja.

Možete da naučite kako se kreiraju tabele za RDBS...Još uvijek smo u poglavlju Modeliranje podataka. 63 07/30/16 . Možete da naučiti kako da se kreiraju datoteke (tabele) koje preciznije predstavljaju skoro svaki poslovni problem. Ovo je lekcija o tome kako se kreiraju datoteke za sistem relacione baze podataka (za RDBMS). To se naziva modeliranje podataka.

Ali. Relacione baze podataka mogu preciznije modelirati sve vrste problema. Postoje dileme: Poslovni problemi u stvarnom životu ne mogu se predstaviti jednostavnim listama informacija (kao npr. u Excel-u). njihovo korišćenje nije nimalo instiktivno. 64 07/30/16 .

bez brige. passing-fad theory). Ideja o relacionoj bazi podataka nije neka teorija koja je “prolazna moda” ili “hir uvođenja teorija” (engl. nego se ona zasniva na relacionoj algebri. Ali. nećemo se ovdje baviti nikakvom komplikovanom matematikom! 65 07/30/16 . Ona se bazira na čvrstom matematičkom konceptu koji čini da naše informacije “rade” za nas na što je moguće efikasniji način.

Dr Lazo Roljic 66 07/30/16 .Postoje dva načina na koja ljudi uče (i odlučuju): (1) pomoću pravila (naučno). ili (2) pomoću intuicije.

Za jednostavne probleme za to su dobri radni listovi (Excel spredšitovi). Većina početnika pristupa kreiranju baza podataka tako što su naučili da kucaju liste na komadu papira. Evo jednog primjera gdje je dovoljan jednostavan fajl: želite da napravite popis svih vrijednih stvari u vašem stanu-kući. U nekim situacijama to može funkcionisati. To bi moglo izgledati nešto slično slijedećem: Dr Lazo Roljic 67 07/30/16 .

500 € Petrof Pianino 1.600 € Kamacrown TV Dr Lazo Roljic 300 € 68 07/30/16 .Opis Vrijednost 1990 Nissan Micra K10 2.

recimo da ona ima samo nekoliko korisnika. Angažovali su vas da rukovodite (upravljate slogovima) novoosnovanom fakultetskom/školskom bibliotekom. U svrhu bolje ilustracije. Tada vi.  Ali pogledajmo slijedeću situaciju. To je dobro i odgovara za tu namjenu. i nekoliko knjiga. svaki sa jedinstvenim imenom. uzimate vašu vjernu (Excel) unakrsnu tabelu (spredšit) i postavljate jednu datoteku koja izgleda kao slijedeća: Dr Lazo Roljic 69 07/30/16 . je li.

Ljubija. PD Scott Brook 3/3/2012 Andreja 80 Pleasant Košarka! St.. PD Tom Brown 3/3/2012 Dragan 7 D St. Ljubija. Novi Grad.Autor knjige Datum izdavanja knjige Andreja 80 Pleasant Tenis! St. NG Susan Thomas Adresa Ime člana člana Dr Lazo Roljic Naslov knjige Balet! 4/3/2012 70 07/30/16 ..

Andreja je posudila dvije knjige. reči ćete vi! Ali. nije puno. kada bi Andreja posudila 20 knjiga. Pa dobro. To funkcioniše! Bibliotekar sada može da prati ko je posudio koju knjigu i kada! Ali pogledajmo malo bolje. zar ne? Odšta nam je to? 71 07/30/16 . Tenis! i Košarka! Primjetite da smo Andrejinu adresu morali kucati dva puta. mi bismo njenu punu adresu morali kucati 20 puta! Redundantno.

Ona može potpuno da upravlja sa ovako zamršenom situacijom! Dr Lazo Roljic 72 07/30/16 . I. svaki puta kada ukucate knjigu morate da ukucate i ime autora. Mora da postoji neki bolji način. šta kada Andreja promijeni adresu stanovanja i odseli se iz ulice u kojoj je nekada stanovala? Tada mi moramo da ažuriramo adrese na svih 20 slogova! Još lošija novost. Na neki način. što je još gore. Uvedimo relacionu bazu podataka. naš divan sistem jednostavne datoteke izlazi izvan naše kontrole.

relacioni koncept kaže: razdijeli jedan fajl u tri fajla. Prvo. tako da je cijela datoteka namijenjena samo informacijama o korisniku (čitaocu).  Jedan tip informacija vodio je računa o tome ko je osoba koja je posudila knjigu. Svaki od njih biće namijenjen da služi jednom od tri tipa informacija sa kojima je jedinstvena datoteka pokušala da upravlja. Izgledala bi kao slijedeća: 73 07/30/16 .

Datoteka član Ime člana Adresa člana Andreja 80 Pleasant St.. Ljubija. NG Dr Lazo Roljic 74 07/30/16 . PD Dragan 7 D St. Novi Grad.

 Drugi opšti tip informacija bio je informacije o knjigama. To bi izgledalo ovako: Dr Lazo Roljic 75 07/30/16 .

Datoteka knjiga Naslov knjige Autor knjige Tenis! Scott Brook Košarka! Tom Brown Balet! Susan Thomas Dr Lazo Roljic 76 07/30/16 .

 I. koja sadrži sasvim dovoljno informacija da se identifikuje korisnik. konačno. knjiga koja je bila posuđena i datum kada je posuđena. koji upravlja sa činjenicama da je korisnik posudio knjigu. imamo dobar koncept.  Kreirajmo i treću datoteku (fajl). Ova pametna slijedeća: Dr Lazo Roljic datoteka izgleda kao 77 07/30/16 .

Datoteka presjek Ime člana Naslov knjige Datum izdavanja Andreja Tenis! 3/3/2003 Andreja Košarka! 3/3/2003 Dragan Balet! 4/3/2003 Dr Lazo Roljic 78 07/30/16 .

jer je ona neka vrsta presjeka između datoteke korisnik i datoteke knjiga. Ova datoteka nazvana je presjek (intersection). Dr Lazo Roljic 79 07/30/16 .

Ne morate da kucate Andrejinu adresu više puta. gdje moraju ukucati samo ime člana. Dr Lazo Roljic 80 07/30/16 . Uočite da ste ovaj put Andrejinu adresu morali kucati samo jednom (u datoteci član). naslov knjige i datum kada je ona posuđena. i da kada bibliotekari izdaju knjigu oni samo koriste datoteku presjek.

reči ćete. povezuje sve informacije iz sve tri datoteke i ispisuje ih tako jer su logički povezane. Oracle. vrlo interesantno. Paradox. kao dBase. Kakav je to čudan sistem? Informacije su razbacane unaokolo više nego ranije!  Ma.. itd. Dr Lazo Roljic 81 07/30/16 . MS Access. ne brinite! Tu je softver koji sve ostalo čini za vas! Softer. FoxPro. Da. ali morali smo kreirati tri datoteke.

Dr Lazo Roljic 82 07/30/16 . on upoređuje sva imena članova iz datoteke presjek sa imenima članova iz datoteke članovi i spaja zajedno informacije o članovima i o presjeku. Evo šta on čini: prvo.

softver je započeo da sakuplja podatke iz datoteka član i presjek. slično kao: Dr Lazo Roljic 83 07/30/16 . Dakle.

PD Naslov knjige iz datoteke presjek Tenis! Datum izdavanja iz datoteke presjek 3/3/2003 84 07/30/16 .. Ljubija.Ime člana iz datoteke presjek Andreja Adresa člana iz datoteke član 80 Pleasant St.

Dr Lazo Roljic 85 07/30/16 . kako je to prikazano u prethodnoj tabeli. pa je zato uzeo sve podatke iz obje datoteke koji se odnose (u relaciji su sa) na "Andreja" i iskazuje ih skupa.  Zatim softver uzima naslove knjiga iz naslovi knjiga iz datoteke presjek i upoređuje to sa nazivi knjiga iz datoteke knjige i informacije odatle dodaje informacijama koje su već prikupljene u prethodnoj tabeli. Softver je “vidio” da je "Andreja" bila u datoteci presjek. Ali. Tada informacije izgledaju kao na slijedećem ispisu ekrana kako biste ga vi vidjeli. nije sve još završio.

.Ime člana iz datoteke presjek Andreja Adresa člana iz datoteke članovi Naslov knjige iz datoteke presjek 80 Pleasant St. PD Tenis! Autor knjige iz datoteke knjige Scott Brook Datum posuđiva nja iz datoteke presjek 3/3/2003 86 07/30/16 . Ljubija.

tako da je on uzeo sve podatke iz obadvije datoteke koje su vezane (u relaciji su) sa "Tenis" i povezao ih skupa jedne sa drugim. Softver je rekao da je taj "Tenis!" bio u datoteci presjek i da je taj "Tenis!" bio u datoteci knjiga. Dr Lazo Roljic 87 07/30/16 .

On zatim ponavlja sve odozgo za Andrejine ostale posuđene knjige i Draganove posuđene knjige. softver je uradio sva tri posla.  Dobro. dakle. zar nije. Sada. reči ćete vi. ali. naporno da se drže otvorenim tri datoteke i istovremeno unose podaci u njih? Dr Lazo Roljic 88 07/30/16 . uparivanje informacija iz sve tri datoteke i ispisao nam rezultate na neki logičan način.

Na primjer. Softver relacione baze podataka ponovno dolazi kao spasilac olakšavajući unos podataka. Dr Lazo Roljic 89 07/30/16 . on zna da će se svako ime člana u datoteci presjek morati naći i u datoteci članovi.  Softver “zna” da vi radite sa više od jedne datoteke u isto vrijeme i da datoteke imaju informacije povezane.

on može da čini i neke druge vrlo korisne stvari. softver postavlja naš unos podataka tako da mi moramo da ukucavamo informacije samo jedanput i on automatski kopira informacije koje se kucaju u povezane datoteke. pošto softver zna koliko ste vi ažurni. Dr Lazo Roljic 90 07/30/16 . Zato. Ali.

Dr Lazo Roljic 91 07/30/16 . Na primjer. recimo da ste prilikom dodavanja sloga u datoteku presjek pogrešno otkucali Andrejino ime. Ovo značajno smanjuje pogreške. (možda ste greškom otkucali "Andej") Softver bi “vidio” da u fajlu ne postoji ime člana "Andej" i poslao bi vam upozorenje.

softver će vam poslati poruku “Ta knjiga ne postoji u datoteci knjiga!" Dr Lazo Roljic 92 07/30/16 . Ako pogriješite da ukucate ime knjige. Neke stvari dok ih kucate u knjigu članova bivaju provjeravane.

njena će adresa stalno važiti. Dr Lazo Roljic 93 07/30/16 . i to u datoteci član. Zapamtite da se Andrejina adresa ili bilo kojeg člana pojavljuje samo jednom. ako se Andreja preseli. moraju se ažurirati samo informacije o njenoj adresi i tada nije važno koliko je ona knjiga zadužila (posudila). Tako.

svaka situacija zahtijeva različiti broj datoteka. nekada 4. Nekada jednu datoteku. Pa. nekada 300 i više.  Evo vam jednog primjera jednostavnog načina kako da kreirate vaše datoteke: Dr Lazo Roljic 94 07/30/16 . koliko onda datoteka treba da se kreira?  U stvari.

Logičko prikazivanje baze podataka Baze podataka možemo logički prikazati na nekoliko načina:  Tekstualno  Dijagramskim modelima podataka  Šemom baze podataka. Dr Lazo Roljic 95 07/30/16 .

Dijagram objekti-veze (E-R dijagram) U ovom trenutku nije jasno u koliko tabela treba te podatke spremiti. da se podaci mogu unositi kadgod je to potrebno? Dr Lazo Roljic 96 07/30/16 . dvije. što je najvažnije. kako podatke organizovati na način da se podaci mogu što lakše obrađivati i. U jednu. tri ili više? Kako izbjeći redundanciju podataka.

.. Dr Lazo Roljic 97 07/30/16 .  Jedna od mnogobrojnih dijagramskih metoda (ali najkorisnija) koja predstavlja modele podataka je dijagram entiteta i relacija (E-R dijagram.… Entity-Relationship Diagram. Entity-Relationship Diagram).

Dr Lazo Roljic 98 07/30/16 . E-R dijagrami se mogu koristiti kada želimo da predstavimo odnose između objekata i da grafički predstavimo njihovo ponašanje.

mrežnih ili hijerarhijskih modela. Dr Lazo Roljic 99 07/30/16 . te modificirati u skladu s pravilima postojećih relacionih. Sadašnji DBMS ne mogu direktno implementirati ER-šemu. pa je ovu šemu potrebno detaljnije razraditi. pa zato služi za komunikaciju projektanta baze podataka i budućih korisnika i to u najranijoj fazi razvoja baze. ER-model je dovoljno jednostavan da ga ljudi različitih struka mogu razumjeti.

 Entiteti podataka predstavljeni su pravougaonikom. a odnosi između entiteta rombom. atributi podataka sa elipsama. Dr Lazo Roljic 100 07/30/16 .  Osnovna prednost ovih dijagrama je što se njima na relativno malom prostoru može predstaviti koncept veoma velikog sistema sa višestrukim bazama podataka.

Dijagram koji prikazuje logičko predstavljanje podataka nazivamo šemom.Šema baze podataka  Šema baze podataka je grafički opis nacrta tabela u vidu linija koje sadrže nazive njihovih polja i prikazuju uprošćenu verziju odnosa između njih. Dr Lazo Roljic 101 07/30/16 . može pomoći da se shvati koncept baze podataka.

Dr Lazo Roljic 102 07/30/16 . Jedan od alata za crtanje E-R dijagrama je program Visio sa dodatkom Stencill-a za E-R dijagrame.

Za navedeni primjer možemo se poslužiti dijagramom objekt-veza. koji poznaje slijedeće simbole: Za entitet Za atribut Za vezu Dr Lazo Roljic 103 07/30/16 .

predmeti i ispiti. U našem slučaju to su tri entiteta: studenti. pa time nastaje slijedeći dijagram: Dr Lazo Roljic 104 07/30/16 .Šta su entiteti za naše podatke? Entiteti su ono o čemu skupljamo podatke. Oko njih se grupišu pripadni atributi.

Ključ (Key) Potrebno je definisati i ključ.  Svaki red u tabeli mora imati taj podatak. Dr Lazo Roljic 105 07/30/16 . Ključ je atribut ili grupa atributa koji zadovoljava dva svojstva:  Za svaki red u tabeli ključ se mora razlikovati.

valjda. Oba svojstva za ključ za entitet Student zadovoljava atribut Matični broj studenta (Svakome je. jasno zašto atribut nije Prezime.)  Koji su atributi ili grupe atributa kandidati za ključ entiteta Ispiti i Predmeti? Dr Lazo Roljic 106 07/30/16 .

predm. Za entitet Predmeti ključ je šifra predmeta .Šif.polag. šifra predmeta .Dat.Šif.Odgovor glasi: Ključevi su podvučeni.predm i datum polaganja .broj. Dr Lazo Roljic 107 07/30/16 . Kod entiteta Ispit ključ je složen od tri atributa: matični broj studenta .Mat.

 Hajde da se malo provjerimo (da se malo razdrmamo). da vidimo da li smo razumjeli prethodno rečeno.  Pretpostavimo da su pred vas postavljene slijedeće tri tabele: Dr Lazo Roljic 108 07/30/16 .

7 32012. Delarosa 503 MO 456 345-6789 Maria J. single-axle 109 07/30/16 .5 76984.6 894.6 10932.Tabela: VOZILO TRUCK_NUM BASE_CODE 1001 1002 1003 1004 1005 1006 1007 1008 1009 TYPE_CODE 501 502 501 TRUCK_MILES 1 1 2 1 2 2 3 3 2 503 501 507 502 503 TRUCK_BUY_DATE 32123.3 12346. Smith GA 901 456-7890 Peter F. single-axle 3 Tandem trailer. Talindo GA 770 233-3843 John D.3 44213. double-axle 2 Single box.9 11/8/94 3/23/92 12/27/95 2/21/96 4/15/94 8/30/93 12/1/94 9/21/94 1/16/96 TRUCK_SERIAL_NUM AA-322-12212-W11 AC-342-22134-Q23 AC-445-78656-Z99 WQ-112-23144-T34 FR-998-32245-W12 AD-456-00845-R45 AA-341-96573-Z84 DR-559-22189-D33 DE-887-98456-E94 Tabela: GARAŽA BASE_CODE BASE_CITY BASE_STATE BASE_AREA_CODE BASE_PHONE BASE_MANAGER 501 TN 615 123-4567 Andrea D.3 45673. McAvee 504 Tabela: TIP TYPE_CODE TYPE_DESCRIPTION 1 Single box.1 93245. Gallager 502 KY 568 234-5678 George H.

u vašem odgovoru upišite “Nema”. Ako tabela nema strani ključ. Za svaku tabelu identifikujte primarni ključ i strani ključ(eve).     Tabela VOZILO GARAŽA TIP Dr Lazo Roljić Primarni ključ __________ __________ __________ Strani ključ __________ __________ __________ 110 07/30/16 .

Rješenje zadatka: Tabela Primarni ključ Strani ključ VOZILO Truck_Num Base_Code. Type_Code GARAŽA Base_Code Nema TIP Type_Code Nema 111 07/30/16 .

Delarosa 345-6789 Maria J.3 45673.6 894.3 44213. Smith 456-7890 Peter F. Talindo 233-3843 John D.7 32012.1 93245. Gallager 234-5678 George H.5 76984. single-axle 3 Tandem trailer. double-axle 2 Single box.9 Tabela: GARAŽA BASE_CODE BASE_CITY BASE_STATE BASE_AREA_CODE 501 TN 615 502 KY 568 503 MO 456 GA 770 GA 901 504 Tabela: TIP TYPE_CODE TYPE_DESCRIPTION 1 Single box. McAvee 112 07/30/16 . single-axle TRUCK_BUY_DATE TRUCK_SERIAL_NUM 11/8/94 3/23/92 12/27/95 2/21/96 4/15/94 8/30/93 12/1/94 9/21/94 1/16/96 AA-322-12212-W11 AC-342-22134-Q23 AC-445-78656-Z99 WQ-112-23144-T34 FR-998-32245-W12 AD-456-00845-R45 AA-341-96573-Z84 DR-559-22189-D33 DE-887-98456-E94 Ta Rje b VO ela šen je GA ZIL za P O d r TIP RAŽ Tr imar atka u A Ba ck_ ni kl : j N Ty se_C um uč pe St _C ode r od Ba ani k e Ne se_C ljuč Ne ma ode .6 10932.3 12346.T ma yp e_ Co de TRUCK_NUM BASE_PHONE BASE_MANAGER 123-4567 Andrea D.Tabela: VOZILO BASE_CODE 1001 1002 1003 1004 1005 1006 1007 1008 1009 TYPE_CODE 501 502 501 TRUCK_MILES 1 1 2 1 2 2 3 3 2 503 501 507 502 503 32123.

PREZIME. ali se ne smiju pojaviti dva ista atributa (pravilo prve normalne forme)..An ) ili (IME. Dr Lazo Roljic 113 07/30/16 . JMBG. ADRESA ) .Relaciona šema tabela baze podataka  Je drugi način prikazivanja baze podataka: To je konačan skup naziva atributa -zaglavlje tabele. (A1. A2. npr.  Redoslijed nije važan. zajedno sa skupom ograničenja koja su zadana na tom skupu atributa. A3.

Ovakav način prikazivanja nazvali smo šema BP Entitet Atributi MAT_BROJ PREZIME Vrijednost atributa 100998211114 PETAR PETROVIC IME 3 STUDENT GOD_STUDIJ A Slika : Grafièki prikaz skupa entiteta tipa STUDENT Dr Lazo Roljic 114 07/30/16 .

Opisuje građu tabele i ne definiše njeno značenje. Dr Lazo Roljic 115 07/30/16 .…šema tabela baze podataka… pokazuje strukturu tabele Zapisujemo je u obliku: tabela(lista-atributa). Značenje proizlazi iz interpretacije relacione šeme.

Nenormalizovana tabela je ranije definisana kao tabela koja posjeduje neke vrijednosti atributa koje nisu "atomske". odnosno tabela koja posjeduje "grupe sa ponavljanjem".Problemi (anomalije) održavanja i izvještavanja Ilustrovaćemo probleme održavanja i izvještavanja na primjeru jedne nenormalizovane tabela (relacija). Dr Lazo Roljic 116 07/30/16 .

BI IME SEM ŠSMJER IMERUK ŠPRED NAZPRED OCJENA 21 ZORAN 5 01 BATO 121 MATEMAT 7 323 BAZEPOD 8 056 MUNDOLOG 8 056 MUNDOLOG 10 121 MATEMAT 5 323 BAZEPOD 8 456 STATISTIKA 9 442 FIZIKA 6 056 MUNDOLOG 8 77 36 ANITA PERO Dr Lazo Roljic 7 4 01 02 BATO MIŠO 117 07/30/16 .

ne mogu se ubaciti podaci o tom predmetu dok ga neki student ne položi.Anomalije u dodavanju:  ako je u novom nastavnom planu definisan novi predmet. Dr Lazo Roljic 118 07/30/16 . ne mogu se ubaciti podaci o tom smjeru dok ga neki student ne upiše. ili  ako se otvori neki novi smjer.

gube se i sve informacije o tom predmetu. gube se i sve informacije o tom smjeru. odnosno izbaci odgovarajuća n-torka.Anomalije u izbacivanju:  ako je jedan predmet (FIZIKA) položio samo jedan student (PERO) i ako se on ispiše sa fakulteta.  ako je taj student bio i jedini student na nekom smjeru. Dr Lazo Roljic 119 07/30/16 .

Anomalije u ažuriranju:  Ako se promijeni naziv nekog predmeta ili rukovodilac nekog smjera. to se mora učiniti na onoliko mjesta koliko je studenata položilo taj predmet. odnosno koliko je studenata upisano na dati smjer. Dr Lazo Roljic 120 07/30/16 .

relacije se dovode u normalne forme) u kojem se izbjegavaju anomalije u održavanju i problemi u izvještavanju.Normalizacija baze podataka Postupkom normalizacije logička struktura baze podataka se dovodi u takav oblik (ili. Dr Lazo Roljic 121 07/30/16 . drugim rječima.

SEM. 122 07/30/16 . ponovimo i sve ostale njegove podatke (BI. za svaki ispit koji je neki student položio. IME.BI IME SEM ŠSMJER IMERUK ŠPRED NAZPRED OCJENA 21 ZORAN 5 01 BATO 121 MATEMAT 7 323 BAZEPOD 8 056 MUNDOLOG 8 056 MUNDOLOG 10 121 MATEMAT 5 323 BAZEPOD 8 456 STATISTIKA 9 442 FIZIKA 6 056 MUNDOLOG 8 77 36  ANITA PERO 7 4 01 02 BATO MIŠO Tabelu STUDENT možemo normalizovati (svesti na 1NF) ako u svakoj koloni prikazane tabele. ŠSMJER. IMERUK).

. OCJENA) . (2) Prirodno spajanje ove dvije tabele po BI rekonstruisalo bi polaznu normalizovanu tabelu. (1) PRIJAVA (BI. očigledno. ŠSMJER. IME. . da bi se smanjila redundansa do koje bi. . IMERUK) . 123 07/30/16 . operacijom projekcije. možemo ovako dobijenu tabelu.Međutim. dekomponovati na slijedeće dvije:   STUDENT1 (BI. . ovakva normalizacija dovela. NAZPRED. . ŠPRED. SEM. . . .

Dr Lazo Roljic 124 07/30/16 . niti imamo slučaj da se u neko polje tabele upisuje više od jednog atributa (pojava tabele u tabeli). ako se mogu prikazati pomoću tabele u kojoj se nijedan atribut ili grupa atributa ne ponavljaju u istom redu.Normalizacija i normalne forme  Sad se još pitamo: "Jesu li podaci normalizovani i nalaze li se u trećoj normalnoj formi?" Definicija prve normalne forme glasi: Podaci su u prvoj normalnoj formi.

ako su u prvoj normalnoj formi. a ne samo od dijela ključa. a osim toga vrijedi pravilo da nema funkcionalne zavisnosti među atributima. Definicija druge normalne forme glasi: Podaci su u drugoj normalnoj formi.  Definicija treće normalne forme glasi: Podaci su u trećoj normalnoj formi. Dr Lazo Roljic 125 07/30/16 . ako su u drugoj normalnoj formi (dakle i u prvoj). a osim toga za sve atribute vrijedi pravilo da zavise od cijelog ključa.

nema grupa koje se ponavljaju)1NF.  Nema ni jedne vrijednosti kolone koja zavisi od vrijednosti bilo koje druge kolone izuzev od primarnog ključa-3NF. Dr Lazo Roljić 126 07/30/16 .  Sve vrijednosti kolona zavise od vrijednosti primarnog ključa-2NF.Dobro uputstvo ili pravilo kako da se kreira relaciona baza podataka kojom se dobiva jednostavna (za primjenu) aplikacija i sistem za njeno lakše održavanje predstavlja skup pravila koji definišu tri normalne forme:  Sve vrijednosti kolona su atomske (nedjeljive.

 Tek nakon te provjere pristupa se izradi tabela. vidjeće se da se oni nalaze u trećoj normalnoj formi. Ako pogledamo naše podatke i upitamo se u kojoj se normalnoj formi nalaze. Dr Lazo Roljic 127 07/30/16 .

.Provjera rečenog.. Dr Lazo Roljic 128 07/30/16 . U narednoj tabeli nalazi se uzorak podataka za računarske komponente i za dobavljače tih komponenata. i da ime dobavljača jedinstveno identifikuje dobavljače (vendors). U razgovoru sa korisnicima o ovim podacima primijetili smo da brojevi komponenata (ali ne i njihov opis) jedinstveno identifikuju komponente (parts).

00 5678 Memory Chip Fast Chips 3.Br_Komponente Opis Naziv_Dobav 1234 Logic Chip Fast Chips 10.00 5678 Memory Chip Quality Chips 2.00 5678 Memory Chip Smart Chips 5.00 Dr Lazo Roljic Adresa Jed_cijena 129 07/30/16 .00 1234 Logic Chip Smart Chips 8.

Dr Lazo Roljic 130 07/30/16 . Razvijte skup tabela (projekcija) da budu u 3NF (15 poena) 3. nacrtajte ga za ovaj slučaj (10 poena). zašto? (5 poena) 2. Koristeći rečeno o E-R dijagramima.1. U kojoj normalnoj formi je ova tabela? I.

00 5678 Memory Chip Smart Chips 5.00 Odgovor 1: u prvoj normalnoj formi (nema grupa s ponavljanjem.00 5678 Memory Chip Quality Chips 2.00 1234 Logic Chip Smart Chips 8. nema višestrukih vrijednosti. i sva polja su zavisna od primarnog ključa).00 5678 Memory Chip Fast Chips 3. 131 07/30/16 .Br_Komponente Opis Naziv_Dobav Adresa Jed_cijena 1234 Logic Chip Fast Chips 10.

00 1234 Logic Chip Smart Chips M_Grad 8.00 5678 Memory Chip Fast Chips B_Grad 3.00 Odgovor 2: Iz prethodne tabele trebalo je razviti tabele koje će da budu u 3NF. (10 poena) Komponenta (Br_Komponente. Naziv_Dobav. Opis) Dobavljač (Naziv_Dobav. Jed_Cijena) 132 07/30/16 .00 5678 Memory Chip Quality Chips N_Grad 2.00 5678 Memory Chip Smart Chips M_Grad 5.Br_Komponente Opis Naziv_Dobav Adresa Jed_cijena 1234 Logic Chip Fast Chips B_Grad 10. Adresa) Ponuda (Br_Komponente.

3. Odgovor 3 je na slici 133 07/30/16 . trebalo ga je nacrtati za ovaj slučaj. Koristeći rečeno o E-R dijagramima.

da li biste znali konvertovati ovaj E-R dijagram u tabelarnu šemu baze podataka? Dr Lazo Roljic 134 07/30/16 .A.

Order Date. Contact Name) Product (Product ID. Quantity. Ship Name. Units in Stock. Address. Unit Price. Product Name. Ship Address. Customer ID) Customer (Customer ID.Konvertovan E-R dijagram u tabelarnu šemu baze podataka: Supplier (Supplier ID. Product ID. City) 135 07/30/16 . Company Name. Discount) Order (Order ID. Company Name. Supplier ID Order Detail (Order ID.

 Kreiranje prve tabele u Access-u izgledalo bi ovako: Dr Lazo Roljic 136 07/30/16 .

Dr Lazo Roljic 137 07/30/16 .

 Nakon toga moguće je na isti način kreirati tabele Ispiti i Predmeti. i zatim unijeti podatke u sve tri tabele. Dr Lazo Roljic 138 07/30/16 .

itd. Dr Lazo Roljic 139 07/30/16 . telefonski broj. Informacije vezane za vaš projekat. informacije o predmetima koje student sluša (naziv predmeta. nego opšte tipove podataka o studentu. ime profesora koji drži taj predmet. ime dekana itd. vodite računa da fakultet ima te informacije: ime i prezime studenta. sve informacije vezane za studente (ne trenutne podatke za svakog studenta.). na primjer.). da imate zadatak da vi kreirate informacioni sistem fakulteta. itd. adresa lokacije. informacije o profesorima. adresa stanovanja studenta.). Recimo. Prikupite informacije o fakultetu (ime fakulteta. semestar. datum rođenja. lokacija učionice. itd.

neke ili sve dokumente koji se vode. Prikupite uzorak svakog tipa informacije. postojeće kompjuterske fajlove. itd. na primjer. Dr Lazo Roljic 140 07/30/16 . raspored profesora po predmetima. karton studenta.

Dr Lazo Roljic 141 07/30/16 . itd. ocjene studenata. predmeti. studenti. Dobro. zgrade. mjesto ili stvar. Evo šta bi mogao biti neki entitet u našem primjeru IS-a fakulteta: fakultet. raspored nastave. Jedan jednostavan način da se opiše ko su entiteti je da se kaže da oni mogu biti osoba.  Naredni korak je da uočite ko ili šta su tu entiteti. izdvojite sve što su entiteti. profesori. sada vi imate ogromnu hrpu o svakoj informaciji vezanoj za fakultet. Dakle.

adresa studenta je osobina entiteta student. Naredni korak: otkrijte sve osobine entiteta i napravite listu za svaki entitet i ispišite je ispod entiteta. Na primjer. Evo nekoliko primjera: Dr Lazo Roljic 142 07/30/16 .

 STUDENT ime studenta adresa studenta jmbg studenta datum rođenja studenta itd. Dr Lazo Roljic 143 07/30/16 .

 PREDMET naziv predmeta id_broj predmeta opis predmeta ects bodovi sala u kojoj se održava predmet itd. Dr Lazo Roljic 144 07/30/16 .

Dr Lazo Roljic 145 07/30/16 . PROFESOR ime profesora jmbg profesora profesorova kućna adresa lokacija kabineta profesora telefonski broj profesora itd.

šta je sa rasporedom predavanja? Koje bi osobine on trebao da ima?  Pa. kao u primjeru biblioteke.  Evo kako bi izgledao raspored predavanja: Dr Lazo Roljic 146 07/30/16 . možemo da vidimo da je entitet raspored predavanja datoteka presjek. A.

ponedeljkom od 10h) profesorov jmbg (poklapa se sa jmbg iz datoteke profesor) Dr Lazo Roljic 147 07/30/16 . RASPORED PREDAVANJA jedinstveni id broj predmeta (poklapa sa id_broj predmeta iz datoteke predmet) semestar (iz datoteke semestar) lokacija učionice (poklapa se sa id iz datoteke učionica) vrijeme nastave (na pr.

kao u primjeru biblioteke. u datoteci raspored predavanja ne morate da redundantno kucate mnogo informacija da biste jedinstveno naveli određeni predmet. ne morate da u opisu predmeta stalno ponovno kucate isto. u primjeru rasporeda časova. jer će softver to izvući iz datoteke predmet! Dr Lazo Roljic 148 07/30/16 . Na primjer. Primijetite da.

 Jedinstveni identifikacioni broj predmeta je dovoljan da vam omogući da saznate tačno o kojem predmetu se radi. a softver povezuje dvije datoteke kada hoćete da vidite sve informacije! Isto tako. ne morate da kucate ime profesora uvijek iznova. Baš profesorov jmbg identifikacioni brojevi su sve što se traži u datoteci raspored predavanja. jer će se ono izvući iz datoteke profesor. Dr Lazo Roljic 149 07/30/16 .

9. Na primjer.  OCJENE jmbg studenta jedinstveni id broj predmeta semestar lokacija predavaone vrijeme nastave ocjena (npr. Vama će možda trebati mnogo takvih tabela presjeka. 6. datoteka ocjene bila bi drugi primjer datoteke presjeka. 10.5) Dr Lazo Roljic 150 07/30/16 . 8. 7.

uočite da ne morate da uvijek iznova kucate ime studenta ili njegovu adresu. Dr Lazo Roljic 151 07/30/16 . potreban je samo jedinstveni id broj predmeta tako da ne morate da kucate u opisu predmeta uvijek iznova po hiljadu puta svaki put kada ga student ima. Isto kao i sa predmetom. Za datoteku ocjene.

 Treba samo jedanput da ukucate opis predmeta u datoteku predmet. Dr Lazo Roljic 152 07/30/16 . Softver će na ekran izvući opis predmeta i povezati ga sa ocjenama i to ispisati na ekranu kompjutera ili na štampaču kada neko zaželi da to vidi.

moguće je da se razvije izvjestan intuitivni osjećaj za postavljanje vaših datoteka sa ciljem uklanjanja nepotrebne redundancije. Dr Lazo Roljic 153 07/30/16 . To svako može postići!  Samo zapamtite da jedna od osobina za svaku datoteku mora jedinstveno da identifikuje svaku instancu entiteta. Posmatrajući modeliranje podataka kao ovo.

na fakultetu. Isto kao i datoteka zgrade. na primjer.  Ovo se zove dovođenje podataka u treću normalnu formu. jmbg profesora. ona apsolutno mora da sadrži osobinu koja jedinstveno identifikuje jednu od svih ostalih zgrada. naziv zgrade. Na primjer. na primjer. datoteka profesor apsolutno mora sadržavati neku osobinu (svojstvo) koja jedinstveno identifikuje svakog profesora. Dr Lazo Roljic 154 07/30/16 .

field) . Na primjer. polje ime. Svaka instanca entiteta zove se “slog” (engl. u datoteci profesor Jovan Doe i njegove osobine čine jedan slog.  Svaka osobina naziva se “polje“ (engl. itd. Sanela Smith i njene osobine čine drugi slog. polje adresa. record). polje datum rodjenja. Dr Lazo Roljic 155 07/30/16 . polje jmbg.  Na primjer.

Dr Lazo Roljic 156 07/30/16 .  Različiti softverski programi ponekad koriste različiti sistem imenovanja.  Kreiranje datoteke podataka naziva se “modeliranje podataka“ engl. ključ za slogove datoteke profesor je jmbg profesora. key. data modeling. Na primjer. Osobina koja jedinstveno identifikuje svaku instancu naziva se “ključ“ engl.

Ako postoji više ključeva onda se oni nazivaju mogućim ključevima ili kandidatima za ključ. Svaka relacija ima najmanje jedan ključ. vrijednost atributa. Minimalni skup atributa čije vrijednosti jednoznačno identifikuju svaku n-torku relacije.  Ključ mora imati svojstvo minimalnosti i jednoznačnosti. Dr Lazo Roljic 157 07/30/16 .Ključ relacije  Atribut ili skup atributa čije vrijednosti jednoznačno određuju neku n-torku.

 Relacija

općenito može sadržavati više
kandidata ključa, jednog od tih kandidata
odabiremo za primarni ključ relacije , a
ostali su kandidati alternativni ključevi.
POŠTANS
BROJ MJESTO
n-torka1
n-torka2
JMBG IME PREZIME POŠTANS
BROJ
n-torka1
n-torka2

Dr Lazo Roljic

158
07/30/16

Strani ključ (Vanjski ključ) FOREIGN KEY
 Onaj

atribut čija je vrijednost primarni
ključ u drugoj tabeli (na koju pokazuje).
Primjenjuje se tranzitivna funkcijska
zavisnost (referencijalni integritet).
Strani ključ u prvoj tabeli mora biti
jednak sa primarnim ključem u tabeli na
koju pokazuje ili nul vrijednost.

Dr Lazo Roljic

159
07/30/16

Referencijalni integritet
 Ispravnost

podataka vezana uz Strani
ključ U prvoj tabeli mora biti jednak sa
primarnim ključem u tabeli na koju
pokazuje ili nul vrijednost.
Nijedna vrijednost stranog ključa ne
smije biti neuparena (unmached).
Strani i primarni ključ mogu se nalaziti i
u istoj tabeli!

Dr Lazo Roljic

160
07/30/16

Entitetski integritet  Ispravnost podataka vezana uz Primarni ključ koji mora biti unešen. ne može biti nul vrijednost (ako je složen trebaju biti unešene obje vrijednosti). Dr Lazo Roljic 161 07/30/16 .

Dr Lazo Roljic 162 07/30/16 .  Jedan od problema je odabrati relevantne podatke za tu obradu.Postupak će biti objašnjen na slijedećem primjeru:  Potrebno je napraviti bazu koja će nam davati informacije o studentima i ispitima koje su oni položili.

Dr Lazo Roljic 163 07/30/16 .  Ovdje bih sada. Ne postoje apsolutno relevantni podaci. nego su podaci uvijek relevantni s obzirom na neku obradu. mogao reći jednu definiciju informacije u konceptu baze podataka. radi bolje ilustracije. Relevantan podatak za obradu je onaj podatak koji je za tu obradu važan...

a Zelengorska ulica broj 17 je adresa stanovanja studenta. neki student može biti opisan na slijedeći način: “Dragana Marković je student treće godine Ekonomskog fakulteta u Banjaluci. Ovakav opis sadrži posredno informacije koje mi razumijemo na osnovu iskustva. treća je godina studija.Na primjer. . Ona stanuje u Zelengorskoj ulici broj 17. ali one mogu da se iskažu i na slijedeći način: “Dragana Marković je ime i prezime studenta. Ekonomski fakultet Banja Luka je naziv fakulteta koji student pohađa.

.  podaci i  način fizičkog predstavljanja podataka. pored toga. informaciju (o nekom biću. važno da znamo i u kakvom fizičkom obliku su podaci predstavljeni. predmetu ili pojmu) čine:  kontekst. U informatici je. Prema tome.Iz prednjeg primjera može se uočiti da je informacija o pojmu student sastavljena iz najmanje dva dijela: podataka i konteksta.

Kontekst informacije određuje se tako što se napravi lista veličina koje ga definišu i čije će vrijednosti biti zapisane podacima. kontekst je definisan pomoću niza veličina i isti je za sve slične pojave. . Takva lista veličina naziva se opis logičkog zapisa ili logičkog sloga. naziv fakulteta i adresa stanovanja. U našem primjeru. godina studija.Kao što iz našeg primjera vidimo. to su: prezime i ime.

U klasičnoj obradi podataka (AOP) podaci se čuvaju odvojeno od konteksta i fizički se zapisuju u datotekama podataka.Upravo osnovna razlika između klasične obrade podataka podržanih datotekama (engl. a gdje kontekst podataka. dok se kontekst i način predstavljanja podataka nalaze u programu (programskoj datoteci). data bases) je u tome gdje se lociraju podaci. Kod obrade podataka podržane bazama podataka i kontekst i podaci se fizički zapisuju u datoteku tipa baze podataka. . files) i bazama podataka (eng.

U ovom slučaju to je službenik ili službenica iz studentske službe. Relevantne podatke poznaje korisnik koji i inače radi taj posao.  Nakon diskusije s korisnikom definisana su slijedeća polja: Dr Lazo Roljic 168 07/30/16 .

 Mbr  Predmet  Prezime studenta  Ime studenta  Datum rodjenja  Zenski  Šifra predmeta Dr Lazo Roljic  Naziv predmeta  Opis predmeta  Sati predavanja  Sati vježbi  Datum ispita  Ocjena  ECTS bodovi 169 07/30/16 .

 2. lekcija  3. lekcija Dr Lazo Roljic 170 07/30/16 .