29
UNIVERZITET U BEOGRADU TEHNIČKI FAKULTET U BORU BAZA PODATAKA ZA TURISTIČKU AGENCIJU Predmet: BAZE PODATAKA

Seminarski Iz Baze

Embed Size (px)

DESCRIPTION

Baze podataka u accesu

Citation preview

Page 1: Seminarski Iz Baze

UNIVERZITET U BEOGRADU TEHNIČKI FAKULTET U BORU

BAZA PODATAKA ZA TURISTIČKU AGENCIJU Predmet: BAZE PODATAKA

Mentor: Studenti:dr.Zoran Anđelković Gornjaković Nadica 54/06 Anđelović Valentina 77/06

Page 2: Seminarski Iz Baze

SADRŽAJ

1. Opis problema....................................................................................................................3

2. MOV..................................................................................................................................4

3. Relacioni model.................................................................................................................7

Relacioni model turističke agencije.............................................................................7

4. Erwin..................................................................................................................................8

Logički model..............................................................................................................9

Fizički model.............................................................................................................10

5. Generisana ACCESS baza - Relationship.......................................................................11

Izgled tabela u ACCESS-u........................................................................................14

Tipovi podataka u svim tabelama..............................................................................15

Switchboard (komandna tabla)..................................................................................18

Upiti (Query).............................................................................................................20

Izveštaji (Reports).....................................................................................................21

6. Zaključak.........................................................................................................................23

7. Literatura.........................................................................................................................24

2

Page 3: Seminarski Iz Baze

Opis problema

Kao temu za seminarski rad smo uzele turističku agenciju, pa je potrebno napraviti bazu podataka za

TA. Turistička agencija treba da obezbedi mogućnost organizovanja grupnih i individualnih putovanja u

zemlji i inostranstvu i pružanja turističkih usluga: rezervacije i izdavanja autobuskih karata za sve

destinacije i rezervacije hotela.

U radu turističke agencije se razlikuju sledeći procesi:

1. Formiranje ponude ugostiteljskog preduzeća,

2. Formiranje ponude transportnog preduzeća,

3. Formiranje ponuda turističke agencije,

4. Ugovaranje aranžmana,

5. Plaćanje aranžmana.

Ugostiteljsko preduzeće daje ponude UP koje sadrže stavke ponude UP. Stavke ponude UP obuhvataju

tip pansiona i smeštaj. Smeštaj sadrži i vrste smeštaja. Takođe i transportna preduzeća daju svoje ponude

TP sa stavkama ponude TP, gde spada vozilo.

Stavke jednog i drugog preduzeća čine ponude turističke agencije. Ponuda TA je formirana od strane

radnika, a na osnovu nje radnik formira aranžman. Nakon potvrde klijenta za neki aranžman, radnik vrši

rezervaciju.

Plaćanje aranžmana se vrši preko banke. Klijent uplaćuje novac u banku, a banka šalje izvod

turističkoj agenciji, odnosno radniku koji tu radi.

Za izradu ovog seminarskog rada korišćeni su sledeći programi:

Microsoft Visio 2003 (za crtanje modela objekti i veze),

Erwin (za projektovanje fizičkog i logičkog modela i generisanje baze u access),

Microsoft Access 2003 (u kome imamo već generisanu bazu sa svim objektima – tabelama i

relacijama iz Erwina, gde imamo kreirane forme, upite i izveštaje).

3

Page 4: Seminarski Iz Baze

MOV

Metodologija razvoja informacionih sistema zahteva da se precizno definiše šta se pod pojmom informacionog sistema podrezumeva, koje su njegove funkcije i kakav je njegov položaj u sistemu u kome deluje. Metodologija razvoja informacionih sistema treba da bude opšta, primenljiva na sisteme bilo koje vrste, odnodno na neki “opšti sistem”.

Osnovni koncepti za modeliranje po metodologiji jeste Model Objekti i Veze koji su preuzeti iz opšte definicije sistema. Sistem se posmatra kao skup objekata, njihovih međusobnih veza i njihovih atributa. Objekti imaju svoja svojstva koja se iskazuju preko atributa i veza prema drugim objektima. Model objekti-veze je semantički bogat model, prvenstveno namenjen za specifikovanje statičke strukture baze podataka i osnovnih (strukturnih) dinamičkih ograničenja. Koristi se za projektovanje baze podataka.

Slika 1. MOV za proces 1.1. Formiranje ponude UP

Slika 2. MOV za proces 1.2.Formiranje ponude TP

4

