Professional Documents
Culture Documents
Okidaci Baze Podataka
Okidaci Baze Podataka
Šema baze podataka VIDEO KLUB (prikaz dijagrama iz MS SQL Server 2008 softvera
za rukovanje bazama podataka):
ZADACI:
1.
Kreirati okidač koji prilikom upisa podataka o novim filmovima u bazu podataka dodeljuje
vrednost kolone «Inventarni broj», tako što uveća najveću unetu vrednost inventarnog
broja filma za jedan.
create trigger odrediIncertarnibrojfilma
on film
for insert
as
declare @najveciIBRF bigint
select @najveciIBRF=MAX([inventarni broj])
from film
if @najveciIBRF is null
set @najveciIBRF=1
else
set @najveciIBRF=@najveciIBRF+1
update film
set [inventarni broj] =@najveciIBRF
where [inventarni broj] =0
1a.
alter trigger odrediIncertarnibrojfilma
on film
for insert, update
as
declare @najveciIBRF bigint
select @najveciIBRF=MAX([inventarni broj])
from film
if @najveciIBRF is null
set @najveciIBRF=1
else
set @najveciIBRF=@najveciIBRF+1
update film
set [inventarni broj] =@najveciIBRF
where [inventarni broj] =0
2.
a) Kreirati okidač (trigger) koji prilikom unosa novih filmova u bazu podataka, proverava
da li je godina snimanja filma manja od 1895 (godina snimanja prvog filma) ili veća od
tekuće godine. Ukoliko ovaj uslov nije zadovoljen, okidač poništava vrednost godine
snimanja filma i ostavlja polje bez vrednsoti.
b) Napisati odgovarajući DML upit za unos podataka o nekom filmu u bazu podataka.
3.
4.
Kreirati okidač koji prilikom evidentiranja izdavanja filma proverava da li je korisnik uneo
datum koji je veći od današnjeg datuma. Ovakav datum se ne sme evidentirati u bazi
podataka i mora se automatski od strane okidača upisati današnji (tekući) datum kao
vrednost datuma izdavanja filma.
5.
6.
Kreirati okidač koji zabranjuje brisanje filmova iz baze podataka koji su snimljeni u
poslednje tri godine. Prikazati odgovarajuću poruku korisniku kada pokuša da obriše
podatake za nove filmove.