IEP/K1 2024

Izvor: SI Wiki
< ИЕП
Datum izmene: 24. mart 2024. u 22:55; autor: Aleksa (razgovor | doprinosi) (Исправљена поставка у складу са поставком са САБ из 2019. из оног зипа)
(razl) ← Starija izmena | Trenutna verzija (razl) | Novija izmena → (razl)
Pređi na navigaciju Pređi na pretragu
Ovaj rok nije rešen. Pomozite SI Wiki tako što ćete ga rešiti.

Prvi kolokvijum 2024. godine održan je 18. marta 2024 i trajao je 90 minuta.

Postavka

Kompanija za prodaju ulaznica pruža podršku organizaciji događaja u različitim objektima. Događaj se planira za određeni datum, ali kasnije iz nekog razloga može biti otkazan. Objekti u kojima se događaji održavaju su konfigurisani tako da imaju sektore, a u okviru sektora redove. Pre nego se otpočne sa prodajom, ulaznice se kreiraju u sistemu tkao što se za svaki red u svakom sektoru kreira onoliko karata koliko ima sedišta u redu i karte se tom prilikom proglašavaju važeće. Na dan događaja, ulaznice su u slobodnoj prodaji, dok je pre datuma događaja moguća pretprodaja i tada ulaznice mogu kupovati samo registrovani kupci i to maksimalno po tri ulaznice za jedan događaj. Za registrovane kupce postoji popust, tako da nakon određenog ukupnog broja kupljenih ulaznica ostvaruju pravo na određeni popust na zvaničnu cenu ulaznica. Događaji mogu biti povezani tako da čine lanac događaja. Kupovina je moguća samo pre prvog događaja u lancu i tom prilikom se nudi kupovina karata za svaki od događaja. Zvanična cena ulaznice se formira tako što se osnovna cena (koja se definiše na nivou događaja) pomnoži faktorom sektora i faktorom reda.

OBJEKAT(SifO,Naziv)
SEKTOR(SifS,Oznaka,BrojRedova,FaktorS, SifO)
RED(SifR,Broj,BrojSedista,FaktorR,SifS)
DOGADJAJ(SifD,Naziv,Datum,Opis, OsnovnaCena)
DOGADJAJ_OTKAZAN(SifD,Razlog)
ULAZNICA(SifU,SedisteBr,SifR,ZvacnicnaCena)
KUPAC(SifK,Ime)
POVEZANI(SifDa,SifDb)
KUPIO(SifU,SifK,Cena)
VAZI(SifU,SifD)
POPUST(BrojKarata,Popust)

Razlog: I - otkazao izvođač, O - otkazao organizator
  1. Navesti po jedan primer svakog dokumenta ukoliko bi se za potrebe navedene evidencije koristila baza podataka zasnovana na dokumentima (mongoDB), ali tako da model iskoristi sve prednosti nerelacionog modela podataka.
  2. Sastaviti skript koji koristeći funkciju za agregaciju (aggregation framework) vraća šifre i nazive onih događaja koje imaju prodatih preko 400 ulaznica sa popustom.
  3. Sastaviti Map/Reduce posao koji za svaki datum za koji postoji bar jedan događaj vraća informaciju o procentu otkazanih događaja.

1. zadatak

2. zadatak

3. zadatak

Testiranje