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:couchbase

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
site:enseignement:master:mlbda:tmes:couchbase [15/12/2021 17:07]
amine [Requêtes simples]
site:enseignement:master:mlbda:tmes:couchbase [09/12/2024 12:00] (Version actuelle)
hubert
Ligne 1: Ligne 1:
 {{indexmenu_n>​100}} {{indexmenu_n>​100}}
 +
 +
  
 ====== TME N1QL sous Couchbase ​ ====== ====== TME N1QL sous Couchbase ​ ======
Ligne 5: Ligne 7:
 Ce TME utilise le système Couchbase qui pourra être installé suivant les instructions ci-dessous. Ce TME utilise le système Couchbase qui pourra être installé suivant les instructions ci-dessous.
 Il est recommandé d'​utiliser le **<fc #​ff0000>​tutoriel en ligne</​fc>​** [[https://​query-tutorial.couchbase.com/​tutorial/#​1|Accès Couchbase en ligne]] et de saisir les requêtes dans l'​onglet '​Query'​ et d'​observer les résultats ​ dans l'​onglet '​Results'​ Il est recommandé d'​utiliser le **<fc #​ff0000>​tutoriel en ligne</​fc>​** [[https://​query-tutorial.couchbase.com/​tutorial/#​1|Accès Couchbase en ligne]] et de saisir les requêtes dans l'​onglet '​Query'​ et d'​observer les résultats ​ dans l'​onglet '​Results'​
 +===== Description des données =====
  
- 
-==== Description des données ==== 
 Le TME utilise 4 collections de données décrites ci-dessous : Le TME utilise 4 collections de données décrites ci-dessous :
  
Ligne 23: Ligne 24:
 A toutes fins utiles, il est possible télécharger les données du TME depuis {{ :​site:​enseignement:​master:​mlbda:​tmes:​donnees.zip | l'​archive}}. A toutes fins utiles, il est possible télécharger les données du TME depuis {{ :​site:​enseignement:​master:​mlbda:​tmes:​donnees.zip | l'​archive}}.
  
 +===== Documentation N1QL =====
  
 +[[https://​docs.couchbase.com/​files/​Couchbase-N1QL-CheatSheet.pdf|N1QL CheatSheet]] \\
 +[[https://​docs.couchbase.com/​server/​current/​n1ql/​n1ql-language-reference/​index.html|N1QL Language Reference
 +]]
  
 +===== Questions =====
 +==== Exercice 1 ====
  
-===== Requêtes simples =====+ 
 +=== Projection ​===
  
  
-==== Projection ==== 
 1. L'​ensemble des couleurs des produits (ensemble signifie pas de doublons). ​ 1. L'​ensemble des couleurs des produits (ensemble signifie pas de doublons). ​
    
Ligne 41: Ligne 48:
 </​showif>​ </​showif>​
  
-2. La liste des prix des 10 premiers produits. ​+2. La liste des prix des 10 premiers produits ​triés par prix décroissant
 <showif isloggedin>​ <showif isloggedin>​
 <code sql> <code sql>
Ligne 51: Ligne 58:
 </​showif>​ </​showif>​
  
-==== Sélection ​==== +=== Sélection === 
-3. Les identifiants des produits (productId) ayant une note (rating) de 5.+ 
 +3. Les identifiants des produits (productId) ayant au moins une note (rating) de 5. Les identifiants de produits sont tous distincts dans le reéultat
    
-<fc #​ffa500>​Résultat : 1708 lignes</​fc>​+<fc #​ffa500>​Résultat : 782 lignes</​fc>​
  
 <showif isloggedin>​ <showif isloggedin>​
 <code sql> <code sql>
-SELECT productId+SELECT ​DISTINCT ​productId
     FROM reviews     FROM reviews
     where rating = 5     where rating = 5
Ligne 108: Ligne 116:
  
 7. Les identifiants des clients (customerId) dont tout les produits achetés le sont avec une quantité > 4. 7. Les identifiants des clients (customerId) dont tout les produits achetés le sont avec une quantité > 4.
 +Ne retourner que les customerId uniques.
  
-<fc #​ffa500>​Résultat : 488 lignes</​fc>​+<fc #​ffa500>​Résultat : 387 lignes</​fc>​
  
 <showif isloggedin>​ <showif isloggedin>​
 <code sql> <code sql>
-SELECT customerId+SELECT ​DISTINCT ​customerId
     FROM purchases ​     FROM purchases ​
         WHERE EVERY item IN purchases.lineItems SATISFIES item.count > 4  END         WHERE EVERY item IN purchases.lineItems SATISFIES item.count > 4  END
Ligne 120: Ligne 129:
  
  
 +=== Aplatissement des listes, parcours des listes ===
  
-==== Aplatissement des listes, parcours des listes ==== 
 8.a) Les paires identifiants de produits (productId) et catégorie. Retourner une paire pour chaque combinaison de ''​productId''​ et de chaine de caractères dans le tableau correspondant à ''​categories''​. 8.a) Les paires identifiants de produits (productId) et catégorie. Retourner une paire pour chaque combinaison de ''​productId''​ et de chaine de caractères dans le tableau correspondant à ''​categories''​.
  
Ligne 176: Ligne 185:
 </​showif> ​ </​showif> ​
   ​   ​
-==== Jointure ====+=== Jointure === 
 +  ​
  
 10. L'​identifiant des clients (customerId),​ leur état de résidence (state) et la liste des produits achetés (lineItems). Compléter la requête ci-dessous. 10. L'​identifiant des clients (customerId),​ leur état de résidence (state) et la liste des produits achetés (lineItems). Compléter la requête ci-dessous.
Ligne 209: Ligne 219:
 </​code>​ </​code>​
 </​showif>​ </​showif>​
