Vous êtes sur la page 1sur 6

TP Prise en main de SQLplus/Oracle

Prof :Dr. Emna HKIRI Nombre de page :2

Bases de Données Avancées

1 Prise en main de SQLplus


Oracle est un SGBD Relationnel muni de nombreuses fonctionnalités.
Oracle XE est une version gratuite que l'on peut télécharger et installer sur un ordinateur personnel.
Oracle XE fonction en mode client-serveur1, le client et le serveur pouvant être sur le même
ordinateur ou sur des ordinateurs différents.

Un logiciel client appelé SQLplus c'est une interface interactive en mode caractère permettant de
lancer l'exécution d'expressions SQL sur le serveur Oracle, et de récupérer les résultats.

1.1 Connexion
Le signe SQL > est un prompt qui indique que SQLplus est prêt à recevoir des commandes.

C:\Users\acer>sqlplus
SQL*Plus: Release 11.2.0.1.0 Production on Lun. Nov. 23 15:09:18 2015
Copyright (c) 1982, 2010, Oracle. All rights reserved.
Enter user-name: etudiant as sysdba
Enter password:
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production
SQL>
Ou bien

CONNECT
Permet de réaliser une nouvelle connexion après le lancement de SQLplus

1
Une configuration client/serveur (ou architecture deux tiers), définit une application répartie entre deux machines. La
première appelée le client, supporte l’application qui initie des requêtes vers la base de données. La machine d’arrière-
plan qui héberge la base est appelée le serveur. Le client s’occupe de la présentation des données, le serveur de base de
données est dédié au support des requêtes, non des applications.

1
DISC[ONNECT]
Permet à l’utilisateur de se déconnecter de la base de données.

EXIT ou QUIT
Permet à l’utilisateur de quitter l’outil SQLplus et de se déconnecter de la base de données.

1.2 Lancer des commandes


SQLplus accepte trois types de commandes :
- les expressions SQL,
- les expressions PL-SQL,
- et les commandes propres à SQLplus.
Ces dernières concernent des commandes d'affichage, de chargement de commandes SQL stockées
dans un fichier, des commandes de sauvegarde, et des commandes de paramétrage.
Il est possible de traiter en mode interactif ou en mode batch.

- En mode interactif, on saisit les commandes après le prompt, éventuellement sur plusieurs lignes
(qui sont alors numérotées), et on termine par le caractère ' ;' pour lancer l'interprétation sous
Oracle.

SQL> SELECT nom, ville


FROM Hotel
;
NOM VILLE
---------------------------------------
Hotel des Alpes Grenoble
Chez Marion Nice
Au petit lit Nice
Le dors-bien Toulon
SQL>

- En mode batch, on stocke les commandes SQL dans des fichiers d'extension .sql, et on charge un
fichier avec la commande start ou avec le symbole @ juste devant le nom du fichier.
Par exemple, si le fichier all_hotels.sql contient l'expression SQL précédente, on lance son
interprétation via :

SQL> start all_hotels;


NOM VILLE
---------------------------------------
Hotel des Alpes Grenoble
Chez Marion Nice
Au petit lit Nice
Le dors-bien Toulon
SQL>

Evidemment, le mode batch (fichier) est très pratique lorsqu'on a de nombreuses expressions à
lancer, et que l'on veut en garder une trace.

1.3 Le spool : sauvegarde de ce que l'on fait


La commande spool permet de générer un fichier texte qui contient toutes les commandes passées à
l'écran.

2
Pour lancer la sauvegarde des commandes passées :
SQL> SPOOL nom_fichier.txt
SQL>

A partir de là, toutes les commandes seront sauvegardées dans le fichier, jusqu’à ce que l'utilisateur
lance la commande :
SQL> SPOOL OFF
SQL>
Attention, entre ces deux commandes, le fichier de sauvegarde est ouvert en écriture : il ne faut pas
chercher à l'éditer !

1.4 Autres commandes usuelles


- SAVE nom fichier [append| create |replace]
permet de sauvegarder le contenu du buffer dans un fichier .sql.

- COL adresse FORMAT A12


formate l'affichage d'une colonne de nom adresse sur 12 caractères.

- COL prixnuitht FORMAT 999.99


formate l'affichage d'une colonne de nom prixnuitht (type flottant) avec 3 chiffres en partie entière
et deux chiffres en partie réelle.

- CLEAR COL
permet de remettre l'affichage par défaut des colonnes.

- SET LINESIZE n
Définit le nombre maximal n de caractères autorisés dans chaque ligne

- CLEAR SCREEN
efface l'écran du buffer.

- DESC nom table


affiche la description d'une table

-/
le slash réactive la dernière commande

- ACCEPT reference NUMBER PROMPT ʺDonnez le numero de l'hotel =ʺ


permet, après la saisie de l'utilisateur, de réutiliser la valeur du paramètre de nom reference.