Page 5: Seminarski Iz Baze

Slika 3. MOV za proces 1.3.Formiranje ponuda TA

Slika 4. MOV za proces 1.4.Ugovaranje aranžmana

Slika 5. MOV za proces 1.5.Plaćanje aranžmana

5

Page 6: Seminarski Iz Baze

Slika 6. MOV za Turističku agenciju

U našem slučaju modela objekti veze karakteristično je da se Ponuda TA formira iz Stavki Ponude UP i Stavki Ponude TP, koje su slabi objekti u odnosu na objekte Ponuda UP i Ponuda TP. Veza koju smo koristili između Stavki Ponude UP i Stavki Ponude TP je 0,M, a atributi koji su dodati vezi su: DatumFormiranja, DatumOd, DatumDo, Opis i Cena. Ovakav tip veze se naziva agregacija.

Agregacija je apstrakcija u kojoj se veza između dva ili više tipova objekata tretira kao objekat na višem nivou apstrakcije. Zbog toga što istovremeno predstavlja i objekat i vezu agregacija se često naziva i mešoviti tip objekta – veza. Objekti koji čine agregaciju se nazivaju komponentama agregacije. Postupak inverzan agregaciji se naziva dekompozicija. Kardinalnost preslikavanja KOMPONENTA→AGREGACIJA mora biti specificirana, dok je za inverzno preslikavanje uvek DG=1 i GG=1, što znači da je agregacija egzistencijalno zavisna od svojih komponenata. Agregirani objekat se razlikuje od ostalih objekata u sistemu po tome što nema svoj sopstveni identifikator, već ga identifikuju objekti koje on agregira. Jednom pojavljivanju agregacije uvek odgovara po jedno pojavljivanje komponenti koje je čine. Agregirani objekat se u modelu trtira kao i bilo koji drugi objekat. To znači da on može da ima svoje atrubute i/ili da bude u vezi sa nekim drugim objektima (moguće agregiranim, takođe), da ima svoje podtipove i slično.

Slika 7. Agregacija Ponude TA

6

Page 7: Seminarski Iz Baze

Relacioni model

Relacija predstavlja skup entorki (skup objekata nekog tipa). Relacija se može predstaviti kao tabela, gde su kolone atributi relacije, a vrste su entorke relacije.

Primarni ključ relacije je atribut (prost ključ) ili skup atributa relacije (složeni ključ) koji jedinstveno identifikuje n-torku u relaciji (jednu vrstu u tabeli). Primarni ključ u prikazu relacije se podvlači.

Transformacija MOV u Relacioni model - Svaki entitet iz MOV-a postaje relacija.Atributi entiteta postaju atributi relacije. Primarni ključ dobijene relacije je:

Za jake entitete, atribut identifikator, Za slabe entitete, atribut identifikator nadređenog entiteta i atribut ili skup atributa koji

jedinstveno određuje slab entitet, Za podtip, identifikator nadtipa, Za agregaciju, skup identifikatora koje prema agregaciji imaju preslikavanje sa gornjom granicom

kardinalnosti M, ili identifikator jedne od komponenti koje prema agregaciji ima preslikavanje sa gornjom granicom 1.

Spoljni ključ dobijene relacije je atribut koji predstavlja identifikator eniteta prema kome dati entitet ima preslikavanje sa kardinalnošću (1,1).

Relaciona baza podataka je kolekcija vremenski promenljivih relacija. Iskaz “vremenskih promenljivih” koristi se da ukaže na činjenicu da se vrednosti atributa u BP menjaju. Možemo razlikovati pojam šema relacione BP i samu relacinu BP. Šema relacine BP definiše strukturu baze, dok je sama BP predstavljena skupom tabela čije su strukture opisane u šemi baze.

Relacioni model turističke agencije

UgostiteljskoPreduzece (ID_UP,Naziv,Adresa,Telefon,E-mail,ID_MestaUP)

PonudaUP (ID_PonudeUP,Datum,Formirao,ID_UP)

StavkePonudeUP (ID_PonudeUP,BrStavkeUP,CenaPoDanu,ID_TipPansiona,ID_Smestaja)

TipPansiona (ID_TipPansiona,Naziv,Opis)

Smestaj (ID_Smestaja,Naziv,Adresa,ID_VrsteSmestaja)

VrstaSmestaja (ID_VrsteSmestaja,Kategorija,VrsteUsluga,BrojKreveta)

MestoUP (ID_MestaUP,Naziv,PostanskiBroj,NazivDrzave)