-==== Agrégation ====+ 
 + 
 +=== Agrégation === 
  
 11. L'​identifiant des clients (customerId) ainsi que la quantité totale des produits achetés. 11. L'​identifiant des clients (customerId) ainsi que la quantité totale des produits achetés.
Ligne 254: Ligne 267:
 </​code>​ </​code>​
 </​showif>​ </​showif>​
-===== Requetes complexes =====+ 
 + 
 +==== Exercice 2 ==== 
 1. Donner la liste de 10 produits qui se trouvent dans la catégorie "​golf"​ (indépendamment de la casse), omettre les 10 premiers produits. 1. Donner la liste de 10 produits qui se trouvent dans la catégorie "​golf"​ (indépendamment de la casse), omettre les 10 premiers produits.
 +Indice : utiliser LIMIT et OFFSET ​
  
 <showif isloggedin>​ <showif isloggedin>​
Ligne 379: Ligne 396:
 </​code>​ </​code>​
 </​showif>  ​ </​showif>  ​
 +
 +
 +<fc #​ffa500>​Résultat : 10 lignes </fc>
 +
 +<​code>​
 +{
 +  "​results":​ [
 +    {
 +      "​dateAdded":​ "​2013-05-11T15:​52:​18Z",​
 +      "​name":​ "​Briggs & Riley 13 Inch Slim Clamshell Briefcase",​
 +      "​unitPrice":​ 175.2,
 +      "​unitsSold":​ 149
 +    },
 +    {
 +      "​dateAdded":​ "​2013-05-11T15:​52:​18Z",​
 +      "​name":​ "​American Standard 2988.101.020 Concealed Trapway Cadet 3 Right Height Round Front Flowise 1.28 gpf Toilet with Seat, White",​
 +      "​unitPrice":​ 279.95,
 +      "​unitsSold":​ 146
 +    },
 +    {
 +      "​dateAdded":​ "​2013-05-11T15:​52:​18Z",​
 +      "​name":​ "3M Indoor Window Insulator Kit, 1-Window",​
 +      "​unitPrice":​ 18.03,
 +      "​unitsSold":​ 136
 +    },
 +    {
 +      "​dateAdded":​ "​2013-05-11T15:​52:​18Z",​
 +      "​name":​ "Ball Cap Buddy",​
 +      "​unitPrice":​ 5.61,
 +      "​unitsSold":​ 131
 +    },
 +    {
 +      "​dateAdded":​ "​2013-05-11T15:​52:​18Z",​
 +      "​name":​ "Achim Home Furnishings FTVGM30820 Nexus 12-Inch Vinyl Tile, Geo 16 Square Sandstone, 20-Pack",​
 +      "​unitPrice":​ 14.25,
 +      "​unitsSold":​ 131
 +    },
 +    {
 +      "​dateAdded":​ "​2013-05-11T15:​52:​18Z",​
 +      "​name":​ "Moen YB8099CH Mason Paper Holder, Chrome",​
 +      "​unitPrice":​ 1.41,
 +      "​unitsSold":​ 130
 +    },
 +    {
 +      "​dateAdded":​ "​2013-05-11T15:​52:​18Z",​
 +      "​name":​ "​Darice 4-3/4-Inch Magnetic Manikin",​
 +      "​unitPrice":​ 6.96,
 +      "​unitsSold":​ 128
 +    },
 +    {
 +      "​dateAdded":​ "​2013-05-11T15:​52:​18Z",​
 +      "​name":​ "​Hardware House H10-6184 Bridgeport Series Single Handle Tub and Shower Mixer, Brushed Nickel",​
 +      "​unitPrice":​ 69.99,
 +      "​unitsSold":​ 128
 +    },
 +    {
 +      "​dateAdded":​ "​2013-05-11T15:​52:​18Z",​
 +      "​name":​ "​Moonrays 91515 Turtles on a Log Solar-Powered Outdoor LED Light",​
 +      "​unitPrice":​ 16.95,
 +      "​unitsSold":​ 125
 +    },
 +    {
 +      "​dateAdded":​ "​2013-05-11T15:​52:​18Z",​
 +      "​name":​ "Mr. Beams MB 542 Battery Powered Motion Sensing LED Remote Path Light, 2-Pack",​
 +      "​unitPrice":​ 33.72,
 +      "​unitsSold":​ 124
 +    }
 +  ]
 +}
 +</​code>​
 +
  
 7. Afficher les noms et les prix unitaires des produits dont le prix unitaire est inférieur à 6.99 et qui se trouvent dans la catégorie "​Appliances"​. 7. Afficher les noms et les prix unitaires des produits dont le prix unitaire est inférieur à 6.99 et qui se trouvent dans la catégorie "​Appliances"​.
Ligne 392: Ligne 480:
 </​code>​ </​code>​
 </​showif> ​ </​showif> ​
 +
 +<fc #​ffa500>​Résultat : 1 ligne </fc>
 +
 +<​code>​
 +{
 +  "​results":​ [
 +    {
 +      "​categories":​ [
 +        "​Appliances"​
 +      ],
 +      "​name":​ "Ball Cap Buddy",​
 +      "​unitPrice":​ 5.61
 +    }
 +  ]
 +}
 +</​code>​
  
 8. Afficher les 10 produits les plus vendus. Pour chacun de ces produits afficher son nom et le nombre d'​achats de ce produit. 8. Afficher les 10 produits les plus vendus. Pour chacun de ces produits afficher son nom et le nombre d'​achats de ce produit.
