Baze Podataka

12
PROJEKAT BAZE PODATAKA ZA KNJIŽARU 1. Uvod Predmet projekta je baza podataka jedne knjižare koja se suočava sa povećanim obimom posla i ima ambicije da unapredi i proširi svoje poslovanje. Povećan obim posla, sporija usluga i zahtevi klijenata ukazali su na potrebu za boljim upravljanjem informacijama o knjigama i klijentima knjižare “Divne knjige”. Uvođenje baze podataka bi olakšalo davanje informacija o knjigama i obradu narudžbina. Takođe bi se omogućilo stvaranje evidencije o klijentima i ubrzalo ispunjavanje zahteva za knjigama. Vlasnik knjižare očekuje da kompletna implementacija bude završena za mesec dana od dana prihvatanja projekta. U tom periodu bi se izvršila i obuka korisnika aplikacije. 2. Poslovni sistem .1 Poslovni ciljevi “Divne Knjige” je mala ali rastuća kompanija koja se bavi prodajom knjiga. Misija kompanije je da svakom svom klijentu obezbedi knjige različite tematike, u različitim formatima, zatim najnovija izdanja različitih izdavača kao i obaveštenja o bitnim događajima kao što je potpisivanje knjiga i slično. Krajnji cilj knjižare je da omogući klijentima naručivanje knjiga preko Interneta. .2 Informacione potrebe Knjižari “Divne Knjige” je potrebno da poseduje ažurne informacije o naslovima knjiga, autorima, izdavačima, ISBN brojevima, izdanjima knjiga, informacije koje se odnose na tematiku koju određena knjiga obrađuje. Takođe joj je potrebno da prati prodaju na veliko i prodaju na malo za sve artikle. Knjižari su potrebne i informacije o klijentima, to jest kupcima, kao što su ime i prezime klijenta, adresa i grad iz koga klijent dolazi kao i email adresa radi slanja emailova o specijalnim ponudama, datumima potpisivanja knjiga i slično. Naravno, informacije o klijentima treba uvek da budu na vreme ažurirane ukoliko dođe do promene prebivališta, promene emaila i slično. Knjižari je još potrebno da beleži sve narudžbine kupaca kao i datume kada su narudžbine napisane.

Transcript of Baze Podataka

Page 1: Baze Podataka

PROJEKAT BAZE PODATAKA ZA KNJIŽARU

1. UvodPredmet projekta je baza podataka jedne knjižare koja se suočava sa povećanim obimom

posla i ima ambicije da unapredi i proširi svoje poslovanje. Povećan obim posla, sporija usluga i zahtevi klijenata ukazali su na potrebu za boljim

upravljanjem informacijama o knjigama i klijentima knjižare “Divne knjige”. Uvođenje baze podataka bi olakšalo davanje informacija o knjigama i obradu narudžbina. Takođe bi se omogućilo stvaranje evidencije o klijentima i ubrzalo ispunjavanje zahteva za knjigama. Vlasnik knjižare očekuje da kompletna implementacija bude završena za mesec dana od dana prihvatanja projekta. U tom periodu bi se izvršila i obuka korisnika aplikacije.

2. Poslovni sistem

2.1 Poslovni ciljevi“Divne Knjige” je mala ali rastuća kompanija koja se bavi prodajom knjiga. Misija

kompanije je da svakom svom klijentu obezbedi knjige različite tematike, u različitim formatima, zatim najnovija izdanja različitih izdavača kao i obaveštenja o bitnim događajima kao što je potpisivanje knjiga i slično. Krajnji cilj knjižare je da omogući klijentima naručivanje knjiga preko Interneta.

2.2 Informacione potrebeKnjižari “Divne Knjige” je potrebno da poseduje ažurne informacije o naslovima knjiga,