PonudaTA (ID_PonudeUP,ID_PonudeTP,BrStavkeUP,BrStavkeTP,DatumFormiranja,DatumOd, DatumDo,Opis,Cena,ID_Radnika,ID_Aranzmana)

Radnik (ID_Radnika,Ime,Prezime,JMBG,Adresa,ID_Aranzmana,ID_Izvoda,ID_Rezervacije)

Aranzman (ID_Aranzmana,VizaY/N,CenaAranzmana,ID_Rezervacije,ID_Smestaja,ID_TipPansiona, ID_Vozila)

Rezervacija (ID_Rezervacije,Ime,Prezime,JMBG,Adresa,Telefon,DatumOd,DatumDo)

Izvod (ID_Izvoda,BrojRacuna,DatumUplate,SvrhaUplate,NovoStanje,PrethodnoStanje)

7

Page 8: Seminarski Iz Baze

Banka (ID_Banke,Naziv,Adresa,ID_Izvoda,ID_Klijenta)

Klijent (ID_Klijenta,Ime,Prezime,BrojLicneKarte,BrojPasosa,Adresa,Telefon,ID_Aranzmana)

TransportnoPreduzece (ID_TP,Naziv,Adresa,Telefon,E-mail,ID_MestaTP)

MestoTP (ID_MestaTP,Naziv,PostanskiBroj,NazivDrzave)

PonudaTP (ID_PonudeTP,Datum,Formirao,ID_TP)

StavkePonudeTP (ID_PonudeTP,BrStavkeTP,CenaPoKM,ID_Vozila)

Vozilo (ID_Vozila,VrstaVozila,TipVozila,BrojSedista,Registacija,ID_TP)

Erwin

Erwin predstavlja CASE (Computer Aided Software Design) alat koji se koristi za projektovanje, dizajn i implementaciju relacionih baza podataka. CASE alat je razvio LogicWorks i ekipa sa University Princeton.

Logički model je verzija modela baze podataka koji odslikava logiku poslovnih zahteva i pravila jedne firme. U logičkom modelu informacionog sistema tabela se naziva entitet dok je kolona atribut.

Fizički model je verzija modela baze podataka koji odslikava stvarni dizajn fizičke baze, uključujući tipove podataka u kolonama i ograničenja, dodeljene indekse i ostala fizička svojstva baze koju ERwin generiše kao deo šeme na ciljnom serveru. Kada se pređe u fizički model desnim klikom na entitet otvara se padajući meni u kome se mogu precizirati parametri fizičkog modela. Entitet u fizičkom modelu naziva tabela, a atribut kolona što odgovara organizaciji baze podataka. Fizički model se može eksportovati u neku bazu podataka što je relativno redak slučaj.

IDEF1X je metodologija za grafički opis entiteta, tabela, kolona, atributa i relacija.

Mogućnosti ovog alata su:

Modelovanje podataka kao fundamentalni korak u projektovanju informacionog sistema, Modeli iz ERwin se mogu eksportovati u gotovo sve postojeće baze podataka, ERwin može učitati bazu podataka i automatski kreirati dokumentaciju vezanu za bazu podataka.

ERwin je kao i većina modernih CASE alata prihvatio koncepciju projektovanja informacionog sistema i modelovanja podataka na osnovu grafičkih predstava koje su vizuelno jasnije, jednostavnije za pretraživanje i pregled i uklanjaju redudanciju (ponavljanje) koja je bila neophodna u tekstualno-kreiranom modelu informacionog sistema.

8

Page 9: Seminarski Iz Baze

Logički model u Erwinu:

Slika 8. Logički model u Erwinu

9

Page 10: Seminarski Iz Baze

Fizički model u Erwinu:

Slika 9. Fizički model u Erwinu

Generisana Access baza – relationships10

Page 11: Seminarski Iz Baze

Slika 10. Generisana Access baza turisticke agencije

U ovom delu Access- a, klijent izgleda kao na slici 11. ID_Klijenta je primarni ključ. Klijent ima atrubute: Ime, Prezime, BrojLicneKarte, BrojPasosa, Adresa i Telefon. ID_Aranzmana predstavlja primarni ključ tabele sa kojom je povezana tabela Klijent.

Slika 11. Klijent u Access-u, relationship

11

Page 12: Seminarski Iz Baze

Slika 12. Generisana Access baza za proces 1.1 Formiranje ponude UP

Slika 13. Generisana Access baza za proces 1.2 Formiranje ponude TP

12

Page 13: Seminarski Iz Baze

