Files
nosql-document/exercice1.md
2025-10-23 09:38:14 +02:00

2.0 KiB
Raw Blame History

Exercice postgreSQL

Retirer le conteneur database (postgresql) et supprimer le volume associé

docker compose down 'database'
docker volume rm sql_database_data

Mettre à jour le projet

git pull origin

ou si nouveau projet

git clone https://sources.neotech.fr/Universite/sql.git

Construire l'image

docker build -t iut/pgsql:2025-12 -f postgresql.Dockerfile .

Renommer le fichier .env.example en .env

Composer le nouveau conteneur

docker compose up -d 'database' --build

JSON

Les opérateurs spécifiques JSON

Opérateur Description Exemple
-> Retourne un objet JSON SELECT data->'additionalProperty' as propriété from item where id = 2509331;
->> Retourne du texte SELECT data->>'name' AS name from item;
#> Accès par chemin SELECT data#>'{additionalProperty,groupe}' as propriété from item where id = 2509331
#>> Accès par chemin en texte SELECT data#>>'{additionalProperty,groupe,manufacturer,name}' as propriété from item where id = 2509331
@> Test d'inclusion
Fonctions Description
jsonb_array_elements Extraction en table
jsonb_array_elements_text Extraction en chaine de caractères
jsonb_each Renvoie les paires clé/valeur dun objet JSON
jsonb_object_keys Liste des clés
jsonb_array_length Taille d'un tableau

Questions

Exemple de stucture du fichier json

  1. Dans la table item lister les numéros sku et le nom du fabriquant (manufacturer).

  2. Trouver tous les vélos de marque Cannondale

  3. Filtrer les vélo dont la taille de cadre est M

  4. Afficher le deuxième élément du tableau tailles pour chaque vélo.

  5. Afficher le sku et pour chaque taille (dans geometry) la valeur du tube supérieur. Afficher 1 ligne par taille

  6. Afficher le total des offres pour les vélos de marque BMC en taille L

  7. Combien de tailles pour le vélo dont le sku est 2489126

  8. Extraire la liste des caractèristiques (uniquement le nom) pour le vélo dont le sku est 2489126