autorima, izdavačima, ISBN brojevima, izdanjima knjiga, informacije koje se odnose na tematiku koju određena knjiga obrađuje. Takođe joj je potrebno da prati prodaju na veliko i prodaju na malo za sve artikle. Knjižari su potrebne i informacije o klijentima, to jest kupcima, kao što su ime i prezime klijenta, adresa i grad iz koga klijent dolazi kao i email adresa radi slanja emailova o specijalnim ponudama, datumima potpisivanja knjiga i slično. Naravno, informacije o klijentima treba uvek da budu na vreme ažurirane ukoliko dođe do promene prebivališta, promene emaila i slično. Knjižari je još potrebno da beleži sve narudžbine kupaca kao i datume kada su narudžbine napisane.

2.3 Poslovna pravila i pretpostavkeKnjižara Divne Knjige bi trebalo da bude u mogućnosti da pomogne bilo kom klijentu koji

pozove telefonom ili pošalje email. Svaka mušterija može predstavljati klijenta. Klijent je svako ko je kupio knjigu ili je naručio. Razmatraju se svi zahtevi klijenata uključujući i interesovanja za izdavače, tematiku i tipove artikala koje knjižara još nije imala ili trenutno nema u svom asortimanu.

Pretpostavke: Klijenti su svesni da će informacije o njima biti unete u bazu knjižare i saglasni su sa tim. Klijenti žele da dobijaju obaveštenja o formatu knjiga, da li je tvrdi povez, meki ili su

knjige na CD medijima. Podaci o knjigama koje su klijenti ranije kupovali će biti uneti u bazu podataka da bi

obezbedili “istoriju” za klijente koji su ranije kupovali robu u ovoj knjižari.

Page 2: Baze Podataka

3. Konceptualni model

Na osnovu iznetih ciljeva i informacionih potreba knjižare Divne Knjige, formiran je ER-dijagram, prikazan na slici 1., koji prikazuje glavne entitete, njihove atribute i veze među njima.

S obzirom da je zadovoljstvo klijenata glavni cilj knjižare i da je istaknuta potreba da informacije o klijentima budu uvek ažurne, bitno je izdvojiti entitet KLIJENT u okviru koga se nalaze atributi koji daju osnovne informacije o klijentima. To su: ime, u okviru koga se navodi prezime i ime svakog klijenta, adresa, grad u kojem klijent živi i, opcionalno, email ako ga klijent ima.

S druge strane glavni proizvod knjižare Divne Knjige jesu knjige, na osnovu kojih se izdvaja entitet ARTIKAL, koji poseduje osnovne informacije o knjigama. Na osnovu potrebnih informacija o artiklu definisani su njegovi atributi: isbn, naslov knjige, autor koji je napisao knjigu, kao i cena na malo i cena na veliko (ova informacija naručito interesuje klijente).

Na osnovu iskazane informacione potrebe knjižare da beleži sve narudžbine kupaca kao i datume kada su narudžbine napisane, formira se entitet NARUDZBINA u kojoj su najbitniji atributi datum_narudzbine kada je artikal naručen i kolicina naručenog artikla. .Prema navedenim poslovnim pravilima, klijentom se smatra svako ko je kupio ili naručio knjigu, ali se ne zahteva da kupac obavezno naruči knjigu pre kupovine. Takođe, knjižara vodi računa i o svima koji su na bilo koji način, telefonom ili elektronskom poštom, iskazali interesovanje za njenu ponudu. Dakle moguće je da neki klijenti nisu dostavili nijednu narudžbinu. Zbog tih poslovnih pravila je veza između KLIJENTA i NARUDZBINE opcionalna na strani klijenta.

Informacije koje su takođe bitne za artikal jesu: izdavač koji je izdao artikal, tematika tj. oblast koju knjiga izučava kao i tip artikla. Svaka od navedenih informacija sadrži druge bitne informacije tako da se formiraju tri nova entiteta IZDAVAC, TEMATIKA i TIP_ARTIKLA. Njihova veza sa entitetom ARTIKAL je opcionalna na strani tih entiteta zbog poslovnog pravila da knjizara vodi računa i o interesovanja svojih klijenata za izdavače, tematiku i tipove artikala koje još nije imala ili trenutno nema u svom asortimanu.

Slika 1. ER dijagram za knjižaru Divne Knjige

