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

77 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Exercice postgreSQL
Retirer le conteneur database (postgresql) et supprimer le volume associé
```shell
docker compose down 'database'
docker volume rm sql_database_data
```
Mettre à jour le projet
```shell
git pull origin
```
ou si nouveau projet
```
git clone https://sources.neotech.fr/Universite/sql.git
```
Construire l'image
```shell
docker build -t iut/pgsql:2025-12 -f postgresql.Dockerfile .
```
Renommer le fichier .env.example en .env
Composer le nouveau conteneur
```shell
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](item.md)
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