TP1 de Bases de Données: SQL

Partie I: Création d'un compte utilisateur

1.   Ce connecter en tant qu'administrateur :  

  • Lancer l'invite de commandes Windows avec la commande: cmd
  • Taper la commande:  sqlplus / nolog
  • Taper la commande: connect / as sysdba
  • Créer un utilisateur c##emi avec la requête: CREATE USER c##emi IDENTIFIED BY Emi_1234;
  • Donner à cet utilisateur des privilèges pour pouvoir se connecter, créer des objets (tables, ...), ...etc:  

              GRANT CONNECT, RESOURCE , UNLIMITED TABLESPACE TO c##emi;

  • Quitter la session administrateur: disconnect
  • Se connecter avec le compte c##emi via la commande: connect  c##emi/Emi_1234


Vous pouvez maintenant créer des objets de cet utilisateur (tables, vue, index, ...)


Partie II: Création des tables de la BD

1.   Ecrire le script SQL permettant de créer les tables suivantes :

Formation (CodForm: Number(4), DescFrom:Varchar2(250), DatDebut: date, DatFin: date, Prix:Number ( 7,2))

Participant  (CodPart: Number(4), Nom: Varchar2 (30),  Prenom: Varchar2 (30) )
Inscription  (#CodPart : Number(4), # CodForm : Number(4), Avance: Number(7,2))

2. Exécuter le script TP1_script_insertion.sql  permettant d'insérer des lignes dans les trois tables.


Partie III: Jointures
Écrire les requêtes permettant d’avoir :

1.   Les formations (code, description et prix) ainsi que leurs participants (nom et prénom) classés par code de formation et par nom de participant.

2.   Le code, le nom et prénom (en une seule colonne) de chaque participant ainsi que le montant à payer pour compléter le paiement de ses formations.

Remarque: l'opérateur | |  permet de concaténer deux chaîne en SQL

3.   Le code, le prix, le nombre de participants et  montant total réalisé pour chaque  formation.

4.   Les formations qui n’ont pas encore commencé

Remarque: sysdate permet d'avoir la date du jour.

5.   Les formations qui ont commencé et ne sont pas encore terminées

6.   Le nom et le nombre de formations suivies par chaque participant

7.   Les participants (nom, …) qui se sont inscrits à au moins deux formations

8.   Le nom et le nombre de formations suivies par chaque participant. On veut avoir même ceux qui n'ont pas suivi de formations.

9.  Le nom et le nombre de participants de chaque formation. On veut avoir même celles n'ayant aucun participant.


Partie IV: Requêtes imbriquées

Écrire les requêtes permettant d’avoir :

1.   Les formations (description, prix, …) ayant le minimum de participants

2.   Les formations (description, prix, …) ayant fait le minimum de bénéfices.

3.   Les formations (description, code) qui n’ont pas de participants.

4.   Les formations (code, description) où tous les participants ont été inscrits.

5.   Les participants ayant suivi le maximum de formation.

6.   Les couples de formations ayant eu le même nombre de participants.

Modifié le: mardi 22 novembre 2022, 09:58