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.
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));