diff --git a/exercice1.md b/exercice1.md new file mode 100644 index 0000000..c46887a --- /dev/null +++ b/exercice1.md @@ -0,0 +1,53 @@ +# Exercice postgreSQL + + +Retirer le conteneur database (postgresql) et supprimer le volume associé + +```shell +docker compose down 'database' +docker volume rm sql_database_data +``` + +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 d’un objet JSON +jsonb_object_keys|Liste des clés +jsonb_array_length|Taille d'un tableau + +## Questions + +1. Dans la table item lister les numéros sku et le 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. Dans les commandes afficher le total de chaque commande + +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 diff --git a/exercice2.md b/exercice2.md index e5d7ce5..f4c8fb2 100644 --- a/exercice2.md +++ b/exercice2.md @@ -1,4 +1,21 @@ +# Exercice MongoDB +```shell +docker compose up -d 'mongodb' --build +docker exec -it sql-mongodb-1 mongosh --username admin +``` + +Changer de base de données + +```shell +use commerce +``` + +Faire une recherche + +``` +db.commandes.find() +``` 1. le document dont la référence est 51943385-B