TP1 SQL_PLUS d’Oracle.pdf
Télécharger PDFUniversité de Provence Bases de données Licence d’Informatique TP No 1 Troisième année SQL_PLUS d’Oracle
1) Structured Query Language (SQL)
SQL est un :- Langage de Définition de Données (LDD) : création et modification de la structure des Bases de Données
- Langage de Manipulation de Données (LMD) : insertion et modification des données des Bases de Données
- Langage de Contrôle des Données (LCD) : gestion de la sécurité, confidentialité et Contraintes d’Intégrité
Petit lexique entre le modèle relationnel et SQL :
- Modèle relation SQL
- relation table
- attribut colonne
- tuple ligne
2) SQL_PLUS
a) Configuration requise
Sous capucine, modifier votre fichier de configuration d’environnement (fichier .cshrc ou fichier .bash_profile) de la façon suivante :- Dans le fichier .bash_profile que vous éditez avec emacs par exemple :
- Ajouter le chemin ‘/usr/local/oracle/bin’ à la variable d’environnement PATH :
- PATH=$PATH:/usr/local/oracle/bin
- Ajoutez les instructions suivantes qui permettent la définition de variable d’environnement nécessaires à la bonne exécution d’Oracle :
- ORACLE_HOME=/usr/local/oracle
- LD_LIBRARY_PATH=$ORACLE_HOME/lib
- ORACLE_DOC=$ORACLE_HOME/doc
- ORACLE_SID=ens
- export ORACLE_HOME LD_LIBRARY_PATH ORACLE_DOC ORACLE_SID
- Dans le fichier .cshrc que vous éditez, ajouter les instructions suivantes :
- setenv ORACLE_HOME /usr/local/oracle
- setenv LD_LIBRARY_PATH $ORACLE_HOME/lib
- setenv ORACLE_DOC $ORACLE_HOME/doc
- setenv ORACLE_SID ens
b) Les trois commandes les plus utilisées
- Lancement de SQL_PLUS
- Quitter SQL_PLUS
- Aide de SQL_PLUS
- sqlplus
- Enter user-name:
- Enter password:
- exit
- Help
c) Editeur d’Oracle
Les instructions SQL sont mémorisées dans un buffer de travail (buffer SQL) que nous pouvons manipuler à l’aide des commandes suivantes :- l Liste des lignes de la commande
- l n Affichage de la ligne n
- l n m Affichage des lignes n à m
- l * Affichage de la ligne courante
- n La ligne n devient la ligne courante
- c/ch1/ch2 Changement de la chaîne ch1 par la chaîne ch2 dans la ligne courante
- a ch Ajout d’une chaîne ch à la fin de la ligne courante
- i Insertion après la ligne courante
- del Suppression de la ligne courante
d) Sauvegarde
- Save
append Ajoute le contenu du buffer de travail à la fin du fichier - Save
[create] Sauvegarde le contenu du buffer de travail dans le fichier si ce fichier n’existe pas - Save
rep[lace] Sauvegarde le contenu du buffer de travail dans un fichier existant
e) Exécution des instructions SQL
Un commande SQL_PLUS est exécutée par :- ‘;’ en fin de commande
- ‘/’ seul sur la ligne
- ‘/’ pour l’exécution sans affichage des commandes
- ‘R[un]’ pour l’exécution avec affichage des commandes
- ‘get
’ pour charger le contenu du fichier dans le buffer de travail
- ‘R[un]
’ pour charger et exécuter avec affichage des instructions - ‘START
’ pour charger et exécuter sans affichage des instructions - ‘@
’ pour charger et exécuter sans affichage des instructions
3) SQL LDD
a) Types syntaxiques (presque les domaines)
La notion de domaine n’est pas prise en compte dans SQL_PLUS. Il nous faut donc nous limites à la définition des types syntaxiques suivants :- VARCHAR2(n) Chaîne de caractères de longueur variable (maximum n)
- CHAR(n) Chaîne de caractères de longueur fixe (n caractères)
- NUMBER Nombre entier (40 chiffres maximum)
- NUMBER(n,m) Nombre de longueur totale n avec m décimales
- DATE Date (DD-MON_YY est le format par défaut)
- LONG Flot de caractères
b) Création de table
- CREATE TABLE
( [NOT NULL] [, ]…, [ ]…);
- CONSTRAINT
- PRIMARY KEY (attribut1, [attribut2…])
- FOREIGN KEY ((attribut1, [attribut2…]) REFERENCES
(attribut1, [attribut2…]) - CHECK (attribut
) avec qui peut être une expression booléenne « simple » ou de la forme IN (liste de valeurs) ou BETWEEN AND
c) Modification de la structure d’une table
Ajout de colonne :- ALTER TABLE
ADD ([ ][, ][, ][, ]…);
- ALTER TABLE
MODIFY ([ ][, ]…);
d) Destruction de table
- DROP TABLE
;
e) Consultation de la structure d’une base
- DESCRIBE
;
4) SQL LMD
a) Interrogation
- SELECT [DISTINCT]
[, ]… - FROM
[, ]… - WHERE
- GROUP BY
[ ]… - HAVING
- ORDER BY
[ ]…
b) Insertion de données
- INSERT INTO
[(colonne,…)] VALUES (valeurs,…) - INSERT INTO
[(colonne,…)] SELECT_
c) Modification de données
- UPDATE
SET colonne=valeur,… WHERE - UPDATE
SET colonne=SELECT_
d) Suppression de données
- DELETE FROM
WHERE
5) Prise en main
- Lancer l’interprète SQL. Modifier le mot de passe (à noter !) en utilisant la commande password.
- Créer, sous l’éditeur SQL_PLUS, la table correspondant à la relation : Pays(numPays,nom,nbHabitants,superficie)
- Créer, toujours sous l’éditeur SQL_PLUS, des données (des tuples). Pour cela, il faut utiliser la commande INSERT INTO.
- Effacer cette table et ses données (commande DROP TABLE