samedi 12 mars 2011

Exercices Corrigé SQL PLUS oracle Exercices Oracle SQL

Objectif : Mettre en œuvre pratiquement vos connaissances en langage SQL PLUS d'Oracle. 



Exercice 1


Une base de données ancienne, gérée par M. Dupont, aujourd’hui à la retraite, doit être réorganisée et mise en troisième forme normale (3FN). Pour cela, il faut déterminer les dépendances fonctionnelles entre les attributs de cette base.

On supposera que vous avez accès à toutes les données de M. Dupont. Créer à l’aide de SQL*Plus une vue ATTRIBUTS permettant de lister tous les attributs de toutes les tables de la base ainsi que leur type (sans doublon). Utiliser pour cela le catalogue du système. La mise en 3FN devant être effectuée par quelqu’un  d’autre, octroyer à tous les utilisateurs le droit d’accéder en lecture à la vue  ATTRI- BUTS.


Exercice 2

Soit le schéma relationnel de la base de données « pilotes-avions-vols ».

PILOTE (PLNUM, PLNOM, PLPRENOM, VILLE, SALAIRE) AVION (AVNUM, AVNOM, CAPACITE, LOCALISATION)
VOL (VOLNUM, PLNUM, AVNUM, VILLEDEP, VILLEARR, HEUREDEP, HEUREARR)

Exprimer les requêtes suivantes en SQL*Plus.
1)  Liste de tous les vols.

2)  Nom, prénom et ville de tous les pilotes, par ordre alphabétique.

3)  Nom, prénom et salaire des pilotes dont le salaire est supérieur à 20 000 F.

4)  Numéro et nom des avions localisés à Paris.

5)  Caractéristiques (AVNUM, AVNOM, CAPACITE, LOCALISATION) des  avions localisés dans la même ville que le pilote Tanguy.

6)  Caractéristiques  (VOLNUM,  VILLEDEP,  VILLEARR,  HEUREDEP,  HEUREARR,  AVNOM, PLNOM) du vol numéro 714.

7)  Nom, prénom et numéro de vol des pilotes affectés à un vol.

8)  Numéro et nom des avions affectés à des vols.

9)   Nombre total de vols.

10) Somme des capacités par type (nom) d’avion.

11) Moyenne des durées des voyages.

-------------------------------------------------------------
Essayez de réaliser une solution par vous-même. Vous pourrez retrouver la correction de ces exercices


 - Solution des exercices

Correction Exercice 3


CREATE
VIEW ATTRIBUTS AS
SELECT DISTINCT COLUMN_NAME, DATA_TYPE
FROM USER_TAB_COLUMNS ATTR, ALL_TABLES TABL WHERE ATTR.TABLE_NAME=TABL.TABLE_NAME
AND OWNER=’DUPONT’;

GRANT SELECT ON ATTRIBUTS TO PUBLIC;



Correction Exercice 4


1)    select * from vol;


2)    select plnom, plprenom, ville from pilote order by plnom, plprenom;


3)    select plnom, plprenom, salaire from pilote where salaire>20000;


4)    select avnum, avnom from avion where localisation='Paris';


5)     select avnum, avnom, capacite, localisation from avion a, pilote p where a.localisation=p.ville and plnom='Tanguy';


6)     select volnum, villedep, villearr, heuredep, heurearr, avnom, plnom from avion a, pilote p, vol v

where p.plnum=v.plnum and a.avnum=v.avnum and volnum=714;

7)     select plnom, plprenom, avnum from pilote p, vol v where v.plnum=p.plnum;


8)     select distinct a.avnum, avnom from avion a, vol v where a.avnum=v.avnum;


9)    select count(*) from vol;


10)  select avnom, sum(capacite) from avion group by avnom;


11)  select avg(heurearr-heuredep) from vol;

0 commentaires:

Enregistrer un commentaire

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites

 

IP