Maxime Gallant-Lapointe 13 029 876 Frédéric Langlois 11 060 530

Transcription

Maxime Gallant-Lapointe 13 029 876 Frédéric Langlois 11 060 530
/*
Maxime Gallant-Lapointe 13 029 876
Frédéric Langlois 11 060 530
Kemy Provencher 13 095 296
*/
67 / 2 = 33.5 pts
drop table Aeroport cascade constraint;
create table Aeroport (
codeAeroport char(3) not null, /* on oblige les aéroports a avoir un code */
ville
varchar(50),
-3
etat
varchar(25), not null pour les attribut non clé
nom
varchar(50),
constraint aeroport_pk primary key (codeAeroport)
);
drop table Avion cascade constraint;
create table Avion (
noAvion
int,
noModele varchar(20),
not null attribut non cle
dateAchat date,
constraint Avion_noAvion_pk primary key (noAvion)
);
drop table Classe cascade constraint;
create table Classe (
noClasse
int,
description varchar(25), not null
constraint noclasse_pk primary key (noClasse)
);
drop table Vol cascade constraint;
create table Vol (
noVol
char(6),
typeDeVol varchar(10), not null check ...
constraint vol_pk primary key (noVol)
);
- 2.5
- 1.5
- 4.5
drop table SegmentVol cascade constraint;
create table SegmentVol (
- 5.5
noVol
char(6),
noSegment
int not null, check /*
... un vol doit avoir un no de segment */
codeAeroportDepart
char(3) not null,
/* il serait surprenant de voir un vol partant de NULL part */
codeAeroportArrivee
char(3) not null,
/* Il serait triste que le vol arrive NULL part */
dateHeurePrevueDepart
timestamp,
sans heure de départ et d'arrivée aussi !
dateHeurePrevueArrivee timestamp, not null
constraint noseg_unique unique (noSegment),
/* Il ne peut y avoir deux segments avec le même numéro */
constraint SegmentVol_noVol_fk
foreign key (noVol)
references Vol,
-9
constraint SegmeentVol_AeroportD_fk
foreign key (codeAeroportDepart)
references Aeroport,
constraint SegementVol_AeroportA_fk
foreign key (codeAeroportArrivee)
references Aeroport
manque les contraintes check sur les dates et les codes aeroport
);
drop table ClasseVol cascade constraint;
create table ClasseVol (
noClasse int not null,
noVol
char(6) not null,
prix
numeric(6,2),
constraint noclasse_fk not null
foreign key (noClasse)
references Classe,
-4
constraint ClasseVol_noVol_fk
foreign key (noVol)
references Vol,
constraint classe_vol_unique unique (noClasse, noVol) /* il ne peut y avoir un prix différent pour le même couple v
ol/classe */
);
drop table AvionVol cascade constraint;
create table AvionVol (
noVol
char(6) not null,
noAvion int not null,
constraint vol_unique unique (noVol), /* Chaque vol est unique */
constraint AvionVol_noVol_fk
foreign key (noVol)
-3
references Vol,
constraint AvionVol_noAvion_fk
foreign key (noAvion)
references Avion
);/*
Maxime Gallant-Lapointe 13 029 876
Frédéric Langlois 11 060 530
Kemy Provencher 13 095 296
*/
insert into Aeroport values (’YUL’, ’Montréal’, ’QC’, ’Trudeau’);
13 pts
insert into Aeroport values (’YYZ’, ’Toronto’ , ’ON’, ’Pearson’);
insert into Aeroport values (’CDG’, ’Paris’
, ’FR’, ’Charles-de-Gaulle’);
insert into Avion values (1, ’Boeing 747’ , to_date(’2010-09-08’, ’yyyy-mm-dd’));
insert into Avion values (2, ’Airbus A380’, to_date(’2011-09-01’, ’yyyy-mm-dd’));
insert into Avion values (3, ’Airbus A340’, to_date(’2011-08-01’, ’yyyy-mm-dd’));
insert into Vol values (’AC2001’, ’régulier’);
insert into Vol values (’AC2002’, ’nolisé’);
insert into SegmentVol values (’AC2001’, 1, ’YUL’, ’YYZ’, to_date(’2014-01-02 13:00’, ’yyyy-mm-dd hh24:mi’), to_dat
e(’2014-01-02 14:00’, ’yyyy-mm-dd hh24:mi’));
insert into SegmentVol values (’AC2001’, 2, ’YYZ’, ’CDG’, to_date(’2014-01-02 14:00’, ’yyyy-mm-dd hh24:mi’), to_dat
e(’2014-01-03 07:00’, ’yyyy-mm-dd hh24:mi’));
insert into classe values (1, ’Affaires’);
insert into classe values (2, ’Économique’);
insert into classeVol values (1, ’AC2001’, ’1010,02’);
insert into classeVol values (2, ’AC2001’, ’300,03’);
erreur dans le format des nombres
-1
insert into avionVol values (’AC2001’, 1);
insert into avionVol values (’AC2002’, 2);
update Aeroport
set etat=’QUEBEC’
where etat=’QC’;
2 pts
update ClasseVol
set prix=prix*2
where noClasse=1;
2 pts
2 pts
delete from avion where noModele like ’%A340%’;
SQL*Plus: Release 11.2.0.2.0 Production on Mon Sep 29 11:21:18 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 constraint
*
ERROR at line 1:
ORA-00942: table or view does not exist
Table created.
drop table Avion cascade constraint
*
ERROR at line 1:
ORA-00942: table or view does not exist
Table created.
drop table Classe cascade constraint
*
ERROR at line 1:
ORA-00942: table or view does not exist
Table created.
drop table Vol cascade constraint
*
ERROR at line 1:
ORA-00942: table or view does not exist
Table created.
drop table SegmentVol cascade constraint
*
ERROR at line 1:
ORA-00942: table or view does not exist
Table created.
drop table ClasseVol cascade constraint
*
ERROR at line 1:
ORA-00942: table or view does not exist
Table created.
drop table AvionVol cascade constraint
*
ERROR at line 1:
ORA-00942: table or view does not exist
Table created.
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
insert into classeVol values (1, ’AC2001’, ’1010,02’)
*
ERROR at line 1:
ORA-01722: invalid number
insert into classeVol values (2, ’AC2001’, ’300,03’)
*
ERROR at line 1:
ORA-01722: invalid number
1 row created.
1 row created.
1 row updated.
0 rows 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