Ligne 406: Ligne 510:
 </​code>​ </​code>​
 </​showif> ​ </​showif> ​
 +
 +<fc #​ffa500>​Résultat : 10 lignes </fc>
 +<​code>​
 +{
 +  "​results":​ [
 +    {
 +      "​name":​ "Pyrex Prepware 2-Cup Measuring Cup, Clear with Red Measurements",​
 +      "​unitsSold":​ 182
 +    },
 +    {
 +      "​name":​ "Danze D304055RB Sheridan Two Handle Widespread Lavatory Faucet, Oil Rubbed Bronze",​
 +      "​unitsSold":​ 164
 +    },
 +    {
 +      "​name":​ "​Hunter Ceiling Fans 21647 Caribbean Breeze Fan - Weathered Bronze Indoor Fan 54",
 +      "​unitsSold":​ 156
 +    },
 +    {
 +      "​name":​ "New Super Mario Bros. 2",
 +      "​unitsSold":​ 156
 +    },
 +    {
 +      "​name":​ "Eagle Claw Youth Fishing Vest (Small)",​
 +      "​unitsSold":​ 154
 +    },
 +    {
 +      "​name":​ "Aroma ARC-914SBD 4-Cup (Uncooked) 8-Cup (Cooked) Digital Rice Cooker and Food Steamer",​
 +      "​unitsSold":​ 152
 +    },
 +    {
 +      "​name":​ "​Angels'​ Eyes Tear-Stain Eliminator for Dogs and Cats, Beef Flavor, 120 Grams Bottle",​
 +      "​unitsSold":​ 151
 +    },
 +    {
 +      "​name":​ "​Brother Project Runway CE7070PRW 70-Stitch Computerized Sewing Machine with Wide Table",​
 +      "​unitsSold":​ 150
 +    },
 +    {
 +      "​name":​ "​BeginAgain Eco YoYo - Green",​
 +      "​unitsSold":​ 150
 +    },
 +    {
 +      "​name":​ "Zumba Fitness LLC Women'​s Let Loose Racerback Shirt",​
 +      "​unitsSold":​ 149
 +    }
 +  ]
 +}
 +</​code>​
 +
  
 9. Afficher les 5 produits les mieux notés (en fonction de la note moyenne). Pour chaque produit afficher son nom et sa note moyenne. 9. Afficher les 5 produits les mieux notés (en fonction de la note moyenne). Pour chaque produit afficher son nom et sa note moyenne.
Ligne 419: Ligne 572:
 </​code>​ </​code>​
 </​showif> ​ </​showif> ​
 +
 +
 +<fc #​ffa500>​Résultat : 5 lignes </fc>
 +<​code>​
 +{
 +  "​results":​ [
 +    {
 +      "​avg_rating":​ 4.5,
 +      "​name":​ "​Waring Pro IC70 Professional Stainless Steel Large-Capacity Ice Crusher"​
 +    },
 +    {
 +      "​avg_rating":​ 4.2,
 +      "​name":​ "Racor PHL-1R Pro HeavyLift 4-by-4-Foot Cable-Lifted Storage Rack"
 +    },
 +    {
 +      "​avg_rating":​ 4.2,
 +      "​name":​ "​Marineland Rite-Size Cartridge E, 4-Pack"​
 +    },
 +    {
 +      "​avg_rating":​ 4.1,
 +      "​name":​ "​Midwest 1524 iCrate Single-Door Pet Crate 24-By-18 -By-19-Inch"​
 +    },
 +    {
 +      "​avg_rating":​ 4.1,
 +      "​name":​ "Dorcy 41-1643 30 Lumen 3 Volt LED Replacement Bulb"
 +    }
 +  ]
 +}
 +</​code>​
  
 10. Pour le document "​purchase0"​ retourner l'​achat correspondant,​ avec les informations sur le client ayant effectué cet achat et sur les produits achetés. ​ 10. Pour le document "​purchase0"​ retourner l'​achat correspondant,​ avec les informations sur le client ayant effectué cet achat et sur les produits achetés. ​
