Skip to content

Commit

Permalink
Update sql-ecommerce.html
Browse files Browse the repository at this point in the history
  • Loading branch information
kurotako-data authored Oct 15, 2024
1 parent 5744b5e commit 9df5b97
Showing 1 changed file with 65 additions and 26 deletions.
91 changes: 65 additions & 26 deletions projects/sql-ecommerce.html
Original file line number Diff line number Diff line change
@@ -1,44 +1,83 @@
---
layout: default
title: Projet SQL : Etude de la base de données d'un commerce
---

layout: default
title: Projet SQL : Analyse des données commerciales d'un disquaire
---

<h1>Projet SQL : Etude de la base de données d'un commerce</h1>
<p>Analyse des données commerciales d'un disquaire avec SQL.</p>
<h1>Projet SQL : Analyse des données commerciales d'un disquaire</h1>
<p>Ce projet utilise MySQL pour analyser les données d'un magasin de disques fictif. L'objectif est de comprendre l'activité du magasin et d'optimiser les opérations en se basant sur des requêtes SQL.</p>

<h2>Introduction</h2>
<p>Ce projet analyse la base de données d'un disquaire pour identifier des opportunités d'amélioration de la gestion des ventes et des stocks.</p>
<p>Dans ce projet, nous avons manipulé une base de données MySQL représentant un magasin de musique. Les données contiennent des informations sur les albums, artistes, clients, employés, factures, morceaux de musique et bien plus encore. L'objectif principal était d'importer ces données et d'exécuter diverses requêtes SQL pour obtenir des insights commerciaux et corriger les problèmes d'importation des fichiers CSV.</p>

<h2>Données utilisées</h2>
<p>Les tables principales analysées sont :</p>
<h2>Structure des tables</h2>
<p>La base de données est composée des tables suivantes, interconnectées par des clés étrangères :</p>
<ul>
<li><strong>Ventes :</strong> Contient les détails des transactions, y compris les articles vendus et les montants associés.</li>
<li><strong>Stocks :</strong> Suivi des quantités disponibles et des réapprovisionnements nécessaires.</li>
<li><strong>Clients :</strong> Informations démographiques sur les clients, incluant les habitudes d'achat.</li>
<li><strong>employee :</strong> Détails des employés.</li>
<li><strong>customer :</strong> Informations sur les clients, y compris leur représentant de support.</li>
<li><strong>invoice :</strong> Factures émises aux clients.</li>
<li><strong>invoice_line :</strong> Détails des articles vendus dans les factures.</li>
<li><strong>track :</strong> Informations sur les morceaux de musique, y compris l'album, le genre et le type de média.</li>
<li><strong>playlist_track :</strong> Association entre les playlists et les morceaux.</li>
<li><strong>playlist :</strong> Détails des playlists créées par les utilisateurs.</li>
<li><strong>album :</strong> Albums associés aux artistes.</li>
<li><strong>artist :</strong> Informations sur les artistes.</li>
<li><strong>media_type :</strong> Types de médias (ex: fichier MP3, vidéo).</li>
<li><strong>genre :</strong> Genres de musique (rock, pop, etc.).</li>
</ul>

<h2>Volumétrie des données</h2>
<h2>Opérations effectuées</h2>
<p>Nous avons effectué les opérations suivantes pour analyser les données :</p>
<ul>
<li><strong>Importation des fichiers CSV dans MySQL :</strong> Les fichiers CSV, tels que employee.csv, customer.csv, et invoice.csv, ont été importés avec quelques corrections manuelles pour résoudre les erreurs de clés étrangères et de formats de données.</li>
<li><strong>Vérification des incohérences :</strong> Nous avons vérifié l'intégrité des clés étrangères avec des requêtes SQL pour nous assurer que les relations entre les tables étaient valides.</li>
</ul>

<h2>Requêtes analytiques SQL</h2>
<p>Plusieurs requêtes SQL ont été exécutées pour obtenir des insights spécifiques sur l'activité du magasin. Voici quelques exemples :</p>

<ul>
<li><strong>ventes.csv :</strong> 1000 lignes / 10 colonnes</li>
<li><strong>stocks.csv :</strong> 500 lignes / 6 colonnes</li>
<li><strong>clients.csv :</strong> 300 lignes / 8 colonnes</li>
<li><strong>Employé le plus jeune :</strong> Cette requête identifie l'employé le plus jeune en triant les employés par date de naissance.</li>
<pre><code>SELECT first_name, last_name, title FROM employee ORDER BY birthdate DESC LIMIT 1;</code></pre>

