1 / 16

Ve žba:

Ve žba:. Skica modela i relacije. Ne zaboravite da je najvažniji deo posla da razumemo   problem iz realnog sveta i da osmislimo rešenje , odnosno da skiciramo model.

otto
Download Presentation

Ve žba:

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Vežba: Skica modela i relacije

  2. Ne zaboravite da je najvažniji deo posla da razumemo  problem iz realnog sveta i da osmislimo rešenje, odnosno da skiciramo model. • Zatim predstoji manje-više rutinski posao pravljenja baze u Accessu, ali i taj deo posla važno je da se uvežba kako biste bili sposobni da stignemo do rešenja...

  3. Na osnovu zahteva koje budući korisnik vaše baze stavlja pred vas treba da odredite: • koliko tabela je potrebno da napravite, • koja obeležja idu u koju tabelu i • kakve veze između tabela postoje. Bitan deo zadatka je da otkrijete kog tipa je koje obeležje.

  4. Situacija bi mogla da glasi ovako: Angažovao vas je Fudbalski Savez Nedođije da im izradite bazu podataka. Za svakog igrača potrebno je evidentirati ime i prezime, datum rođenja, klub za koji igra, kratku biografiju, da li je igrač stranac ili nije, broj žutih i broj crvenih kartona u dosadašnjem toku prvenstva, prosečnu ocenu i poziciju u timu (jedna od navedenih: golman, odbrana, sredina, napad). Za svaki klub evidentiramo naziv, mesto i ligu u kojoj igra. Svaka liga ima svoj naziv i maksimalan broj klubova koji može biti u toj ligi.

  5. Iako u zadatku nisu opisani odnosi koji važe u ovoj situaciji, sasvim je prirodno da jedan igrač ne može istovremeno da igra u dva kluba. Takodje, jedan klub ne može istovremeno da igra u dve lige u zemlji. Jasno je i da u jednom klubu ima više igrača kao što i u jednoj ligi ima više klubova. Prvo napravite skicu modela na papiru.

  6. Evo objašnjenja: Najpre odredite koliko je tabela potrebnotj.uočite koji od entiteta koji se pominju u zadatku imaju neke osobine. Igrači imaju neke osobine, klubovi imaju osobine, lige imaju osobine.

  7. To bi značilo da nam trebaju 3 tabele: Igrači, Klubovi i Lige. (Obratite pažnju da je naziv tabele gotovo uvek u množini: nije Igrač nego Igrači, nije Liga nego Lige. To je zato što tabela predstavlja skup entiteta, više njih… a jedan entitet je jedan red tabele) Napomena: Ne bi bila uopšte greška da kreirate i četvrtu tabelu Pozicije, u kojoj bi bile zabeležene sve pozicije u timu.

  8. Zatim zabeležite sve pobrojaneosobine.  Koje su osobine igrača, koje su osobineklubova itd… Neke od njih bi možda i bili dobri kandidati za prirodni primarni ključ, ali rekli smo da sigurno nećemo pogrešiti ako napravimo veštački primarni ključ. Dakle, ovde nema dileme: za svaku tabelu zapišite i primarne ključeve npr. IgracID, KlubID, LigaID.

  9. Sada uočite veze između tabela: Jedno od obeležja svakog igrača je klub za koji igra. Taj klub je jedan od klubova koji su uneti u tabelu Klubovi. I eto veze: obeležje klub iz tabele Igraci spojite linijom sa primarnim klučem iz tabele Klubovi (klubID).

  10. Pre nego što se vratimo Access-u, ostaje još da odlučimo kog tipa je svako od obeležja koje smo zapisali. Sve tipove već znate, sada samo mudro odaberite.

  11. Oko primarnih ključeva nema dileme, to jeAutoNumber. Datum rođenja i svi drugi datumi su tipa Data/Time. Za obeležja koja su strani ključevi, kao klub ili liga, koristimo LookUp – Combo box. Biografija, i slična obeležja koja podrazumevaju puno teksta su tipa Memo.

  12. Obratite sad pažnju. Kako zabeležiti da li je igrač stranac ili nije? Većina učenika će pomisliti da je u pitanju tekstualni podatak. To nije nemoguće rešenje, ali je loše. Ako mi ostavimo korisniku prostor da upiše reči “stranac” i “nije stranac” ili tako nešto, može se desiti da korisnik, u najmanju ruku, pogreši pri unosu. Ili da umesto “nije stranac” upiše “nije” ili da napiše “domaći”. Svašta se može desiti kada damo korisniku suviše slobode, što bi lupali glavu oko toga? Mnogi se učenici onda dosete da ponude korisniku da izabere sa spiska jedan od dva odgovora, uz pomoć LookUp Wizarda. Nije loše. Ali ako imamo samo dva ponuđena odgovora, idealan tip za to je Yes/No. Ovaj tip primenite kada treba izabrati da li je knjiga u biblioteci izdata ili je slobodna; da li je autobus parkiran ili nije; da li je plaćena članarina ili nije. Kad god su samo dve opcije u opticaju, opredelite se za Yes/No.

  13. Broj žutih kartona, ocena, maksimalan brojklubova u ligi… To su sve brojčani podaci, dakle tipa Number.  Ali ovde treba donete još jednu odluku. Koji Number?Igrač ne može imati -3 kartona, ili 3,24 kartona, niti će imati više od 255 kartona. Dakle, ovde se radi o celim, pozitivnim, malim brojevima. Za to je idealan tip Byte. Prosečna ocena bi međutim mogla biti decimalan broj. Ne baš veliki, i ne sa puno decimala. Ovde će dobro da pasuje Single. Evo još par primera:Broj stranica neke knjige bi mogao da bude Integer, ceo broj ali ne baš mali. Broj stanovnika opštine, ili broj posetilaca stadiona je baš veliki broj, i tu bi nam trebao Long Integer. Obeležja kao što su imena, nazivi, opisi, mesta, adrese, pa i brojevi telefona, su tipa Text.

  14. Kod obeležja pozicija korisnik treba da odabere jednu od ponuđenih pozicija. Za to ćemo koristiti LookUp Wizard i to onu varijantu gde samiukucavamo opcije. (Ako hoćemo fleksibilnije rešenje, takvo da recimo korisnik sam može da unosi nove pozicije u timu, onda bi nam trebala nova tabela Pozicije. I još jedna veza. Ali da ne komplikujemo dalje.)

  15. Kada imate skicu modela, veoma je lako napraviti tabele u Access-u. Provežbajte i slobodno pitajte sve što vam nije jasno. I meni će biti lakše da odgovaram na pitanja, nego da vodim monolog.

More Related