Ligne 432: Ligne 614:
 </​code>​ </​code>​
 </​showif> ​ </​showif> ​
 +
 +<fc #​ffa500>​Résultat : 2 lignes </fc>
 +<​code>​
 +{
 +  "​results":​ [
 +    {
 +      "​customer":​ {
 +        "​ccInfo":​ {
 +          "​cardExpiry":​ "​2012-11-12",​
 +          "​cardNumber":​ "​1234-2121-1221-1211",​
 +          "​cardType":​ "​americanexpress"​
 +        },
 +        "​customerId":​ "​customer515",​
 +        "​dateAdded":​ "​2014-01-06T15:​52:​16Z",​
 +        "​dateLastActive":​ "​2014-05-06T15:​52:​16Z",​
 +        "​emailAddress":​ "​valentine_bednar@halvorsongrant.net",​
 +        "​firstName":​ "​Dustin",​
 +        "​lastName":​ "​Lemke",​
 +        "​phoneNumber":​ "​1-151-555-5907 x324",
 +        "​postalCode":​ "​26384",​
 +        "​state":​ "​MS",​
 +        "​type":​ "​customer"​
 +      },
 +      "​product":​ {
 +        "​reviewList":​ [
 +          "​review2505",​
 +          "​review4108",​
 +          "​review4160",​
 +          "​review4866",​
 +          "​review4908",​
 +          "​review5519",​
 +          "​review8101",​
 +          "​review8720",​
 +          "​review8981",​
 +          "​review9116"​
 +        ],
 +        "​type":​ "​product",​
 +        "​imageURL":​ "​http://​ecx.images-amazon.com/​images/​I/​51BfRrG%2BdoL._SL300_.jpg",​
 +        "​dateModified":​ "​2014-05-06T15:​52:​19Z",​
 +        "​productId":​ "​product701",​
 +        "​unitPrice":​ 29,
 +        "​dateAdded":​ "​2014-01-06T15:​52:​19Z",​
 +        "​description":​ "This product is available on <a target=\"​_blank\"​ href=\"​http://​www.amazon.com/​gp/​product/​B007KKU8QE/​ref=s9_ri_bw_g199_ir015?​pf_rd_m=ATVPDKIKX0DER&​pf_rd_s=merchandised-search-8&​pf_rd_r=D199F6AF45FA49D6845F&​pf_rd_t=101&​pf_rd_p=1479925062&​pf_rd_i=2619533011\">​Amazon.com</​a>​.",​
 +        "​name":​ "​Aquarius Aq15005 Aquarius 5 Rounded 5-Gallon Aquarium Kit",
 +        "​categories":​ [
 +          "Pet Supplies"​
 +        ],
 +        "​color":​ "​white"​
 +      },
 +      "​purchases":​ {
 +        "​type":​ "​purchase",​
 +        "​purchaseId":​ "​purchase0",​
 +        "​purchasedAt":​ "​2014-04-06T15:​52:​32Z",​
 +        "​lineItems":​ [
 +          {
 +            "​count":​ 3,
 +            "​product":​ "​product701"​
 +          },
 +          {
 +            "​count":​ 4,
 +            "​product":​ "​product85"​
 +          }
 +        ],
 +        "​customerId":​ "​customer515"​
 +      }
 +    },
 +    {
 +      "​customer":​ {
 +        "​ccInfo":​ {
 +          "​cardExpiry":​ "​2012-11-12",​
 +          "​cardNumber":​ "​1234-2121-1221-1211",​
 +          "​cardType":​ "​americanexpress"​
 +        },
 +        "​customerId":​ "​customer515",​
 +        "​dateAdded":​ "​2014-01-06T15:​52:​16Z",​
 +        "​dateLastActive":​ "​2014-05-06T15:​52:​16Z",​
 +        "​emailAddress":​ "​valentine_bednar@halvorsongrant.net",​
 +        "​firstName":​ "​Dustin",​
 +        "​lastName":​ "​Lemke",​
 +        "​phoneNumber":​ "​1-151-555-5907 x324",
 +        "​postalCode":​ "​26384",​
 +        "​state":​ "​MS",​
 +        "​type":​ "​customer"​
 +      },
 +      "​product":​ {
 +        "​reviewList":​ [
 +          "​review681",​
 +          "​review3771",​
 +          "​review4215",​
 +          "​review5685",​
 +          "​review5856",​
 +          "​review5935",​
 +          "​review6789",​
 +          "​review7532",​
 +          "​review7649",​
 +          "​review9011"​
 +        ],
 +        "​type":​ "​product",​
 +        "​imageURL":​ "​http://​ecx.images-amazon.com/​images/​I/​21xHRhlFslL._SL300_.jpg",​
 +        "​dateModified":​ "​2014-05-06T15:​52:​18Z",​
 +        "​productId":​ "​product85",​
 +        "​unitPrice":​ 14.95,
 +        "​dateAdded":​ "​2013-11-07T15:​52:​18Z",​
 +        "​description":​ "This product is available on <a target=\"​_blank\"​ href=\"​http://​www.amazon.com/​gp/​product/​B0000DE9B5/​ref=s9_ri_bw_g79_ir04?​pf_rd_m=ATVPDKIKX0DER&​pf_rd_s=merchandised-search-11&​pf_rd_r=1C0DBDE1A6234FF8A9DB&​pf_rd_t=101&​pf_rd_p=1405136162&​pf_rd_i=284507\">​Amazon.com</​a>​.",​
 +        "​name":​ "​Bormioli Rocco Frigoverre Jug with Hermetic Lid, 2-Liters",​
 +        "​categories":​ [
 +          "​Kitchen & Dining"​
 +        ],
 +        "​color":​ "​white"​
 +      },
 +      "​purchases":​ {
 +        "​type":​ "​purchase",​
 +        "​purchaseId":​ "​purchase0",​
 +        "​purchasedAt":​ "​2014-04-06T15:​52:​32Z",​
 +        "​lineItems":​ [
 +          {
 +            "​count":​ 3,
 +            "​product":​ "​product701"​
 +          },
 +          {
 +            "​count":​ 4,
 +            "​product":​ "​product85"​
 +          }
 +        ],
 +        "​customerId":​ "​customer515"​
 +      }
 +    }
 +  ]
 +}
 +</​code>​
 +
  
 11. Afficher les 10 clients qui ont dépensé le plus d'​argent en achats. Pour chaque client on veut connaître leur nom, leur prénom, leur mail, le nombre total de produits achetés ainsi que le prix total de tous leur achats. ​ 11. Afficher les 10 clients qui ont dépensé le plus d'​argent en achats. Pour chaque client on veut connaître leur nom, leur prénom, leur mail, le nombre total de produits achetés ainsi que le prix total de tous leur achats. ​
