Базе података 1/Лаб 1 семестрални 2022

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу
Овај рок није решен. Помозите SI Wiki тако што ћете га решити.

Прва лабораторијска вежба 2022. године одржала се 23. децембра. Задатак испод се појавио у првом термину, када су радили студенти смера РТИ, са различитим захтевима на парним и непарним рачунарима (групе Б и А). Био је доступан код са првих сат и по показног дела, као и документација за SQLite и улазни ток у Јави.

Поставка

Банка путем својих филијала (прати се назив и адреса) у разним местима (прате се поштански број и назив) опслужује своје комитенте (прати се назив и адреса) који могу бити без места, а у тренутку првог појављивања у банци пријављују седиште у одређеном месту.

Сваки комитент може да има више рачуна у свакој од филијала (прате се статус, број ставки, дозвољени минус, и стање), а мора имати бар један рачун. Статус рачуна може бити активан, блокиран или угашен. Рачун постаје блокиран када пређе у недозвољени минус, а активира се када стање пређе у дозвољени минус.

Комитенти са својих рачуна врше трансакције путем ставки промета (прате се редни број, датум и време) које могу бити уплате (прати се основ и износ) или исплате (прате се износ и провизија), при чему је то могуће у било којој филијали.

ЕР дијаграм базе из поставке задатка.

Задатак - Група А

  1. Написати функцију printRacuneSaDozvMinusom() која на конзолу исписује све рачуне који имају дефинисан дозвољени минус. Исправити главни програм тако да се ова функција прва позива.
  2. Комитент је решио да отвори рачун и извшри уплату на њега. Написати функцију bool zadatak(int idFil, int idKom, float dozvMinus, float sum) којом се врши стварање рачуна и уплата. Претпоставити да idFil и idKom постоје у бази као исправне вредности. Функција је потребно да буде отпорна на грешке. У случају неуспеха, исписати поруку у конзоли "Došlo je do greške", вратити базу у конзистенто стање а функција треба да врати false. У случају успеха исписати поруку у конзоли "Uspešno izvršeno" а функција треба да врати true.

Обезбедити да се у главном програму ова функција позове са параметрима унетим преко конзоле.

Задатак - Група Б

  1. Написати функцију printRacuniSaStavkama() која на конзолу исписује све рачуне који имају бар једну ставку. Исправити главни програм тако да се ова функција прва позива.
  2. Други задатак био је исти као на првој лабораторијској вежби из јануара 2021. године.