Un film vraiment méthodique

Question

Proposer une implémentation SQL3 sous Oracle correspondant au modèle UML. La méthode DureeTournage sera implémentée de façon à retourner un nombre entier de jours.

Film (méthode)

Indice

On pourra utiliser une fonction duree(debut,fin) qui retourne le nombre de jours entre deux dates.

Indice

On fera un usage explicite de SELF.

Solution

1
CREATE TYPE FilmT AS OBJECT (
2
isan:char(33), 
3
titre:varchar2, 
4
debut:date, 
5
fin:date,
6
MEMBER FUNCTION dureeTournage RETURN integer
7
);
8
/
9
10
CREATE TYPE BODY FilmT 
11
IS
12
MEMBER FUNCTION dureeTournage RETURN integer)
13
IS
14
BEGIN
15
  RETURN duree(SELF.debut,SELF.fin);
16
END;
17
END;
18
/
19
20
CREATE TABLE Film AS FilmT (
21
PRIMARY KEY (isan));