Ligne 451: Ligne 764:
 </​code>​ </​code>​
 </​showif> ​ </​showif> ​
 +
 +<fc #​ffa500>​Résultat : 10 lignes </fc>
 +<​code>​
 +{
 +  "​results":​ [
 +    {
 +      "​emailAddress":​ "​mabel_oberbrunner@mueller.net",​
 +      "​firstName":​ "​Vernon",​
 +      "​lastName":​ "​Satterfield",​
 +      "​purchaseCount":​ 140,
 +      "​totalSpent":​ 27847
 +    },
 +    {
 +      "​emailAddress":​ "​opal@gaylordpouros.info",​
 +      "​firstName":​ "​Nikolas",​
 +      "​lastName":​ "​Zulauf",​
 +      "​purchaseCount":​ 185,
 +      "​totalSpent":​ 27004
 +    },
 +    {
 +      "​emailAddress":​ "​fabian.west@handmoen.org",​
 +      "​firstName":​ "​Verlie",​
 +      "​lastName":​ "​Fahey",​
 +      "​purchaseCount":​ 112,
 +      "​totalSpent":​ 26234
 +    },
 +    {
 +      "​emailAddress":​ "​helena@waltercummings.org",​
 +      "​firstName":​ "​Cary",​
 +      "​lastName":​ "​Jerde",​
 +      "​purchaseCount":​ 125,
 +      "​totalSpent":​ 26035
 +    },
 +    {
 +      "​emailAddress":​ "​lia@kohler.biz",​
 +      "​firstName":​ "​Carolanne",​
 +      "​lastName":​ "​Hegmann",​
 +      "​purchaseCount":​ 133,
 +      "​totalSpent":​ 24875
 +    },
 +    {
 +      "​emailAddress":​ "​benedict@hirtheborer.net",​
 +      "​firstName":​ "​Coralie",​
 +      "​lastName":​ "​O'​Kon",​
 +      "​purchaseCount":​ 125,
 +      "​totalSpent":​ 23348
 +    },
 +    {
 +      "​emailAddress":​ "​jolie@beer.info",​
 +      "​firstName":​ "​Madison",​
 +      "​lastName":​ "​Klocko",​
 +      "​purchaseCount":​ 151,
 +      "​totalSpent":​ 21687
 +    },
 +    {
 +      "​emailAddress":​ "​tyrese@auersimonis.biz",​
 +      "​firstName":​ "​Luna",​
 +      "​lastName":​ "​Rodriguez",​
 +      "​purchaseCount":​ 166,
 +      "​totalSpent":​ 21564
 +    },
 +    {
 +      "​emailAddress":​ "​jonatan_armstrong@cruickshank.info",​
 +      "​firstName":​ "​Rossie",​
 +      "​lastName":​ "​Padberg",​
 +      "​purchaseCount":​ 95,
 +      "​totalSpent":​ 21318
 +    },
 +    {
 +      "​emailAddress":​ "​tess@bergnaum.name",​
 +      "​firstName":​ "​Jeremie",​
 +      "​lastName":​ "​Runolfsson",​
 +      "​purchaseCount":​ 182,
 +      "​totalSpent":​ 21221
 +    }
 +  ]
 +}
 +</​code>​
 +
  
 12. Donner les nombre total de clients par région. Le résultat doit être trié par ordre décroissant du nombre de clients. 12. Donner les nombre total de clients par région. Le résultat doit être trié par ordre décroissant du nombre de clients.
Ligne 478: Ligne 870:
 </​showif> ​ </​showif> ​
  
 +<fc #​ffa500>​Résultat : 1 ligne </fc>
 +<​code>​
 +{
 +  "​results":​ [
 +    {
 +      "​$1":​ 529
 +    }
 +  ]
 +}
 +</​code>​
  
 14. Afficher les produits dont la note moyenne est inférieure à 1. Pour chaque produit on veut connaître son som, son identifiant et la note moyenne. 14. Afficher les produits dont la note moyenne est inférieure à 1. Pour chaque produit on veut connaître son som, son identifiant et la note moyenne.
Ligne 490: Ligne 892:
 </​code>​ </​code>​
 </​showif> ​ </​showif> ​
 +
 +<​code>​
 +{
 +  "​results":​ [
 +    {
 +      "​avgRating":​ 0.667,
 +      "​name":​ "New Commercial Stainless Steel Salt / Pepper / Spice / Sugar Shaker, Shakers, Dredge, Dredges, Set of 2",
 +      "​numReviews":​ 6,
 +      "​productId":​ "​product96"​
 +    },
 +    {
 +      "​avgRating":​ 0.5,
 +      "​name":​ "Danze D481150 9-Inch Adjustable Shower Arm with High Flow, Chrome",​
 +      "​numReviews":​ 6,
 +      "​productId":​ "​product476"​
 +    },
 +    {
 +      "​avgRating":​ 0.889,
 +      "​name":​ "​Tovolo Sphere Ice Molds, Set of 2",
 +      "​numReviews":​ 9,
 +      "​productId":​ "​product53"​
 +    },
 +    {
 +      "​avgRating":​ 0.889,
 +      "​name":​ "​Briggs & Riley Luggage Executive Clamshell Backpack",​
 +      "​numReviews":​ 9,
 +      "​productId":​ "​product10"​
 +    },
 +    {
 +      "​avgRating":​ 0.75,
 +      "​name":​ "​Britax B-Agile Stroller Child Tray",
 +      "​numReviews":​ 4,
 +      "​productId":​ "​product83"​
 +    }
 +  ]
 +}
 +</​code>​
 +
  
 15. Pour chaque date d'​achat (année et mois) donner le prix de tous les achats effectués à cette date. Le prix sera exprimé en millions de dollars (arrondi à 3 chiffres après la virgule). Ordonner le résultat par ordre croissant de la date.  15. Pour chaque date d'​achat (année et mois) donner le prix de tous les achats effectués à cette date. Le prix sera exprimé en millions de dollars (arrondi à 3 chiffres après la virgule). Ordonner le résultat par ordre croissant de la date. 
