CTRL+C pour copier, CTRL+V pour coller
1
CREATE OR REPLACE TYPE Personne AS OBJECT (
4
MEMBER FUNCTION age RETURN number
7
CREATE TABLE tPersonne OF Personne (
11
CREATE OR REPLACE TYPE Conducteur AS OBJECT(
16
MEMBER FUNCTION age RETURN number
19
CREATE TABLE tConducteur OF Conducteur (
21
CHECK (typePermis IN ('A','B','E'))
24
CREATE OR REPLACE TYPE Voiture AS OBJECT (
29
proprietaire REF Personne
32
CREATE TABLE tVoiture OF Voiture (
33
PRIMARY KEY (type, marque),
34
SCOPE FOR (proprietaire) IS tPersonne
37
CREATE TABLE tConduit (
39
conducteur REF Conducteur,
40
SCOPE FOR (voiture) IS tVoiture,
41
SCOPE FOR (conducteur) IS tConducteur
CREATE OR REPLACE TYPE Personne AS OBJECT (
nom varchar(20),
ddn date,
MEMBER FUNCTION age RETURN number
);
/
CREATE TABLE tPersonne OF Personne (
PRIMARY KEY (nom)
);
CREATE OR REPLACE TYPE Conducteur AS OBJECT(
nom varchar(20),
ddn date,
typePermis char(1),
datePermis date,
MEMBER FUNCTION age RETURN number
);
/
CREATE TABLE tConducteur OF Conducteur (
PRIMARY KEY (nom),
CHECK (typePermis IN ('A','B','E'))
);
CREATE OR REPLACE TYPE Voiture AS OBJECT (
type varchar(20),
marque varchar(20),
nbPortes number,
puissance number,
proprietaire REF Personne
);
/
CREATE TABLE tVoiture OF Voiture (
PRIMARY KEY (type, marque),
SCOPE FOR (proprietaire) IS tPersonne
);
CREATE TABLE tConduit (
voiture REF Voiture,
conducteur REF Conducteur,
SCOPE FOR (voiture) IS tVoiture,
SCOPE FOR (conducteur) IS tConducteur
);