site:enseignement:master:mlbda:tmes:priseenmain
Table des matières
TME 2019 Requêtes SQL
Prise en main d'Oracle et requêtes sur la base MONDIAL
Objectif principal
Réviser le langage de requête SQL, puis le langage de programmation PL/SQL
Objectifs secondaires
- se familiariser avec les manuels de documentation d'Oracle
- se familiariser avec les vues du dictionnaire du SGBD
- savoir compiler et exécuter une procédure stockée
Prérequis
- Lire ConnexionOracle pour se connecter à Oracle
Préparation du TME
Ouvrir une fenêtre de terminal (xterm), vérifier que la commande
echo $BD_TOOL
affiche bien le résultat
/Infos/bd/public
puis exécuter les commandes suivantes :
commande | description |
---|---|
cd | aller dans votre répertoire $HOME |
tar zxvf $BD_TOOL/tp-intro.tgz | installer l'archive tp-intro.tgz dans votre répertoire principal |
cd tp-intro | aller dans votre répertoire de travail |
ls | lister les fichiers du TME |
emacs s1.sql & | éditer le fichier s1.sql |
se connecter à Oracle | sqlplus Ennn /Ennn @ora11 (avec nnn votre numéro de login) |
créer des synonymes pour simplifier les noms de tables de la base Mondial | @mondial_synonym (sert pour l'exercice 1) |
Exercices
Exercice 1 (obligatoire) : SQL sur la base MONDIAL
- Prendre en main la base MONDIAL
- lire la description du schéma de la base MONDIAL
- lire le diagramme Entité-Association de la base MONDIAL
- lire les contraintes d'intégrité référentielle de base MONDIAL
- Requêtes avancées
- Editer le fichier tp1.sql
- Ecrire en SQL les requêtes numérotées 10 à 20 sur la base MONDIAL, et les exécuter.
- Aide requête 14: les affluents des affluents des affluents du Nil n’ont aucun affluent.
- Vérifier vos réponses en exécutant les requêtes solution nommées de Mondial.R1 à Mondial.R20
select * from mondial.R1; ...... select * from mondial.R20;
Exercice 2 (facultatif) : PL/SQL sur le dictionnaire du SGBD
* compiler et exécuter la procédure l1: @l1
- Que représentent les vues du dictionnaire user_tables, user_objects et user_source ? Expliquer brièvement ce que représente chaque attribut. Voir la documentation:
- vue user_tables (cf. all_tables)
- vue user_objects (cf. all_objects)
- vue user_source (cf. all_source)
- Que fait la procédure l1 ? Ajouter des commentaires dans l1.sql pour expliquer le fonctionnement de la procédure l1.
- Compléter la procédure s1(nom) pour afficher le code source d'une procédure dont le nom est passé en paramètre. Voir le fichier s1.sql
- Ecrire la procédure s2(nom, ligne1, ligne2) pour afficher le morceau de code source (ligne1 à ligne2) de la procédure dont le nom est passé en paramètre.
- Eventuellement, installer chez soi Oracle Express Edition
Retour MU4IN801 MLBDA : Modèles et Langages pour les Bases de Données Avancés
site/enseignement/master/mlbda/tmes/priseenmain.txt · Dernière modification : de hubert