-- Charles Provencher, 11 099 955 drop table Aeroport cascade constraints; create table Aeroport ( codeaeroport char(3), ville varchar(30) not null, etat varchar(30) not null, nom varchar(30) not null, -- Chaque code d aeroport est unique (1 code est associe a un seul aeroport) et non nul. constraint PK_Aeroport primary key (codeaeroport) drop table Vol cascade constraints; create table Vol ( typedevol varchar(8) not null -- 2 types de vols possibles seulement check(typedevol in ( regulier, nolise )), -- Chaque numero de vol est unique et non nul. constraint PK_Vol primary key () drop table SegmentDeVol cascade constraints; create table SegmentDeVol ( nodesegment numeric(1), codeaeroportdepart char(3) not null, codeaeroportarrivee char(3) not null, dateheureprevuedepart timestamp not null, dateheureprevuearrivee timestamp not null, / Plusieurs numeros de vol peuvent avoir les memes numeros de segment, mais un seul numero de vol ne peut pas avoir plusieurs fois le meme numero de segment. Ces 2 numeros ne peuvent pas etres nuls. / constraint PK_SegmentDeVol primary key (,nodesegment), -- Les numeros de vol doivent se trouver parmis les numeros de vol definis dans la table vol. constraint FK_SegmentDeVol_Vol foreign key () references Vol,
/ Les codes d aeroport de depart doivent se trouver parmis les codes d aeroport definis dans la table Aeroport. / constraint FK_SegmentDeVol_Aeroport foreign key (codeaeroportdepart) references Aeroport, / Les codes d aeroport de depart doivent se trouver parmis les codes d aeroport definis dans la table Aeroport. / constraint FK_SegmentDeVol_Aeroport_1 foreign key (codeaeroportarrivee) references Aeroport drop table Classe cascade constraints; create table Classe ( noclasse description numeric(1) not null, varchar(20) not null, -- Chaque numero de classe doit etre unique et ils sont utilises dans d autres tables. Ce numero est non nul. constraint PK_Classe primary key (noclasse), -- Il ne devrait pas y avoir la meme description pour 2 classes differentes. constraint UK_Classe unique (description) drop table ClasseVol cascade constraints; create table ClasseVol ( prix numeric(7,2), noclasse numeric(1), -- Les numeros de vol doivent se trouver parmis les numeros de vol definis dans la table vol. constraint FK_ClassVol_Vol foreign key () references Vol, -- Les numeros de classe doivent se trouver parmis les numeros de classe definis dans la table Classe. constraint FK_ClassVol_Classe foreign key (noclasse) references Classe, / Un vol peut contenir plusieurs classes et une meme classe peut etre utlisee sur plusieurs vols, mais un vol ne peut pas contenir plusieurs fois la meme classe. Ces 2 numeros ne peuvent pas etres nuls / constraint PK_ClasseVol primary key (,noclasse)
drop table Avion cascade constraints; create table Avion ( noavion nomodele dateachat int, varchar(20) not null, date not null, -- Chaque avion est unique et donc le numero qui y est associee aussi. Il est aussi non nul. constraint PK_Avion primary key (noavion) drop table AvionVol cascade constraints; create table AvionVol ( noavion int not null, -- Les numeros de vol doivent se trouver parmis les numeros de vol definis dans la table vol. constraint FK_AvionVol_Vol foreign key () references Vol, -- Les numeros d avion doivent se trouver parmis les numeros d avion definis dans la table Avion. constraint FK_AvionVol_Avion foreign key (noavion) references Avion, -- Chaque numero de vol est unique et non nul. constraint PK_AvionVol primary key () -- Charles Provencher, 11 099 955 insert into aeroport (codeaeroport,ville,etat,nom) values ( YUL, Montreal, QC, Trudeau insert into aeroport (codeaeroport,ville,etat,nom) values ( YYZ, Toronto, ON, Pearson insert into aeroport (codeaeroport,ville,etat,nom) values ( CDG, Paris, FR, Charles-de-Gaulle insert into avion (NOAVION,NOMODELE,DATEACHAT) values (1, Boeing 747,date 2010-09-08 insert into avion (NOAVION,NOMODELE,DATEACHAT) values (2, Airbus A380,date 2011-09-01 insert into avion (NOAVION,NOMODELE,DATEACHAT) values (3, Airbus A340,date 2012-08-01 insert into vol (NOVOL,TYPEDEVOL) values ( AC2001, regulier
insert into vol (NOVOL,TYPEDEVOL) values ( AC2002, nolise insert into segmentdevol (NOVOL,NODESEGMENT,CODEAEROPORTDEPART,CODEAEROPORTARRIVEE,DATEHEUREPREVUEDEPART,DATEHEUREP REVUEARRIVEE) values ( AC2001,1, YUL, YYZ,timestamp 2014-01-02 13:00:00.000,timestamp 2014-01-02 14:00:00.000 insert into segmentdevol (NOVOL,NODESEGMENT,CODEAEROPORTDEPART,CODEAEROPORTARRIVEE,DATEHEUREPREVUEDEPART,DATEHEUREP REVUEARRIVEE) values ( AC2001,2, YYZ, CDG,timestamp 2014-01-02 14:00:00.000,timestamp 2014-01-03 07:00:00.000 insert into classe (NOCLASSE,DESCRIPTION) values (1, Affaires insert into classe (NOCLASSE,DESCRIPTION) values (2, economique insert into classevol (NOCLASSE,NOVOL,PRIX) values (1, AC2001,1010.02 insert into classevol (NOCLASSE,NOVOL,PRIX) values (2, AC2001,300.03 insert into avionvol (NOVOL,NOAVION) values ( AC2001,1 insert into avionvol (NOVOL,NOAVION) values ( AC2002,2 update aeroport set etat= QUEBEC where codeaeroport= YUL ; update classevol set PRIX=PRIX2 -- Le numero de classe 1 est associe a la classe affaires. where NOCLASSE=1; delete from Avion where NOMODELE like %A340% ; SQLPlus: Release 11.2.0.2.0 Production on Mon Sep 29 11:20:58 2014 Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options début de test-tp1.sql PL/SQL procedure successfully completed. drop table Aeroport cascade constraints drop table Vol cascade constraints drop table SegmentDeVol cascade constraints drop table Classe cascade constraints drop table ClasseVol cascade constraints
drop table Avion cascade constraints drop table AvionVol cascade constraints
1 row updated. 1 row updated. 1 row deleted. Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production With the Partitioning, OLAP and Data Mining options