You are on page 1of 2

Correction tp1

drop database TrainBD;


create database TrainBD;
#show databases;
use TrainBD;
# create tables
#create table TrainBD.Conducteur ( numCond Integer, nomCond varchar(45), adrCond varchar(45) ,
salCond integer);
#alter table Conducteur add constraint pkConducteur primary key (numCond);
create table Conducteur ( numCond Integer not null, nomCond varchar(45), adrCond varchar(45) ,
salCond integer , constraint pk Primary key (numCond));

create table Rame (numRame integer not null, nomRame varchar(45), capRame integer, locRame
varchar(45));
alter table Rame add constraint pkRame primary key (numRame);

create table TrainBD.trajet (numTrajet integer not null , numCond integer, numRame integer ,
ville_dep varchar(45), ville_arr varchar(45),h_dep datetime, h_arr datetime);
alter table trajet add constraint pkTrajet primary key (numTrajet);
alter table trajet add constraint fkTrajetConducteur foreign key (numCond) references Conducteur
(numCond);
alter table trajet add constraint fkTrajetRame foreign key (numRame) references Rame (numRame);
#Show tables;

# SQL
#4.
insert into Rame values(1,'TGV101' ,1500, 'Nice');
insert into Rame values(10,'TGV1' ,7000, 'Paris');
insert into Rame values(20,'TGM1' ,600, 'Bourdeau');

insert into Conducteur values(13,'Ali','Paris' ,3200);


insert into Conducteur values(25,'Mohamed','xxx' ,2640);
insert into Conducteur values(2,'ayoub','Nice' ,3500);
insert into Conducteur values(1,'Khaled','Paris' ,3500);

insert into Trajet values(20,13,1,'Nice', 'Paris','2023-09-26 18:05','2023-09-26 21:23');


insert into Trajet values(26,25,10,'Nice', 'Paris','2023-09-6 19:00','2023-09-26 22:00');
insert into Trajet values(27,13,1,'Paris', 'Bourdeau','2023-10-2 13:00','2023-10-02 16:01');
insert into Trajet values(28,2,10,'Nice', 'Paris','2023-09-7 19:00','2023-09-7 22:00');

#5.
select * from Rame where capRame>250;
select numRame,nomRame from Rame where locRame='Nice';
select * from conducteur;
select nomCond from conducteur where adrCond='Paris' and salCond>2500;
select * from Rame where capRame<350;

1/2
select * from trajet where ville_dep='Nice' and ville_arr='Paris' and hour(h_dep)>'18:00';
#select * from trajet where ville_dep='Nice' and ville_arr='Paris' and ( select h_dep as time from trajet
where hour(h_dep)>'18:00');

select * from conducteur where numCond not in (select numCond from trajet);

select numtrajet,ville_dep from trajet where numCond in (100, 204);

#6
select numTrajet from trajet where ville_dep='Nice' and numCond in (select numCond from
Conducteur where adrCond='Nice');

select * from trajet, Rame where trajet.numRame=Rame.numRame and locRame!='Nice';

select numCond, nomCond from conducteur where adrCond=(select adrCond from conducteur where
nomCond='Ali');

select numCond from conducteur where nomCond!='Ali' and numCond in (select numCond from
trajet);

#7

create view trajet_view as


select numTrajet, ville_dep from trajet, Rame
where trajet.numRame=Rame.numRame and locRame!='Nice';

select * from trajet_view;

2/2

You might also like