Ligne 504: Ligne 944:
 </​code>​ </​code>​
 </​showif> ​ </​showif> ​
 +
 +<​code>​
 +{
 +  "​results":​ [
 +    {
 +      "​month":​ "​2013-05",​
 +      "​revenueMillion":​ 0.611
 +    },
 +    {
 +      "​month":​ "​2013-06",​
 +      "​revenueMillion":​ 0.68
 +    },
 +    {
 +      "​month":​ "​2013-07",​
 +      "​revenueMillion":​ 0.601
 +    },
 +    {
 +      "​month":​ "​2013-08",​
 +      "​revenueMillion":​ 0.596
 +    },
 +    {
 +      "​month":​ "​2013-09",​
 +      "​revenueMillion":​ 0.554
 +    },
 +    {
 +      "​month":​ "​2013-10",​
 +      "​revenueMillion":​ 0.617
 +    },
 +    {
 +      "​month":​ "​2013-11",​
 +      "​revenueMillion":​ 0.595
 +    },
 +    {
 +      "​month":​ "​2013-12",​
 +      "​revenueMillion":​ 0.596
 +    },
 +    {
 +      "​month":​ "​2014-01",​
 +      "​revenueMillion":​ 0.613
 +    },
 +    {
 +      "​month":​ "​2014-02",​
 +      "​revenueMillion":​ 0.587
 +    },
 +    {
 +      "​month":​ "​2014-03",​
 +      "​revenueMillion":​ 0.624
 +    },
 +    {
 +      "​month":​ "​2014-04",​
 +      "​revenueMillion":​ 0.602
 +    },
 +    {
 +      "​month":​ "​2014-05",​
 +      "​revenueMillion":​ 0.628
 +    }
 +  ]
 +}
 +</​code>​
  
 16. Donner les achats au mois d'​Avril 2014 pour des produits dont le prix unitaire est supérieur à 500 dollars. Pour chaque achat on veut connaître son identifiant,​ l'​identifiant du produit acheté, le nom du produit et son prix unitaire. 16. Donner les achats au mois d'​Avril 2014 pour des produits dont le prix unitaire est supérieur à 500 dollars. Pour chaque achat on veut connaître son identifiant,​ l'​identifiant du produit acheté, le nom du produit et son prix unitaire.
