19.02.2015 Views

Exercices et solutions

Exercices et solutions

Exercices et solutions

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

44 Annexe A • <strong>Exercices</strong> <strong>et</strong> <strong>solutions</strong><br />

A.9 CHAPITRE 9 - LE LANGAGE SQL AVANCÉ<br />

9.1 Développer, à l’aide des concepts étudiés dans c<strong>et</strong> ouvrage, un mécanisme<br />

qui perm<strong>et</strong> de limiter l’accès à une table par un utilisateur déterminé à des<br />

moments bien déterminés, par exemple du lundi au vendredi, de 9h à 17h.<br />

Solution<br />

On suggère de définir une vue limitant l’accès aux plages horaires désirées.<br />

create view T_CLIENT(NCLI, NOM, ...) as<br />

select NCLI, NOM, ...<br />

from CLIENT<br />

where extract(weekday from current_date) b<strong>et</strong>ween 1 and 5<br />

and extract(hour from current_time) b<strong>et</strong>ween 9 and 17;<br />

revoke select on CLIENT from U_MERCIER:<br />

grand select on T_CLIENT to U_MERCIER;<br />

9.2 Exprimer l’opérateur except à l’aide d’une jointure externe.<br />

Solution<br />

Exemple : liste des numéros des clients qui n’ont pas passé de commande :<br />

select C.NCLI<br />

from CLIENT C left outer join COMMANDE M<br />

on (C.NCLI = M.NCLI)<br />

where NCOM is null;<br />

9.3 Ecrire une requête qui produise les supérieurs hiérarchiques, directs ou<br />

indirects, d’une personne dont on spécifie le numéro (figure 8.2).<br />

9.4 Ecrire une requête qui donne la liste des produits semi-finis <strong>et</strong> matières<br />

premières qui entrent dans la composition du produit de numéro p1 (figure<br />

8.6).<br />

9.5 Ecrire une requête qui donne la liste des matières premières qui entrent dans<br />

la composition du produit de numéro p1 (figure 8.6).<br />

9.6 Ecrire une requête qui calcule le prix d’un produit de numéro spécifié (figure<br />

8.6).<br />

9.7 Ecrire une requête qui donne, pour chaque table, le nombre de colonnes <strong>et</strong> la<br />

longueur maximum des lignes.<br />

9.8 Le catalogue que nous avons décrit (figures 9.3 <strong>et</strong> 9.4) diffère quelque peu<br />

des catalogues proposés par les SGBD. En particulier, les catalogues réels<br />

ont souvent une structure complexe destinée à améliorer les performances.<br />

Ecrire les requêtes qui garnissent les tables de la figure 9.4 à partir du contenu

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!