Slika 14. Generisana Access baza za proces 1.3 Formiranje ponuda TA

Slika 15. Generisana Access baza za proces 1.4 Ugovaranje aranzmana

13

Page 14: Seminarski Iz Baze

Slika 16. Generisana Access baza za proces 1.5 Placanje aranzmana

Izgled tabela u ACCESS-u

U Design view- u možemo videti strukturu tabele Klijent, kao i ostalih tabela u našoj bazi. Vidimo sve atribute, primarni ključ, kao i tipove podataka koje atributi podrazumevaju i preko kojih su definisani. Atributi predstavljaju kolone u tabeli.

Slika 17. Klijent, design view

Izgled tabele klijenta:

14

Page 15: Seminarski Iz Baze

Slika 18. Tabela klijenta

Tipovi podataka u svim tabelama

15

Page 16: Seminarski Iz Baze

16

Page 17: Seminarski Iz Baze

17

Page 18: Seminarski Iz Baze

Slika 19. Tipovi podataka u tabelama

Switchboard (komandna tabla)

Na slici je prikazan izgled komandne table, odnosno glavnog menija, naše baze. Na komandnoj tabli imamo 10 opcija, a to su: Unos ugostiteljskih preduzeca, Unos transportnih preduzeca, Unos novog aranžmana, Unos vozila, Unos novog klijenta, Unos radnika, Rezervacija, Izrada ponude, Izveštaji o ponudama TA i Izveštaji o rezervacijama.

Switchboard predstavlja mehanizam u formi Kontrolne table za jednostavno kretanje kroz forme. Switchboard omogućuje korisniku lakši rad sa aplikacijom.

18

Page 19: Seminarski Iz Baze

Slika 20. Glavni meni

Kada izaberemo neku od ovih opcija, otvara se novi prozor koji nam nudi mogućnosti za rad u vezi sa poslom koji smo izabrali.Npr. kada hoćemo da izvršimo rezervaciju onda kliknemo na rezervaciju i otvori se prozor kao na slici 21. Preko ove forme možemo da vršimo pregled već postojećih rezervacija, možemo da dodajemo nove i snimamo ih, možemo da brišemo već postojeće i na kraju da izađemo sa forme kada obavimo ono što nam je potrebno.

Slika 21. Rezervacija

19

Page 20: Seminarski Iz Baze

Upiti (Query)

Prava snaga sistema za upravljanje bazom podataka je sposobnost da vidite podatke koje želite, u redosledu koji vi želite. Sa upitima (query) vi možete postaviti pitanja o podacima koji se nalaze u vašim tabelama. Podatke u upitu možete "izvući" iz jedne ili više tabela. Nakon što Access pronađe sve podatke koje predstavljaju odgovor na vaše postavljeno pitanje, vi možete da vidite podatke u tabelarnom prikazu, da ih analizirate ili pak da ovaj upit postavite kao osnovu za izradu obrasca (formi), izveštaja, grafikona ili čak možete iskoristiti za neki drugi upit. Upit su mehanizmi za manipulaciju sa podacima.

Najčešće korišćeni tipovi upita su takozvani select upiti. Sa select upitima, vi možete pregledati tražene podatke iz vaših tabela, analizirati podatke i čak menjati podatke. Nakon što pokrenete select upit, Access skuplja podatke koje ste tražili u dynaset. Dynaset izgleda i radi kao tabele, ali to nije klasična tabela – to je dinamički "pogled" na podatke iz jedne ili više tabela, selektovani i sortirani kao što jespecifirano u upitu. Vi možete da unosite i menjate podatke u dynaset poljima, identično kao i utabelama.

Slika 22. Izgled upita za aranžman

Za dobijanje ovog upita korišćene su sledeće tabele: Aranžman, Vozilo, Smeštaj i Tip pansiona. Ovaj upit će, dakle, izdvojiti one podatke koji su nam potrebni i po već utvrđenim relacijama između tabela, prikazati nam podatke koje smo hteli. Zahvaljujući ovom upita možemo da vidimo koje to sve stavke obuhvata aranžman.

Pomoću upita možemo doći do nekih informacija koje nas u određenom trenutku trebaju, ili nas zanimaju.