Ligne 522: Ligne 1021:
  
  
 +<​code>​
 +{
 +  "​results":​ [
 +    {
 +      "​name":​ "​Brother PQ1500S High Speed Quilting and Sewing Machine",​
 +      "​product":​ "​product221",​
 +      "​purchaseId":​ "​purchase1533",​
 +      "​unitPrice":​ 599
 +    },
 +    {
 +      "​name":​ "​Diamondback 2013 Recoil 29'er Full Suspension Mountain Bike with 29-Inch Wheels",​
 +      "​product":​ "​product788",​
 +      "​purchaseId":​ "​purchase170",​
 +      "​unitPrice":​ 700
 +    },
 +    {
 +      "​name":​ "TOTO SW564T695-12 Washlet S400 Elongated Front Toilet Seat for G-Max Toilets with Auto Flush System, Sedona Beige",​
 +      "​product":​ "​product490",​
 +      "​purchaseId":​ "​purchase1760",​
 +      "​unitPrice":​ 1094.46
 +    },
 +    {
 +      "​name":​ "LG 3.6 CF FRONT LOAD WASHER DRYER COMBO",​
 +      "​product":​ "​product160",​
 +      "​purchaseId":​ "​purchase1917",​
 +      "​unitPrice":​ 1499
 +    },
 +    {
 +      "​name":​ "LG 3.6 CF FRONT LOAD WASHER DRYER COMBO",​
 +      "​product":​ "​product160",​
 +      "​purchaseId":​ "​purchase2195",​
 +      "​unitPrice":​ 1499
 +    },
 +    {
 +      "​name":​ "LG 3.6 CF FRONT LOAD WASHER DRYER COMBO",​
 +      "​product":​ "​product160",​
 +      "​purchaseId":​ "​purchase2316",​
 +      "​unitPrice":​ 1499
 +    },
 +    {
 +      "​name":​ "TOTO SW564T695-12 Washlet S400 Elongated Front Toilet Seat for G-Max Toilets with Auto Flush System, Sedona Beige",​
 +      "​product":​ "​product293",​
 +      "​purchaseId":​ "​purchase2372",​
 +      "​unitPrice":​ 1094.46
 +    },
 +    {
 +      "​name":​ "​Archie Eli & Peyton Manning NFL Duke Football",​
 +      "​product":​ "​product839",​
 +      "​purchaseId":​ "​purchase2500",​
 +      "​unitPrice":​ 1249.99
 +    },
 +    {
 +      "​name":​ "Eli Manning NFL Duke Football",​
 +      "​product":​ "​product836",​
 +      "​purchaseId":​ "​purchase2891",​
 +      "​unitPrice":​ 599.99
 +    },
 +    {
 +      "​name":​ "​Archie Eli & Peyton Manning NFL Duke Football",​
 +      "​product":​ "​product839",​
 +      "​purchaseId":​ "​purchase2907",​
 +      "​unitPrice":​ 1249.99
 +    },
 +    {
 +      "​name":​ "LG 3.6 CF FRONT LOAD WASHER DRYER COMBO",​
 +      "​product":​ "​product160",​
 +      "​purchaseId":​ "​purchase3010",​
 +      "​unitPrice":​ 1499
 +    },
 +    {
 +      "​name":​ "​Diamondback 2013 Recoil 29'er Full Suspension Mountain Bike with 29-Inch Wheels",​
 +      "​product":​ "​product788",​
 +      "​purchaseId":​ "​purchase3278",​
 +      "​unitPrice":​ 700
 +    },
 +    {
 +      "​name":​ "Eli Manning NFL Duke Football",​
 +      "​product":​ "​product836",​
 +      "​purchaseId":​ "​purchase3476",​
 +      "​unitPrice":​ 599.99
 +    },
 +    {
 +      "​name":​ "TOTO MS854114SL-01 Ultramax ADA One Piece Toilet, Cotton White",​
 +      "​product":​ "​product506",​
 +      "​purchaseId":​ "​purchase3685",​
 +      "​unitPrice":​ 502.37
 +    },
 +    {
 +      "​name":​ "Eli Manning Signed Super Bowl XLVI Football",​
 +      "​product":​ "​product833",​
 +      "​purchaseId":​ "​purchase3685",​
 +      "​unitPrice":​ 599.99
 +    },
 +    {
 +      "​name":​ "​Archie Eli & Peyton Manning NFL Duke Football",​
 +      "​product":​ "​product839",​
 +      "​purchaseId":​ "​purchase3949",​
 +      "​unitPrice":​ 1249.99
 +    },
 +    {
 +      "​name":​ "TOTO SW564T695-12 Washlet S400 Elongated Front Toilet Seat for G-Max Toilets with Auto Flush System, Sedona Beige",​
 +      "​product":​ "​product293",​
 +      "​purchaseId":​ "​purchase4281",​
 +      "​unitPrice":​ 1094.46
 +    },
 +    {
 +      "​name":​ "​Diamondback 2013 Recoil 29'er Full Suspension Mountain Bike with 29-Inch Wheels",​
 +      "​product":​ "​product788",​
 +      "​purchaseId":​ "​purchase4660",​
 +      "​unitPrice":​ 700
 +    },
 +    {
 +      "​name":​ "Eli Manning Signed Super Bowl XLVI Football w/ SB XLVI MVP Insc.",​
 +      "​product":​ "​product838",​
 +      "​purchaseId":​ "​purchase5042",​
 +      "​unitPrice":​ 799.99
 +    },
 +    {
 +      "​name":​ "Danby DDW1899WP 8 Place Setting Portable Dishwasher - White",​
 +      "​product":​ "​product203",​
 +      "​purchaseId":​ "​purchase5321",​
 +      "​unitPrice":​ 524
 +    },
 +    {
 +      "​name":​ "​Diamondback 2013 Recoil 29'er Full Suspension Mountain Bike with 29-Inch Wheels",​
 +      "​product":​ "​product788",​
 +      "​purchaseId":​ "​purchase545",​
 +      "​unitPrice":​ 700
 +    },
 +    {
 +      "​name":​ "Danby DDW1899WP 8 Place Setting Portable Dishwasher - White",​
 +      "​product":​ "​product203",​
 +      "​purchaseId":​ "​purchase5483",​
 +      "​unitPrice":​ 524
 +    },
 +    {
 +      "​name":​ "Eli Manning Signed Super Bowl XLVI Football",​
 +      "​product":​ "​product833",​
 +      "​purchaseId":​ "​purchase568",​
 +      "​unitPrice":​ 599.99
 +    },
 +    {
 +      "​name":​ "Eli Manning NFL Duke Football",​
 +      "​product":​ "​product836",​
 +      "​purchaseId":​ "​purchase6223",​
 +      "​unitPrice":​ 599.99
 +    },
 +    {
 +      "​name":​ "​Diamondback 2013 Recoil 29'er Full Suspension Mountain Bike with 29-Inch Wheels",​
 +      "​product":​ "​product788",​
 +      "​purchaseId":​ "​purchase6491",​
 +      "​unitPrice":​ 700
 +    },
 +    {
 +      "​name":​ "Danby DDW1899WP 8 Place Setting Portable Dishwasher - White",​
 +      "​product":​ "​product203",​
 +      "​purchaseId":​ "​purchase7679",​
 +      "​unitPrice":​ 524
 +    },
 +    {
 +      "​name":​ "Eli Manning NFL Duke Football",​
 +      "​product":​ "​product836",​
 +      "​purchaseId":​ "​purchase8069",​
 +      "​unitPrice":​ 599.99
 +    },
 +    {
 +      "​name":​ "TOTO SW564T695-12 Washlet S400 Elongated Front Toilet Seat for G-Max Toilets with Auto Flush System, Sedona Beige",​
 +      "​product":​ "​product293",​
 +      "​purchaseId":​ "​purchase8390",​
 +      "​unitPrice":​ 1094.46
 +    },
 +    {
 +      "​name":​ "TOTO SW564T695-12 Washlet S400 Elongated Front Toilet Seat for G-Max Toilets with Auto Flush System, Sedona Beige",​
 +      "​product":​ "​product293",​
 +      "​purchaseId":​ "​purchase8539",​
 +      "​unitPrice":​ 1094.46
 +    },
 +    {
 +      "​name":​ "Oeuf Sparrow Crib, White",​
 +      "​product":​ "​product606",​
 +      "​purchaseId":​ "​purchase8764",​
 +      "​unitPrice":​ 760
 +    },
 +    {
 +      "​name":​ "LG 3.6 Cu. Ft. White Front Load Steam Washer - WM2650HRA",​
 +      "​product":​ "​product167",​
 +      "​purchaseId":​ "​purchase8886",​
 +      "​unitPrice":​ 892.49
 +    },
 +    {
 +      "​name":​ "TOTO SW564T695-12 Washlet S400 Elongated Front Toilet Seat for G-Max Toilets with Auto Flush System, Sedona Beige",​
 +      "​product":​ "​product490",​
 +      "​purchaseId":​ "​purchase9007",​
 +      "​unitPrice":​ 1094.46
 +    },
 +    {
 +      "​name":​ "LG 3.6 CF FRONT LOAD WASHER DRYER COMBO",​
 +      "​product":​ "​product160",​
 +      "​purchaseId":​ "​purchase9210",​
 +      "​unitPrice":​ 1499
 +    },
 +    {
 +      "​name":​ "LG 3.6 Cu. Ft. White Front Load Steam Washer - WM2650HRA",​
 +      "​product":​ "​product167",​
 +      "​purchaseId":​ "​purchase9374",​
 +      "​unitPrice":​ 892.49
 +    },
 +    {
 +      "​name":​ "Eli Manning NFL Duke Football",​
 +      "​product":​ "​product836",​
 +      "​purchaseId":​ "​purchase9591",​
 +      "​unitPrice":​ 599.99
 +    },
 +    {
 +      "​name":​ "​EdgeStar 2.0 Cu. Ft. Ventless Combo Washer/​Dryer - White",​
 +      "​product":​ "​product158",​
 +      "​purchaseId":​ "​purchase9598",​
 +      "​unitPrice":​ 830.99
 +    },
 +    {
 +      "​name":​ "​Diamondback 2013 Recoil 29'er Full Suspension Mountain Bike with 29-Inch Wheels",​
 +      "​product":​ "​product788",​
 +      "​purchaseId":​ "​purchase9646",​
 +      "​unitPrice":​ 700
 +    },
 +    {
 +      "​name":​ "​Diamondback 2013 Recoil 29'er Full Suspension Mountain Bike with 29-Inch Wheels",​
 +      "​product":​ "​product788",​
 +      "​purchaseId":​ "​purchase9668",​
 +      "​unitPrice":​ 700
 +    }
 +  ]
 +}
 +</​code>​
 +===== Utilisation de Couchbase en local (facultatif) =====
  
  
