Baze podataka 1/Lab 1 semestralni 2022

Izvor: SI Wiki
Pređi na navigaciju Pređi na pretragu
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.

ER dijagram baze iz postavke zadatka.

Zadatak - Grupa A

  1. 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.
  2. 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 da idFil i idKom postoje 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 vrati false. U slučaju uspeha ispisati poruku u konzoli "Uspešno izvršeno" a funkcija treba da vrati true.

Obezbediti da se u glavnom programu ova funkcija pozove sa parametrima unetim preko konzole.

Zadatak - Grupa B

  1. 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.
  2. Drugi zadatak bio je isti kao na prvoj laboratorijskoj vežbi iz januara 2021. godine.