Vous êtes sur la page 1sur 3

TP : BASE DE DONNEES

Soit le schéma relationnel :

EMP(Matr, NomE, Poste, DatEmb, Sup, Salaire, Commission, NumDept)

DEPT(NumDept, NomDept, Lieu)

PROJET(CodeP, NomP)

PARTICIPATION(Matr, CodeP, Fonction)

1. Connectez vous en tant que SYS et créer un utilisateur.


CREATE USER Votre_notre_nom IDENTIFIED BY MDP
2. Donner des privileges à Votre_notre_nom
GRANT connect, resource to Votre_notre_nom
3. Connecter vous en tant que l’utilisateur “Votre_notre_nom” et exécuter le script SQL
inibase.sql en tapant @BD
Conn Votre_notre_nom/ MDP
SQL> @BD -- Si le fichier se trouve dans le BIN de Oracle
SQL> @C:\BD --- Si le fichier se trouve dans la racine C

Juste pour vérifier que l'installation s'est bien passée


4. Faites afficher les définitions des tables EMP et DEPT (DESCRIBE EMP, ou DESC
DEPT en abrégé).
5. Lancez la requête "select * from dept".

Quelques interrogations simples


6. Affichez toutes les informations de la table EMP.
7. Affichez seulement la liste des matricules avec les noms.
8. Affichez les noms des employés du département 20.
9. Trouvez le poste des employés dont le salaire est supérieur à 300 000 F.
10. Affichez le nom des commerciaux (poste = COMMERCIAL) et des ingénieurs (poste =
INGENIEUR), et la somme totale perçue (salaire + commission).

Création de tables
11. Créez les deux tables PROJET et PARTICIPATION pour traduire le schéma relationnel
donné. N'oubliez pas les contraintes d'intégrité.
Modifications simples des données
12. Créer un nouveau département : 50, COMPTABILITE, BOROMO
13. Créer un nouveau département : 60, DIRECTION
14. Dupliquer l'enregistrement du département 20, en lui donnant le numéro de
département 25 (en utilisant un select pour récupérer les informations sur le
département 20).
15. Le département 60 s'est maintenant établi dans la ville de BOROMO. Enregistrer le
fait dans la table DEPT.
16. Promouvoir Mr. MALO au poste de PDG, dans le département 60.
17. Éliminer de la table EMP la ligne de Mr. MOUSSA qui prend sa retraite.
18. Augmenter de 10 % le salaire de tous les employés du département 10.
19. Mr. DRISSA vient d'être embauché comme commercial au salaire de 1 000 000.
L'enregistrer sous le matricule 7910 dans le département 30.

Modifications un peu plus compliquées


20. Enregistrez les participations suivantes aux projets :
Au projet SPORTS (vous supposerez que vous connaissez les matricules et le code du
projet SPORTS) : MALO, WILFRID
Au projet QUALITE (sans connaître ni les matricules des employés, ni le code du
projet QUALITE) : NAABA, WILFRID
21. Enregistrez les nominations de MALO comme chef du projet SPORTS, WILFRID
comme trésorier dans tous les projets auxquels il participe.
22. Les départements de BOBO sont supprimés et leurs employés sont réaffectés au
département 40. Mettre à jour les tables DEPT et EMP.

Interrogations sur une seule table


23. Liste des divers postes, en n'affichant chaque poste qu'une seule fois.

On considèrera qu'une commission NULL correspond à un employé qui ne touche aucune


commision (donc commission = 0).

24. Noms des employés dont le salaire est inférieur à la commission.


25. Noms des employés dont le salaire est supérieur à la commission.
26. Noms des employés qui ne touchent pas de commission.
27. Noms des employés dont la 2ème lettre est un E.
28. Numéros de département dont au moins un employé touche une commission (au
sens où la commission de l'employé n'est pas NULL).
29. Noms des employés qui touchent entre 2 000 000 et 3 000 000.

Jointures
30. Affichez le produit cartésien des noms des départements par les lieux.
31. Noms des employés et lieu où ils travaillent.
32. Lieu des départements (mais pas les noms des départements) dans lesquels des
employés touchent une commission, en utilisant une jointure.
33. Noms des supérieurs directs de chaque employé qui a un supérieur (nom des
employés qui ont un supérieur, suivi du nom du supérieur).
34. Noms des employés, avec le nom de leur supérieur direct quand ils en ont un. Même
les employés qui n'ont pas de supérieur doivent être affichés.
35. Nom des employés qui sont le supérieur d'un autre employé.
36. Noms des projets où sont inscrits des employés des départements de BOBO.

Sous-interrogations
37. Lieu des départements dans lesquels des employés touchent une commission, en
utilisant cette fois une sous-interrogation et non plus une jointure.
38. Noms et lieux des départements dans lesquels il y a au moins un ingénieur.
Pouvez-vous y arriver au moyen d'une jointure ?
Pouvez-vous y arriver au moyen d'une sous-interrogation ?
39. Noms et lieux des départements dans lesquels il n'y a pas d'ingénieur.
Pouvez-vous y arriver au moyen d'une jointure ?
Pouvez-vous y arriver au moyen d'une sous-interrogation ?
40. Matricules et noms des employés qui ne sont les supérieurs d'aucun employé.
Étonnant ? Faites afficher le nom de chaque employé avec le matricule de son
supérieur et faites appel à votre logique. Corrigez votre première requête pour avoir
ce qui est demandé.

Vous aimerez peut-être aussi