U model nisu uključeni neki događaji koje je naručilac projekta istakao kao značajne (promocije, potpisivanja knjiga) i o kojima knjžara hoće da obaveštava svoje klijente, ali ne i da ih evidentira u bazi podataka. Za sada je naručilac zadovoljan da ima adresne podatke kupaca da bi mogao da im na vreme šalje informacije o tom događajima.

Page 3: Baze Podataka

4. Relacioni modelKonceptualni model baze podataka se dalje prevodi, ili transformiše, u relacioni model

baze podataka. To znači da će navedeni entiteti, atributi, veze i jedinstveni identifikatori biti prevedeni u objekte relacione baze podataka.

Svaki od entiteta će biti preveden u šemu tabele, atribut u kolonu, jedinstveni identifikatori će postati primarni ključevi, a veze među entitetima će se transformisati u strane ključeve. Na slici 2. prikazan je dijagram relacionog modela baze podataka za knjižaru Divne Knjige koji se dobija transformacijom konceptualnog modela.

Slika 2. Relacioni dijagram za knjižaru “Divne Knjige”

5. Implementacija

Baza podataka Divne Knjige je implementirana korišćenjem Oracle Application Express alata. Implementacija je izvršena kroz nekoliko koraka:

5.1 Kreiranje tabela i stranih ključeva

Nakon logovanja na OAE pokrenuta je ikona SQL Workshop a zatim ikona Object Browser/Create/Tabe. Kreirano je ukupno šest tabela, na osnovu relacionog modela.

Prilikom kreiranja svake tabele prolazi se kroz nekoliko koraka koji su prikazani na slici 3.. Prvo se definišu kolone u okviru kojih se određuje ime kolone, zatim se tip podatka koji se u kolonu unose i izbor da li se u kolonu mogu uneti null vredonsti.

Slika 3. Koraci za kreiranje tabela

Page 4: Baze Podataka

Na slici 4. je prikazan prvi korak u kreiranju tabele NARUDZBINA

Slika 4. Kreiranje tabele NARUDZBINE

Kada se u poslednjem koraku Confirm klikne na dugme Create, dobija se izgled tabele (u ovom slučaju tabele Artikli) prikazan na slici 5..

Slika 5. Tabela ARTIKLI

Kada se kreiraju sve tabele relacionog modela, potrebno je definisati strane ključeve. Ovom prilikom strani ključevi su kreirani “ručno”. Prvo je potrebno odabrati tabelu u kojoj postoje strani ključevi. Na osnovu relacionog modela se vidi da su to dve tabele, ARTIKLI i NARUDZBINE. Zatim se iz ponuđenih kolona bira strani ključ. Na slici 6. je prikazan korak pri kreiranju stranog ključa NARUDZBINE_KLIJENT_ID_FK.

Page 5: Baze Podataka

Slika 6. Postupak izbora stranog ključa KLIJENT_ID za tabelu NARUDZBINE

5.2 Kreiranje aplikacije Divne Knjige

Iz Home prozora OAE bira se nova ikona Applicatio Builder/Create. Prvi korak u ukreiranju aplikacije je davanje imena aplikacije. U ovom slučaju to je ime Divne Knjige.

Slika 7. Imenovanje aplikacije

Sledeći korak predstavlja kreiranje strana aplikacije. Ukupno postoji 7 strana aplikacije, pri čemu će strane biti dostupne korišćenjem kartice i imaće formu za unos podataka i izveštaj odnosno prikaz već unetih podataka.

Page 6: Baze Podataka

Slika 8. Kreirane strane za aplikaciju Divne Knjige

Prilikom kreiranja aplikacije bira se i izgled korisničkog interfejsa. Oracle Applicatio Express nudi veliki broj tema za korisnički interfejs. Izgled mogućih tema je prikazan na slici 9..

Slika 9. Izgled tema za korisnički interfejs

Kada su kreirane sve osnovne strane i određena tema korisničkog interfejsa, dobija se prozor koji daje pregled nove aplikacije (slika 10.).

Page 7: Baze Podataka

