//1 DROP TABLE Personnel; DROP TABLE Peut_Atterrir; DROP TABLE Avion; DROP TABLE Type_Avion; DROP TABLE Vol; DROP TABLE Aeroport; CREATE TABLE Aeroport ( codeAeroport varchar2(15) NOT NULL Primary Key, nom varchar2(40) NOT NULL UNIQUE, ville varchar2(40) NOT NULL UNIQUE, pays varchar2(40) NOT NULL UNIQUE ); CREATE TABLE Vol ( numVol INT Primary Key NOT NULL, Compagnie varchar2(40) NOT NULL, periodeVol varchar2(30) NOT NULL ); CREATE TABLE Type_Avion ( nomType varchar2(40) NOT NULL Primary Key, maxSieges INT NOT NULL, nomConstructeur varchar2(40) NOT NULL ); CREATE TABLE Avion ( idAvion INT NOT NULL Primary Key, totalSieges INT NOT NULL, nomTypeAvion varchar2(40) REFERENCES Type_Avion ); CREATE TABLE Peut_Atterrir ( nomTypeAvion varchar2(40) REFERENCES Type_Avion, codeAeroport varchar2(15) REFERENCES Aeroport ); CREATE TABLE Personnel( idPersonne INT NOT NULL Primary Key, nom varchar2(40) NOT NULL, prenom varchar2(40) NOT NULL, fonction varchar2(40) NOT NULL ); //2 INSERT INTO Aeroport VALUES('C15RF', 'Charles De Gaulle', 'Roissy-en-France', 'Paris'); INSERT INTO Aeroport VALUES('MM4', 'Charles De Gaulle', 'Roissy-en-France', 'Paris'); INSERT INTO Aeroport VALUES('JM3630LP', NULL, NULL, NULL); INSERT INTO Type_Avion VALUES('RAFALE', 2, 'Dassault Aviation'); INSERT INTO Avion VALUES(0455632, 2, 'RAFALE'); INSERT INTO Peut_Atterrir VALUES('RAFALE', 'C15RF'); DELETE FROM Aeroport WHERE codeAeroport = 'C15RF'; //3 DROP TABLE Hotesse_Equipage; DROP TABLE Equipage; DROP TABLE Instance_Escale; DROP TABLE Escale; CREATE TABLE Escale( numVol INT REFERENCES Vol, numEscale INT NOT NULL CONSTRAINT NumLim CHECK(numEscale BETWEEN 0 and 20), aeroportDepart varchar2(15) REFERENCES Aeroport, aeroportArrivee varchar2(15) REFERENCES Aeroport, CONSTRAINT Diff CHECK(aeroportDepart != aeroportArrivee), heureDepartPrevue INT NOT NULL CONSTRAINT CoheureDepartPrevue CHECK(heureDepartPrevue BETWEEN 0 and 23), minuteDepartPrevue INT NOT NULL CONSTRAINT CominuteDepartPrevue CHECK(minuteDepartPrevue BETWEEN 0 and 59), heureArriveePrevue INT NOT NULL CONSTRAINT CoheureArriveePrevue CHECK(heureArriveePrevue BETWEEN 0 and 23), minuteArriveePrevue INT NOT NULL CONSTRAINT CominuteArriveePrevue CHECK(minuteArriveePrevue BETWEEN 0 and 59), Primary Key(numVol, numEscale) ); CREATE TABLE Instance_Escale ( numVol INT, numEscale INT, dateEscale DATE Primary Key, nbrSieges INT NOT NULL, idAvion INT NOT NULL, dateDepartEffectuee DATE NOT NULL, dateArriveeEffectuee DATE NOT NULL, CONSTRAINT DiffDate CHECK(dateDepartEffectuee < dateArriveeEffectuee), idEquipe INT NOT NULL, FOREIGN Key(numVol, numEscale) REFERENCES Escale ); CREATE TABLE Equipage( numVol INT, numEscale INT, dateEscale DATE, idEquipe INT Primary Key, idPilote INT, idCoPilote INT, idChefCabine INT, FOREIGN Key(numVol, numEscale, dateEscale) REFERENCES Instance_Escale, FOREIGN Key(idPilote, idCoPilote, idChefCabine) REFERENCES Personnel ); CREATE TABLE Hotesse_Equipage( idEquipe INT REFERENCES Equipage, idPersonne INT REFERENCES Personnel ); //4 //5 //6 //TP5 //1 CREATE TABLE AUTEUR( NumAuteur number Primary Key, NomAuteur varchar2(20) ); CREATE TABLE EDITEUR( codeAuteur number Primary Key, RaisonSociale varchar2(20) ); //2