Prije svega, dobar dan svima
Evo ovako, radim na nekoj bazi, vježbam pomalo, baš me interesira to sve.
Dakle, baza ima slijedeće tablice:
Kôd:
izdavac (sifra serial PRIMARY KEY,naziv VARCHAR(50) NOT NULL);
knjiga (sifra serial PRIMARY KEY,ISBN VARCHAR (15),naziv VARCHAR(50) NOT NULL,godina SMALLINT NOT NULL CHECK (godina BETWEEN 1970 AND 2050),izdavac integer REFERENCES izdavac ON DELETE RESTRICT ON UPDATE CASCADE);
autor (sifra serial PRIMARY KEY,ime VARCHAR(20) NOT NULL,prezime VARCHAR(20) NOT NULL);
autor_knjige (knjiga integer REFERENCES knjiga,autor integer REFERENCES autor,CONSTRAINT pk1 PRIMARY KEY (knjiga,autor));
clan (sifra serial PRIMARY KEY,ime VARCHAR(20) NOT NULL,prezime VARCHAR(20) NOT NULL,adresa VARCHAR(50) NOT NULL);
posudba (clan integer REFERENCES clan,datum_posudbe DATE,datum_vracanja DATE,knjiga integer REFERENCES knjiga,CONSTRAINT pk2 PRIMARY KEY (clan,knjiga,datum_posudbe));
E sad, radim sa nekim složenim upitima.
Imam dva zadatka, i oni mi jedini zadaju probleme.
- upit koji vraća broj izvršenih posudbi prema nazivu knjige (ako je posudba izvršena, knjiga je vraćena), ali samo ako je knjiga posuđena više od 2 puta,
- upit koji vraća broj posudbi prema članovima, ali samo ako je član posudio više od tri knjige
Zapravo, jedine probleme mi zadaje ovo prebrojavanje, kako vidjeti da li je knjiga posuđena više od X puta ili ako je član imao više posudbi?
Molio bih za malu pomoć oko ovoga i objašnjenje, to ni na kolokviju nisam znao