Bases de Données / Databases

Site Web de l'équipe BD du LIP6 / LIP6 DB Web Site

Outils pour utilisateurs

Outils du site


site:enseignement:master:mlbda:tmes:priseenmain

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

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 :

commandedescription
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:
  • 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: 05/10/2020 14:34 par hubert