Par exemple, on peut ensuite lancer l'expression SQL :


SQL> SELECT nom, ville
FROM Hotel
WHERE numhotel = &reference;

-SHOW USER affiche l’utilisateur connecté 

Manipulation 1 : Création d’un utilisateur /DBA


SQL> create user etudiant identified by etudiant;
SQL> grant dba to etudiant identified by etudiant;

3
SQL> disc
SQL> connect
Enter user-name: etudiant
Enter password:
Connected.

SQL> show user


USER is "ETUDIANT"

Manipulation 2
Redirigez les sorties vers un fichier et exécutez les commandes suivantes :
- Définir la table Categories
- Décrivez la table Categories
- Déconnectez-vous de la base de données sans sortir du SQLplus
- Décrivez de nouveau la table commandes. Que remarquez-vous ?
- Connectez-vous
- Affichez l’utilisateur courant
- Arrêtez la redirection des sorties vers le fichier
- Editez le fichier que vous venez de créer.

Manipulation 3 : Définition et insertion de données


- Définir les différentes tables de la base de données exemple
- Insérer des données dans les tables

Manipulation 4 : Interrogation de la base de données


1. Affichez tous les employés de la société
2. Affichez toutes les catégories des produits

3. Décrivez la structure de la table Employes


4. Affichez les noms, prénoms et la date de naissance de tous les employés de la société

5. Affichez la liste des fonctions des employés de la société


6. Affichez la liste des pays de nos clients
7. Affichez des localités dans lesquelles il existe au moins un client

4
Base de données exemple :
Produits (
Ref_Produit number (6) Primary Key not null,
Nom_Produit varchar (40) not null,
No_Fournisseur number (6) not null,
Code_Categorie number (6) not null,
Quantite number (5) null,
Prix_unitaire number (8,2) not null,
Unites_Stock number (5) null,
Unites_Commandees number (5) null,
Indisponible number (1) null
)

Fournisseurs (
No_Fournisseur number (6) Primary Key not null,
Societe varchar (40) not null,
Adresse varchar (60) not null,
Ville varchar (20) not null,
CodePostal varchar (10) not null,
Pays varchar (15) not null,
Telephone varchar (24) not null,
Fax varchar (24) not null
)

Details_Commandes (
No_commande number (6) not null,
Ref_Produit number (6) not null,
Prix_unitaire number (8,2) not null,
Quantite number (5) not null,
Remise float not null
)

Categories (
Code_Categorie number(6) primary key not NULL,
Nom_Categorie varchar2(25) not null,
Description varchar2(100) not null)

Commandes (
No_commande number (6) primary key not null,
Code_Client char (5) not null,
No_Employe number (6) not null,
Date_Commande date not null,
Date_Envoi date,
Port number(8,2)
)

Employes (
No_employe number (6) primary key not null,
Rend_Compte number (6) null,
Nom varchar2(20) not null,
Prenom varchar2(10) not null,

5
Fonction varchar2(30) not null,
Titre varchar2(5) not null,
Date_Naissance date not null,
Date_Embauche date not null,
Salaire number(8,2) not null,
Commission number(8,2) null
)

Clients (
Code_Client number (6) primary key not null,
Societe varchar2(20) not null,
Adresse varchar (60) not null,
Ville varchar (20) not null,
CodePostal varchar (10) not null,
Pays varchar (15) not null,
Telephone varchar (24) not null,
Fax varchar (24) not null
)

Catégories
Code_Categorie Nom_Categorie Description
1 Boissons Boissons, thés, cafés
2 Condiments Sauces, épices
3 Desserts Desserts et friandises
4 Produits laitiers Fromages
5 Pâtes et céréales Pains, biscuits, pâtes et céréales
6 Viandes Viandes préparées
7 Produits secs Fruits secs, raisins, autres
8 Poissons et fruits de mer Poissons, fruits de mer, escargots

Commandes
No_commande Code_Client No_Employe Date_Commande Date_Envoi Port
Vinet 5 04/07/96 161,9
Tomsp 6 05/07/96 58,05
Hanar 4 08/07/96 329,15
Victe 3 08/07/96 206,7

Employes
No_em Ren Nom Prenom Fonction Titre Date_Naissance Date_ Salaire Commis
ploye d_C Emba sion
omp uche
te
1 Fuller Andrew Vice-président 19/02/52 10000
2 Buchanan Steven Chef de ventes 04/03/55 8000
3 Peacock Margaret Représentant 19/09/58 2856 250
4 Leverling Janet Représentant 30/08/63 3500 1000
5 Davolio Nancy Représentant 08/12/68 3135 1500
6 Dodswort Anne Représentant 02/07/69 2180 0
7 h Robert Représentant 29/05/60 2356 800
8 King Michael Représentant 02/07/63 2534 600
9 Suyana Laura Assistance commerciale 09/01/58 2000
Callahan

Vous aimerez peut-être aussi