Slika 10. pregled aplikacije Divne Knjige

5.3 Kreiranje formi za unos podataka i regiona za izveštajeU okviru ovog koraka kreiraju se forme za unos podataka kao i oblast izveštaja u okviru

svake strane. Na taj način će korisnik moći da unosi nove podatke i da ima pregled postojećih podataka na istoj strani.

Prilikom kreiranja formi, potrebno je kliknuti na aplikaciju Divne Knjige, koja se nalazi u okviru Application Builder strane. Kada se odabere strana na kojoj će biti kreirana forma, bira se dugme za unos formi (slika 11.).

Slika 11. Izbor forme za unos podataka

Sledećim korakom se bira dugme Form on a Table with Report, a zatim se bira tabela na osnovu koje će forma biti kreirana. Kada se klikne na strelicu na gore pored tekst polja, otvara se popup prozor iz kojeg se bita odgovarajuća tabela. U ovom slučaju odabrana je tabela KLIJENTI.

Page 8: Baze Podataka

Slika 12. Izbor tabele pri kreiranju forme za unos podataka

Pošto će se na srtani Klijenti nalaziti i izveštaj o klijentima koji su već uneti u bazu, potrebno je odabrati kolone koje će biti prikazane u okviru izveštaja (slika 14.).

Slika 13. Izbor kolona tabele KLIJENTI za kreiranje izveštaja

Isti postupak se koristi prilikom izbora kolona za kreiranje forme.Kreiranje izveštaja i formi za tabele ARTIKLI i NARUDZBINE se izvodi na sličan, ali

ne isti način. Razlika je u tome što se za kreiranje izveštaja o artiklima koriste kolone iz više tabela, u ovom slučaju osenčene kolone (slika 14.) iz tabele ARTIKLI, zatim kolona tematika iz tabele TEMATIKA, kolona tip artikla iz istoimene tabele i kolona izdavac iz tabele IZDAVACI .

Page 9: Baze Podataka

Slika 14. Izbor kolona iz tabele ARTIKLI za kreiranje izveštaja

5.4 Pokretanje aplikacijeNakon formiranja svih formi i izveštaja za kreirane strane vrši se pokretanje aplikacije.

Aplikacija Divne Knjige se nalazi u okviru prozora Application Builder. Klikom na aplikaciju otvara se novi prozor u okviru koga treba odabrati ikonu Run Application (Slika 15.).

Slika 15. Pokretanje Aplikacije

Na slici 16. je prikazana aplikacija Divne Knjige, pri čemu je otvorena strana ARTIKLI za unos knjiga. Na strani se vidi i izveštaj o već unetim artiklima. U gornjem desnom uglu se mogu videte kartice za svaku kreiranu stranu.

Prilikom testiranja i unošenja podataka pre predaje aplikacije korisniku, treba voditi računa da bude unet dovoljan broj podataka kako bi demonstracija baze bila uspešna.

Klikom na karticu ARTIKLI otvara se strana (slika 16.) na kojoj je data i forma za unos i pregled već unetih artikala.

Page 10: Baze Podataka

Slika 16. strana ARTIKLI

6. Zaključak Polazeći od misije, ciljeva i informacionih potreba korisnika, kreirana je baza podataka i

aplikacija “Divne knjige” da bi bilo omogućeno kvalitetnije poslovanje sa kupcima i uvećanje poslovnog uspeha kompanije. Nad implementiranom bazom podataka se takođe može kreirati web-aplikacija koja bi omogućila da kupci imaju uvid u ponudu knjiga i da biraju i naručuju knjige preko Interneta.

S obzirom na razvojni trend i ambicije kompanije “Divne knjige”, može se očekivati zahtev da se baza podataka proširi i na poslove nabavke, promocije i finansija. To će značiti da ERD sa slike 1. treba proširiti novim entitetima, vezama i atributima, zatim nove elemente ERD transformisati u nove elemente relacionog dijagrama (slika 2.) i sprovesti postupak implementacije novih elemenata po postupku opisanom u tačkama 5.1 – 5.4.