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
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.