Baze podataka 1/Lab 1 semestralni 2022
- Ovaj rok nije rešen. Pomozite SI Wiki tako što ćete ga rešiti.
Prva laboratorijska vežba 2022. godine održala se 23. decembra. Zadatak ispod se pojavio u prvom terminu, kada su radili studenti smera RTI, sa različitim zahtevima na parnim i neparnim računarima (grupe B i A). Bio je dostupan kod sa prvih sat i po pokaznog dela, kao i dokumentacija za SQLite i ulazni tok u Javi.
Postavka
Banka putem svojih filijala (prati se naziv i adresa) u raznim mestima (prate se poštanski broj i naziv) opslužuje svoje komitente (prati se naziv i adresa) koji mogu biti bez mesta, a u trenutku prvog pojavljivanja u banci prijavljuju sedište u određenom mestu.
Svaki komitent može da ima više računa u svakoj od filijala (prate se status, broj stavki, dozvoljeni minus, i stanje), a mora imati bar jedan račun. Status računa može biti aktivan, blokiran ili ugašen. Račun postaje blokiran kada pređe u nedozvoljeni minus, a aktivira se kada stanje pređe u dozvoljeni minus.
Komitenti sa svojih računa vrše transakcije putem stavki prometa (prate se redni broj, datum i vreme) koje mogu biti uplate (prati se osnov i iznos) ili isplate (prate se iznos i provizija), pri čemu je to moguće u bilo kojoj filijali.
Zadatak - Grupa A
- Napisati funkciju
printRacuneSaDozvMinusom()koja na konzolu ispisuje sve račune koji imaju definisan dozvoljeni minus. Ispraviti glavni program tako da se ova funkcija prva poziva. - Komitent je rešio da otvori račun i izvšri uplatu na njega. Napisati funkciju
bool zadatak(int idFil, int idKom, float dozvMinus, float sum)kojom se vrši stvaranje računa i uplata. Pretpostaviti daidFiliidKompostoje u bazi kao ispravne vrednosti. Funkcija je potrebno da bude otporna na greške. U slučaju neuspeha, ispisati poruku u konzoli "Došlo je do greške", vratiti bazu u konzistento stanje a funkcija treba da vratifalse. U slučaju uspeha ispisati poruku u konzoli "Uspešno izvršeno" a funkcija treba da vratitrue.
Obezbediti da se u glavnom programu ova funkcija pozove sa parametrima unetim preko konzole.
Zadatak - Grupa B
- Napisati funkciju
printRacuniSaStavkama()koja na konzolu ispisuje sve račune koji imaju bar jednu stavku. Ispraviti glavni program tako da se ova funkcija prva poziva. - Drugi zadatak bio je isti kao na prvoj laboratorijskoj vežbi iz januara 2021. godine.