0% ont trouvé ce document utile (0 vote)
33 vues3 pages

Correction TP SQL : Création BD et requêtes

Transféré par

sindashm18
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
33 vues3 pages

Correction TP SQL : Création BD et requêtes

Transféré par

sindashm18
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université de Kairouan A.

U : 2019-2020
Institut Supérieur d’Informatique Filière : 1SI
et de Gestion de Kairouan Module : Environnement de
développement de BD
Enseignant responsable : SAGAR Samya

CORRECTION : TP n°1 – LANGAGE SQL

1. CREATION D’UNE BASE DE DONNEES

-- Création de la base

create table pilote (


plnum number(2),
plnom varchar(30),
plprenom varchar(30),
ville varchar(30),
salaire number(8,2),

constraint pilote_cle_pri primary key(plnum));

insert into pilote values(1, 'Zighed', 'Djamel', 'Paris', 21000);


insert into pilote values(2, 'Boussaid', 'Omar', 'Toulouse', 21000);
insert into pilote values(3, 'Viallaneix', 'Jacques', 'Nice', 18000);
insert into pilote values(4, 'Nicolloyannis', 'Nicolas', 'Paris', 17000);
insert into pilote values(5, 'Darmont', 'Jerome', 'Toulouse', 19000);
insert into pilote values(6, 'Lallich', 'Stephane', 'Paris', 18000);
insert into pilote values(7, 'Rakotomalala', 'Ricco', 'Nice', 17000);
insert into pilote values(8, 'Chauchat', 'Jean-Hughes', 'Lyon', 15000);
insert into pilote values(9, 'Jalam', 'Radwan', 'Nice', 18000);
insert into pilote values(10, 'Muhlenbach', 'Fabrice', 'Paris', 20000);

create table avion (


avnum number(2),
avnom varchar(30),
capacite number(3),
localisation varchar(30),

constraint avion_cle_pri primary key(avnum));

insert into avion values(1, 'A300', 300, 'Nice');


insert into avion values(2, 'A310', 300, 'Nice');
insert into avion values(3, 'B707', 250, 'Paris');
insert into avion values(4, 'A300', 280, 'Lyon');
insert into avion values(5, 'Concorde', 160, 'Nice');
insert into avion values(6, 'B747', 460, 'Paris');
insert into avion values(7, 'B707', 250, 'Paris');
insert into avion values(8, 'A310', 300, 'Toulouse');
insert into avion values(9, 'Mercure', 180, 'Lyon');
insert into avion values(10, 'Concorde', 160, 'Paris');

De même pour la table VOL, avec les contraintes


constraint vol_cle_pri primary key(volnum);
onstraint vol_cle_etr_pilote foreign key(plnum) references pilote(plnum);
constraint vol_cle_etr_avion foreign key(avnum) references avion(avnum);

1
2. MISE A JOUR DE LA BASE DE DONNEES

insert into vol values(17, 5, 8, 'Bordeaux', 'Clermont-Fd', 12, 13);


insert into vol values(18, 12, 7, 'Paris', 'Lille', 11, 12); -- Ne marche
pas, contrainte clé étrangère
update vol set villedep='Lille', heurearr=17 where volnum=14;
delete from vol where volnum=17;

3. INTERROGATION DE LA BASE DE DONNEES

1. select plnom from pilote order by nom;

2. select plnom from pilote order by sal desc, nom;

3. select ville, avg(salaire) from pilote group by ville;

4. select distinct avnom from avion order by avnom;

5. select count(*) from avion where localisation = ‘Lyon’;

6. select count(distinct avnum) from avion where localisation = ‘Lyon’;

7. select max(avg(salaire)) from pilote group by ville;

8. select ville from pilote group by ville having avg(salaire) = (select


max(avg(salaire)) from pilote group by ville);

9. select * from vol;

10. select plnom, plprenom, salaire from pilote where salaire > 20000;

11. select plnom, plprenom, volnum from pilote p, vol v


where [Link] = [Link];

12. select count(*) from vol;

13. select sum(capacite) from avion;

14. select avg(heurearr - heuredep), stddev(heurearr - heuredep) from


vol;

15. select min(capacite), max(capacite) from avion;

16. select plnum, count(volnum) from vol


group by plnum;

17. select plnom, sum(heurearr - heuredep)


from pilote p, vol v
where [Link] = [Link]
group by plnom;

18. select avnum, avnom from avion


minus

2
select [Link], avnom from avion a, vol v where [Link] = [Link];

19. select plnom, plprenom from pilote p


where not exists (
select * from avion a
where not exists (
select * from vol v
where [Link] = [Link]
and [Link] = [Link] ) );

Vous aimerez peut-être aussi