-==== Utilisation de Couchbase depuis les machines de la PPTI (facultatif)==== 
  
 Couchbase est pré-installé sur les machines de le PPTI.  Il suffit de le lancer depuis un navigateur Web à l'​adresse suivante: http://​127.0.0.1:​8091/​ Couchbase est pré-installé sur les machines de le PPTI.  Il suffit de le lancer depuis un navigateur Web à l'​adresse suivante: http://​127.0.0.1:​8091/​
  
 +==== Depuis machines personnelles ====
  
  
-==== Installation Couchbase sur vos machines personnelles (facultatif) ==== 
  
   * Télécharger ​ la dernière version '​Community'​ de Couchbase Server à cette adresse [[https://​www.couchbase.com/​downloads]]   * Télécharger ​ la dernière version '​Community'​ de Couchbase Server à cette adresse [[https://​www.couchbase.com/​downloads]]
Ligne 539: Ligne 1272:
 {{:​site:​enseignement:​master:​mlbda:​tmes:​couchbaseserver.png?​100|}} {{:​site:​enseignement:​master:​mlbda:​tmes:​couchbaseserver.png?​100|}}
  
-==== Lancement de Couchbase en local ==== 
  
  
Ligne 545: Ligne 1277:
   * Suivre ces [[https://​docs.couchbase.com/​server/​current/​manage/​manage-nodes/​create-cluster.html|instructions]] pour créer un nouveau cluster (choisir un nom pour celui-ci, choisir '​Administrator'​ et '​password'​ pour username et password). Si la valeur de la partie '​Data'​ dans '​Service Memory Quotas'​ est inférieure à 512 MB, choisir 512 MB comme valeur pour cette partie sinon la laisser inchangée. Laisser les autres valeurs inchangées.   * Suivre ces [[https://​docs.couchbase.com/​server/​current/​manage/​manage-nodes/​create-cluster.html|instructions]] pour créer un nouveau cluster (choisir un nom pour celui-ci, choisir '​Administrator'​ et '​password'​ pour username et password). Si la valeur de la partie '​Data'​ dans '​Service Memory Quotas'​ est inférieure à 512 MB, choisir 512 MB comme valeur pour cette partie sinon la laisser inchangée. Laisser les autres valeurs inchangées.
  
 +=== Création des buckets ===
  
  
-==== Création des buckets ==== 
   * Créer 4 nouveaux buckets avec les noms suivants (voir leur description ci-après): **product, customer, purchases et reviews**. Voir les instruction de création des buckets à cette [[https://​docs.couchbase.com/​server/​current/​manage/​manage-buckets/​create-bucket.html|adresse]]. Pour chaque bucket changer la valeur de '​Memory Quota' à 100 MB. Laisser les autres options dans bucket-settings inchangées.   * Créer 4 nouveaux buckets avec les noms suivants (voir leur description ci-après): **product, customer, purchases et reviews**. Voir les instruction de création des buckets à cette [[https://​docs.couchbase.com/​server/​current/​manage/​manage-buckets/​create-bucket.html|adresse]]. Pour chaque bucket changer la valeur de '​Memory Quota' à 100 MB. Laisser les autres options dans bucket-settings inchangées.
  
Ligne 559: Ligne 1291:
   * **reviews**:​ liste d'avis donnés par les clients sur les produits, chaque review ayant une note comprise entre 0 et 5. Il y aura **10000** documents dans ce bucket. [[site:​enseignement:​master:​mlbda:​tmes:​couchbase:​schema-reviews |Schéma]]   * **reviews**:​ liste d'avis donnés par les clients sur les produits, chaque review ayant une note comprise entre 0 et 5. Il y aura **10000** documents dans ce bucket. [[site:​enseignement:​master:​mlbda:​tmes:​couchbase:​schema-reviews |Schéma]]
  
-==== Importation des données ====+=== Importation des données === 
  
   * Télécharger et décompresser {{ :​site:​enseignement:​master:​mlbda:​tmes:​donnees.zip | l'​archive}} ​ qui contient les données à importer.   * Télécharger et décompresser {{ :​site:​enseignement:​master:​mlbda:​tmes:​donnees.zip | l'​archive}} ​ qui contient les données à importer.
Ligne 582: Ligne 1315:
  
  
-  ​ 
 ===== Données du TD (pour les révisions) ===== ===== Données du TD (pour les révisions) =====
 +
 + 
 Dés-archiver {{ :​site:​enseignement:​master:​mlbda:​tmes:​data.zip | l'​archive}} qui contient les fichiers ​ Countries.json,​ Deserts.json et Mountains.json. Dés-archiver {{ :​site:​enseignement:​master:​mlbda:​tmes:​data.zip | l'​archive}} qui contient les fichiers ​ Countries.json,​ Deserts.json et Mountains.json.
  
site/enseignement/master/mlbda/tmes/couchbase.1639584458.txt.gz · Dernière modification: 15/12/2021 17:07 par amine