TP3. Pratique de SQL

Transcription

TP3. Pratique de SQL
Licence Informatique de l'Université d'Aix-Marseille – Bases de Données – semestre 5 – 2012
TP3. Pratique de SQL
1 Les types de données usuelles
CHAR(n) : chaîne de caractères de longueur fixe, n ≤ 2000.
VARCHAR2(n) : chaîne de caractères de longueur variable, n ≤ 4000.
NUMBER : nombres réels.
NUMBER(n, k) : nombres décimaux de n chiffres en total dont k chiffres après le point
décimal, n ≤ 38.
DATE : date ; le format par défaut : ’DD-MON-YY’ (’20-OCT-08’ : 20 Octobre 2008).
2 Pratique : exercices
Considérer les schémas de relations pour la gestion de vente de pièces de voitures.
FOURN(Fournisseur, Adr, Tel) PIECE(IdPiece, NomdePiece, Codebarre, PrixUnit, Fournisseur) COMPATIB(IdPiece
, TypeVoiture,
NomdePiece, MarqueVoiture) FACTURE(NoFacture, Codebarre, Client, DateFct, Qte, PrixFct) I) Définir ces tables dans un fichier nommé autopieces_def.sql, puis faire exécuter ce
fichier sous SQL pour créer les tables.
Ecrire un fichier nommé autopieces_tab.sql pour faire insérer les données dans ces
tables:
­ Pour Fourn: (Verdun, St. Antoine, 365578), (Delta, Barrasse, 362866), (KAP, St. Menet, 431278). ­ Pour Piece: (Pn14570DuV, PneuDunLop, 411, 27.90, Verdun), (Pn14570DuK, PneuDunLop, 412, 28.99, KAP), (EmbFordVd, EmbrayFordVd, 421, 250.90, Verdun), (FreinsKAP, FreinsFordKA, 422, 137.90, KAP), (AmoFordVd, AmortiFordVd, 423, 99.70, Delta). ­ Pour Compatib: (Pn14570DuV, Escort CL, PneuDunLop, Ford), (Pn14570DuV, Corsa, PneuDunLop, Opel), (Pn14570DuK, Vectra, PneuDunLop, Opel), (EmbFordVd, Escort CL, EmbrayFordVd, Ford), (AmoFordVd, Fiesta, AmortiFordVd, Ford), (FreinsKAP, Focus, FreinsFordKA, Ford).
­ Pour Facture :
(01, 411, Dupont, 14­FEB­08, 4, NULL), (02, 422, Dupont, 14­FEB­08, 2, NULL), (03, 411, Laurent, 12­JAN­08, 4, NULL), (04, 421, Crusso, 30­JUN­07, 1, 250.90), (05, 423, Dupont, 14­FEB­08, 2, NULL). II) Ecrivez les requêtes suivantes, exécutez-les, et dès que vous pensez qu’elles sont
correctes, sauvegardez les dans un fichier. Vérifiez que l’affichage du résultat de requêtes
soit lisible : modifier l’environnement si cela est nécessaire. Re-exécutez ces requêtes et
sauvegardez les résultats dans un autre fichier. Visualisez ces fichiers avec un éditeur de
texte extérieur à Oracle (gedit, emacs, etc.).
1) Afficher les tables Piece et Compatib (redéfinissez le format d’affichage des colonnes
de ces tables afin que l’affichage de ces tables soit lisible et compréhensible.)
2) Afficher la table Facture en utilisant les commandes de formatage pour toutes les
colonnes de la table. Observez l’influence de ce formatage sur la table Piece.
3) Lister les fournisseurs de pneus triés dans l’ordre de leurs noms.
4) Lister les numéros de téléphones des fournisseurs qui fournissent les pneus 'Dunlop'.
5) Lister les prix des embrayages qui sont compatibles avec une voiture de marque 'Ford',
type 'Escort CL'.
6) Augmenter de 5% le prix des pièces des fournisseurs de St-Antoine.
7) Lister les fournisseurs des pièces qui apparaissent dans une facture de 'Dupont', datée
de février ou mars 2008. S'il y a plusieurs résultats possibles, grouper par facture.
8) Afficher les pièces dans les factures du client 'Dupont', avec tous les détails concernant
les pièces et leurs fournisseurs, et trier le résultat dans l’ordre de dates de factures et de
noms de fournisseurs.
9) Mettre à jour la table Facture en calculant la somme de chacune des factures.
10) Lister les pièces qui sont compatibles avec une opel corsa et une opel vectra.
11) Listes les pièces qui sont compatibles avec une opel corsa mais qui ne sont pas
compatibles avec une opel vectra.
12) Lister les pièces qui sont compatibles avec plus de deux marques de voitures.
13) Lister les pièces qui sont compatibles avec une seule marque de voitures.
14) Lister les clients dont au moins une facture a une de ces pièces (celles du n°13).
15) Lister les fournisseurs qui fournissent toutes les pièces compatibles avec une voiture
de marque 'Ford', type 'Escort CL'.

Documents pareils