Aller au contenu principal

Tableur & serveur SQL

Connexion et exploitation des données : du tableur à la base de données

Notions théoriques

Les tableurs et les serveurs SQL sont deux outils essentiels dans le monde de la gestion et de l'analyse de données, mais ils fonctionnent de manière très différente.

Un tableur, comme Microsoft Excel ou Google Sheets, est un logiciel qui permet de manipuler des données organisées en lignes et colonnes :

  • Il est idéal pour des calculs simples, des visualisations rapides et des analyses ad hoc.
  • Les données sont stockées directement dans le fichier du tableur.

D'un autre côté, un serveur SQL (Structured Query Language) est un système de gestion de base de données relationnelle :

  • Il permet de stocker, organiser et gérer de grandes quantités de données structurées.
  • Les données sont stockées dans des tables liées entre elles, ce qui permet des requêtes complexes et une gestion efficace des relations entre les données.

Les principales différences sont :

  1. Structure : Les tableurs ont une structure plate, tandis que les bases de données SQL ont une structure relationnelle.
  2. Capacité : Les serveurs SQL peuvent gérer des millions de lignes, alors que les tableurs ont des limites plus basses.
  3. Accès concurrent : Les serveurs SQL permettent à plusieurs utilisateurs d'accéder et de modifier les données simultanément.
  4. Intégrité des données : Les serveurs SQL offrent des mécanismes pour garantir l'intégrité et la cohérence des données.
  5. Sécurité : Les serveurs SQL proposent des contrôles d'accès granulaires et des fonctionnalités de sécurité avancées.

Malgré ces différences, il est possible et souvent utile de connecter un tableur à un serveur SQL.

astuce

Connecter un tableur à un serveur SQL permet de combiner la facilité d'utilisation du tableur avec la puissance et la robustesse du serveur SQL.

Exemple pratique avec Excel

Imaginons que vous travaillez pour une entreprise qui gère un grand nombre de produits. Vous avez une base de données SQL contenant toutes les informations sur ces produits, et vous souhaitez analyser ces données dans Excel.

Voici les étapes pour connecter Excel à votre serveur SQL :

  1. Dans Excel, allez dans l'onglet "Données".
  2. Cliquez sur "Obtenir des données" puis "À partir d'une base de données" et "À partir de SQL Server".
  3. Entrez le nom du serveur SQL et la base de données.
  4. Choisissez l'authentification (Windows ou SQL Server).
  5. Sélectionnez les tables que vous voulez importer ou écrivez une requête SQL.
  6. Choisissez de charger les données dans Excel ou de les utiliser dans Power Query.

Une fois connecté, vous pouvez :

  • Rafraîchir les données depuis Excel pour obtenir les dernières mises à jour.
  • Utiliser les fonctionnalités d'Excel (tableaux croisés dynamiques, graphiques, etc.) sur vos données SQL.
  • Créer des rapports dynamiques qui se mettent à jour automatiquement.

Cette connexion vous permet de bénéficier du meilleur des deux mondes : la puissance de stockage et de gestion des données du SQL, et la flexibilité d'analyse et de présentation d'Excel.

Exemple pratique avec LibreOffice

Imaginons que vous travaillez pour une entreprise qui gère un grand nombre de produits. Vous avez une base de données SQL contenant toutes les informations sur ces produits, et vous souhaitez analyser ces données dans LibreOffice Calc.

Voici les étapes pour connecter LibreOffice Calc à votre serveur SQL :

  1. Ouvrez LibreOffice Calc et allez dans "Fichier" > "Nouveau" > "Base de données".

  2. Dans l'assistant de base de données, sélectionnez "Connecter à une base de données existante" et choisissez "MySQL" dans la liste déroulante.

  3. À l'écran suivant, sélectionnez "Connexion directe" si vous utilisez une version récente de LibreOffice.

  4. Remplissez les informations de connexion :

    • Serveur : l'adresse IP ou le nom de votre serveur SQL
    • Port : généralement 3306 pour MySQL
    • Nom de la base de données : le nom de votre base
    • Nom d'utilisateur et mot de passe[7]
  5. Testez la connexion, puis terminez l'assistant en donnant un nom à votre fichier de base de données (.odb).

  6. Dans LibreOffice Calc, allez dans "Insertion" > "Noms" > "Définir" pour créer une plage nommée liée à votre requête SQL.

  7. Dans la boîte de dialogue, entrez un nom pour votre plage (par exemple "ProduitsDonnees") et dans la référence, utilisez une formule SQL comme :

    =SDATABASE("NomDeLaBaseDeDonnees";"SELECT * FROM Produits")
  8. Vous pouvez maintenant utiliser cette plage nommée dans vos formules et tableaux croisés dynamiques.

Une fois connecté, vous pouvez :

  • Rafraîchir les données en mettant à jour la plage nommée.
  • Utiliser les fonctionnalités de Calc (tableaux croisés dynamiques, graphiques, etc.) sur vos données SQL.
  • Créer des rapports dynamiques qui se mettent à jour en actualisant la plage nommée.

Cette connexion vous permet de bénéficier du meilleur des deux mondes :

  • la puissance de stockage et de gestion des données du SQL,
  • et la flexibilité d'analyse et de présentation de LibreOffice Calc.

Test de mémorisation/compréhension


Quelle est la principale différence de structure entre un tableur et un serveur SQL ?


Quel avantage offre un serveur SQL par rapport à un tableur en termes de capacité ?


Quelle fonctionnalité n'est généralement pas disponible dans un tableur mais est courante dans un serveur SQL ?


Dans Excel, où faut-il aller pour commencer à se connecter à un serveur SQL ?


Quel avantage offre la connexion d'un tableur à un serveur SQL ?


Quel est l'avantage principal d'utiliser un serveur SQL par rapport à un tableur pour de grandes quantités de données ?


Quel langage est utilisé pour interagir avec une base de données SQL ?


Que signifie 'CSV' dans le contexte de l'exportation de données ?



TP pour réfléchir et résoudre des problèmes

Vous êtes chargé(e) d'analyser les ventes d'une chaîne de magasins de vêtements. Les données sont stockées dans un serveur SQL, mais votre équipe préfère travailler avec Excel pour l'analyse et la création de rapports.

  1. Connectez-vous au serveur SQL (utilisez un outil comme DBeaver ou HeïdiSQL).

  2. Écrivez une requête SQL pour extraire les informations suivantes :

    • ID du produit
    • Nom du produit
    • Catégorie
    • Prix unitaire
    • Quantité vendue
    • Date de vente
  3. Importez ces données dans Excel ou LibreOffice en utilisant la connexion à la base de données SQL.

  4. Dans le tableur, créez un tableau croisé dynamique pour analyser :

    • Les ventes totales par catégorie de produit
    • L'évolution des ventes mensuelles
    • Les 5 produits les plus vendus
  5. Créez un graphique pour visualiser l'une de ces analyses.

  6. Réfléchissez aux avantages et inconvénients de cette approche par rapport à l'utilisation directe du serveur SQL pour l'analyse.

Une solution