SQL View – upit za aranžman izgleda ovako: SELECT Aranzman.ID_Aranzmana, Smestaj.ID_Smestaja, Smestaj.Naziv, Smestaj.Adresa, TipPansiona.ID_TipPansiona, TipPansiona.Naziv, Vozilo.ID_Vozila, Vozilo.VrstaVozila, Vozilo.TipVozilaFROM Vozilo INNER JOIN (TipPansiona INNER JOIN (Smestaj INNER JOIN Aranzman ON Smestaj.ID_Smestaja = Aranzman.ID_Smestaja) ON TipPansiona.ID_TipPansiona = Aranzman.ID_TipPansiona) ON Vozilo.ID_Vozila = Aranzman.ID_Vozila;

20

Page 21: Seminarski Iz Baze

Izveštaji (Reports)

Izveštaji su specijalizovani oblik prikazivanja podataka iz upita i tabela prilagođen štampi. Njima se mogu prikazati sumarni podaci, rezultati statističke obrade podataka ili predstaviti podaci u grafičkom obliku. Poslednji korak u projektovanju baze podataka, uz pomoć Access-a, je pravljenje izveštaja. Slično obrasima, koriste se za prikaz podataka, ali za razliku od obrazaca, izveštaji se ne prikazuju na monitoru već na papiru.

U savremenom poslovnom svetu koriste se sledeće vrste izveštaja: Tabelarni izveštaji - podaci se štampaju u redovima i kolonama, grupisani su i izračunavaju se

ukupni zbirovi, kao varijante mogu se dobiti među zbirovi, Stubični izveštaji - liče na obrasce i mogu da izračunavaju ukupne zbirove, sadrže dijagrame, Izveštaji za štampanje cirkularnih pisama, Izveštaji za štampanje nalepnica sa adresama - ova vrsta izveštaja omogućuje štampanje

poštanskih adresa u više stupaca ili izveštaja sa hijerarhijskim prikazom podataka.

Najčešće u izveštajima nisu dovoljni samo jednostavni tabelarni prikazi, već i grupisanja, sortiranja, izdvajanja. Planiranje izveštaja počine mnogo pre nego što se napravi izveštaj. Za dobro dizajnirane i osmišljene izveštaje potrebno je pratiti sledeća pravila: definisanje izgleda izveštaja, pridruživanje podataka.

Slika 23. Izveštaj o rezervaciji

21

Page 22: Seminarski Iz Baze

Kada se završi proces kreiranja izveštaja, jedino što preostaje jeste štampanje istog, to se može izvršiti na sledeće načine:

pritiskom na dugme File-Print u meniju, pritiskom na dugme Print u prozoru za pregledanje izveštaja, pritiskom na dugme File-Print u prozoru baze podataka, pošto se prethodno istakne ime izveštaja.

Struktura izveštaja može da se snimi na disk u svakom trenutku izborom opcija: File-Save, File-Save As i File-Export. Kada se izveštaj snima na disk po prvi put, javlja se okvir za dijalog u kome se zadaje ime izveštaja. Okvir za dijalog sam nudi ime koje čarobnjak podrazumeva za izveštaje, a to je Report.

22

Page 23: Seminarski Iz Baze

ZAKLJUČAK

U ovom seminarskom radu smo imali zadatak da napravimo bazu podataka za turističku agenciju. Zadatak smo započeli time što smo definisali aktivnosti rada turističke agencije. Te aktivnosti smo klasifikovali na nekoliko procesa. To su procesi: formiranje ponude ugostiteljskog preduzeća, formiranje ponude transportnog preduzeća, formiranje ponuda turističke agencije, ugovaranje aranžmana i plaćanje aranžmana. Kod ovih procesa smo imali objekte na osnovu kojih su pravljene tabele u bazi podataka i tako smo opisali svoje viđenje toka radnji kojima se bavi turistička agencija.

Na samom početku smo formirali bazu u ACCESS-u, koja se sastoji od 19 tabela, formirane za svaki objekat posebno, 9 forme, 6 upita i 2 izveštaja. Uz pomoć Erwina smo definisali fizički i logički model. Svi ovi procesi imali su za rezultat samu našu bazu podataka.

23

Page 24: Seminarski Iz Baze

LITERATURA

[1] Baze podataka, Fakultet organizacionih nauka, Beograd, 2004.

[2] Mateijali sa predavanja iz PIS, Fakultet za poslovnu informatiku, Beograd, 2005.

[3] Mihailo Jauković : Uvod u informacione sisteme, Fakultet organizacionih nauka, Beograd,1999.

[4] Zoran Anđelković : Slajdovi sa predavanja iz baza podataka

[5] Miloš Tripunović : Slajdovi sa predavanja iz naprednih programskih alata

[6] Upoznajte se sa Ms Accessom, PowerPoint prezentacija

24