Exercices TP1 SQL_PLUS d’Oracle Bases de données SQL_PLUS d'Oracle

TP1 SQL_PLUS d’Oracle.pdf

Télécharger PDF

Université 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
Sinon, par défaut, l’éditeur vous propose de continuer la saisie de la commande. Pour ré-exécuter les instructions du buffer de travail, vous pouvez utiliser :
  • ‘/’ pour l’exécution sans affichage des commandes
  • ‘R[un]’ pour l’exécution avec affichage des commandes
Pour charger dans le buffer de travail les instructions contenues dans un fichier :
  • ‘get ’ pour charger le contenu du fichier dans le buffer de travail
Pour charger dans le buffer de travail et exécuter les instructions contenues dans ce fichier :
  • ‘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
Remarques : les commandes ‘’ et ‘!’ permettent d’exécuter toutes les commandes du système d’exploitation (shell d’UNIX). Cela permet donc de lancer un éditeur de texte quelconque depuis le buffer SQL.

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] [, ]…, []…);
représente la liste des contraintes d’intégrité structurelles concernant les colonnes de la table crée. Elle s’exprime sous la forme suivante :
  • CONSTRAINT
est :
  • 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 ([ ][,][, ][,]…);
Modification de colonne :
  • 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 CASCADE CONSTRAINTS).
  • Editer un fichier d’extension .sql contenant les commandes de créations effectuées dans les questions 2 et 3. Charger ce fichier sous SQL_PLUS en utilisant la commande START ou @.
  • Editer un autre fichier d’extension .sql qui contiendra les commandes de création de la table correspondant à la relation Ville, ainsi que la création de quelques tuples de cette table : Ville(numVille,nom)
  • Charger ce dernier fichier sous SQL_PLUS. Modifier, sous l’éditeur SQL_PLUS et non pas dans le fichier, la table Ville en lui rajoutant une colonne correspondant au nombre d’habitants de cette ville (commande ALTER TABLE). Modifier les données en conséquence (commande UPDATE).
  • Quelle commande utiliser pour obtenir la description de la table Pays ?
  • Quelle commande utiliser pour obtenir la liste des tuples de la table Pays ?
  • Modifier, sous l’éditeur SQL_PLUS, la table Ville en lui rajoutant une colonne refPays dont les valeurs seront des clés vers la table Pays. Pour cela, il faut ajouter aussi une contrainte CONSTRAINT FOREIGN KEY.
  • Modifier les données de la classe Ville en conséquence.
  • FAQ

    1. Comment configurer SQL_PLUS sous UNIX ?

    Pour configurer SQL_PLUS sous UNIX, vous devez modifier votre fichier de configuration d’environnement (.cshrc ou .bash_profile) en ajoutant le chemin d’Oracle à la variable d’environnement PATH et en définissant les variables d’environnement nécessaires à l’exécution d’Oracle.

    2. Quelles sont les commandes de base pour utiliser SQL_PLUS ?

    Les commandes de base pour utiliser SQL_PLUS incluent le lancement de SQL_PLUS, la sortie de SQL_PLUS, et l’obtention de l’aide pour les commandes SQL.

    3. Comment créer une table en SQL ?

    Pour créer une table en SQL, utilisez la commande CREATE TABLE en spécifiant le nom de la table, les noms des colonnes, leurs types, et éventuellement des contraintes d’intégrité.

    Cela peut vous intéresser :

    Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

    Enregistrer un commentaire (0)
    Plus récente Plus ancienne