<li><strong>Top 3 des pays avec le plus de factures :</strong> Requête regroupant les factures par pays et triant les résultats par nombre de factures.</li>
<pre><code>SELECT billing_country, COUNT(*) AS total_invoices FROM invoice GROUP BY billing_country ORDER BY total_invoices DESC LIMIT 3;</code></pre>

<li><strong>Meilleur client en termes de dépenses totales :</strong> Cette requête calcule le total des dépenses de chaque client et affiche celui ayant dépensé le plus.</li>
<pre><code>SELECT c.first_name, c.last_name, SUM(i.total) AS total_spent
FROM customer c
JOIN invoice i ON c.customer_id = i.customer_id
GROUP BY c.customer_id
ORDER BY total_spent DESC LIMIT 1;</code></pre>

<li><strong>Genre de musique le plus populaire par pays :</strong> Cette requête calcule le nombre d'achats de morceaux de musique par genre pour chaque pays.</li>
<pre><code>SELECT c.country, g.name AS genre_name, COUNT(il.quantity) AS total_purchases
FROM invoice i
JOIN customer c ON i.customer_id = c.customer_id
JOIN invoice_line il ON i.invoice_id = il.invoice_id
JOIN track t ON il.track_id = t.track_id
JOIN genre g ON t.genre_id = g.genre_id
GROUP BY c.country, g.genre_id
ORDER BY c.country, total_purchases DESC;</code></pre>
</ul>

<h2>Objectifs du projet</h2>
<h2>Volumétrie des données</h2>
<ul>
<li><strong>Optimisation des ventes :</strong> Analyser les performances des produits et les tendances des clients pour identifier des opportunités de croissance.</li>
<li><strong>Gestion des stocks :</strong> Améliorer la gestion des stocks en évitant les ruptures de stock des articles populaires.</li>
<li><strong>Fidélisation des clients :</strong> Identifier les clients les plus fidèles et créer des stratégies de rétention personnalisées.</li>
<li><strong>employee.csv :</strong> 10 lignes / 6 colonnes</li>
<li><strong>customer.csv :</strong> 59 lignes / 8 colonnes</li>
<li><strong>invoice.csv :</strong> 412 lignes / 9 colonnes</li>
<li><strong>track.csv :</strong> 3503 lignes / 6 colonnes</li>
</ul>

<!-- Liens vers le code du projet -->
<a href="https://github.com/kurotako-data/sql_music_shop" target="_blank">Lien GitHub vers les fichiers du projet SQL</a> <br>
<a href="https://github.com/kurotako-data/sql_music_shop/blob/main/sql_music_shop.sql" target="_blank">Voir les requêtes SQL du projet</a> <br>
<h2>Conclusion et recommandations</h2>
<blockquote>
"Grâce à cette analyse SQL, nous avons pu identifier des tendances importantes dans les ventes et la gestion des stocks du magasin, permettant d'optimiser les opérations commerciales."
</blockquote>
<p>Ce projet a permis d'acquérir des insights précieux sur l'activité du magasin de musique, notamment en identifiant les clients les plus dépensiers, les genres de musique les plus populaires, et les opportunités d'amélioration dans la gestion des stocks. En optimisant l'importation des données et en utilisant des requêtes SQL adaptées, nous avons pu extraire des informations utiles pour la gestion quotidienne du magasin.</p>

<!-- Lien vers le projet GitHub -->
<p><a href="https://github.com/kurotako-data/sql_music_shop" target="_blank">Lien GitHub vers les fichiers du projet SQL</a></p>
<p><a href="https://github.com/kurotako-data/sql_music_shop/blob/main/sql_music_shop.sql" target="_blank">Voir les requêtes SQL du projet</a></p>

<h2>Conclusion</h2>
<p>L'analyse des données a révélé des pistes d'amélioration, notamment en matière de gestion des stocks et de fidélisation des clients. L'utilisation de SQL a permis d'extraire des informations pertinentes pour guider les décisions stratégiques du magasin.</p>
<p><a href="../index.html">Retour à l'index des projets</a></p> <!-- Bouton pour retourner à la page d'index -->

<p><a href="../index.html">Retour à l'index des projets</a></p>

0 comments on commit 9df5b97

Please sign in to comment.