Oppgaver om rules, funksjoner og triggere

Eksempel-tabeller

create table student(
  sid int not null,
  navn varchar(30),
  adr varchar(50),
  tlf varchar(9),
  primary key (sid)
);

create table fag(
  fagid int not null,
  navn varchar(25),
  primary key (fagid)  
);

create table studieAar(
  fagid int not null,
  aar int not null,
  studiepoeng int,
  primary key (fagid, aar),
  foreign key (fagid) references fag
);

create table karakter(
  sid int not null,
  fagid int not null,
  aar int not null,
  karakter char(1),
  primary key (sid, fagid, aar),
  foreign key (sid) references student,
  foreign key (fagid, aar) references studieAar
);
  

Rules

  1. Lag en rule som sjekker at verdien av karakter er korrekt.
  2. Lag en rule som sjekker at aar ikke er en negativ verdi.

Funksjoner

  1. Lag en funksjon som finner karakteren til en student i et fag.
  2. Lag en funksjon som beregner hvor mange studiepoeng en student har.
    NB! Husk å ikke regne med antallet stryk, og at ikke noen fag blir med flere ganger.
  3. Lag en funksjon som lager en karakterutskrift for en gitt student for et gitt år.

Triggere

  1. Lag en trigger som forhindrer at man kan slette data i tabellen student.
  2. Lag en trigger som logger alle endringer i tabellen karakter.
  3. Lag en trigger som sjekker at alle data som ligger i tabellen studieAar er korrekt.