{ "cells": [ { "cell_type": "markdown", "id": "43c57813-b0ec-4b89-b95a-5bd6a9d1da16", "metadata": { "deletable": true, "editable": true, "frozen": false, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "# Requêtes flexibles et stratégies d’exécution\n", "## Travail à faire et à rendre\n", "Ce cahier (notebook) Jupyter est à la fois l'énoncé du TP et ce qu'il faudra déposer à la fin de la séance sur l’ENT. Il vous sera demandé de remplir les cellules prévues avec vos réponses qui pourront être du texte en *markdown*, voir **[ce lien](https://commonmark.org/help/)** pour la syntaxe exacte. Ça aussi pourra être des requêtes SQL dont le résultat apparaîtra en dessous, ou des scripts Python pour calculer une information plus complexe.\n", "\n", "Rappel: taper entrée pour exécuter une cellule et passer à la suivante. Tapez CTRLentrée pour évaluer une cellule sans passer à la suivante." ] }, { "cell_type": "markdown", "id": "234dd2ed-cf89-4abb-9e95-0527b0d93c0b", "metadata": { "deletable": true, "editable": true, "frozen": false, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "## Préparation\n", "### Connexion au serveur PostgreSQL et accès aux données en mode shell\n", "Vous allez commencer par installer la base de données et y insérer toutes les données du TP. C’est une base appelée `SecondHandCars`.\n", "\n", "Voici la commande pour commencer, à ne faire qu'une seule fois en tout (de toutes les séances de TP) :\n", "```\n", "...$ application install postgresql\n", "```\n", "Ensuite, voici la commande pour lancer PostgreSQL, à faire à chaque séance de TP :\n", "```\n", "...$ application start postgresql\n", "```\n", "Les commandes suivantes ne sont à faire que la première fois pour créer la base de données du TP :\n", "```\n", "...$ createdb -h localhost secondhandcars\n", "...$ curl https://perso.univ-rennes1.fr/pierre.nerzic/BDDA/SecondHandCars.dump | psql -h localhost -d secondhandcars\n", "...$\n", "```\n", "Maintenant, la base `secondhandcars` est prête pour le TP. Voici comment on s’y connecte :\n", "```\n", "...$ psql -h localhost secondhandcars\n", "votrelogin=#\n", "```\n", "Ce prompt est celui du SGBD qui attend des requêtes SQL. Par exemple pour obtenir la liste des tables, tapez ceci. `\\l` et `\\d` sont des commandes de psql. `\\l` affiche la liste des bases de données, `\\d` affiche la liste des tables de la base courante.\n", "```\n", "votrelogin=# \\l\n", "votrelogin=# \\d\n", "votrelogin=# \\d secondhandcars\n", "votrelogin=#\n", "```" ] }, { "cell_type": "markdown", "id": "4c3acf2b-092c-4f48-86c9-5d5b8b563322", "metadata": { "deletable": true, "editable": true, "frozen": false }, "source": [ "
\n", "votrelogin=# \\q\n", "...$ application stop postgresql\n", "\n", "