CodeGym /Cours /SQL SELF /Introduction au chargement massif de données

Introduction au chargement massif de données

SQL SELF
Niveau 23 , Leçon 0
Disponible

Imagine qu’on t’envoie un fichier CSV avec des infos sur des étudiants, genre depuis une autre base de données ou une appli externe. Copier chaque enregistrement à la main ? Non merci. C’est là que le chargement massif de données devient super utile.

Voilà quelques situations où le chargement massif de données te sauve la vie :

  • Migration de données : tu dois transférer des données d’un système à un autre. Par exemple, d’Excel ou d’une autre base de données vers PostgreSQL.
  • Initialisation de la base de données : remplir ta base avec des données de départ, genre une liste de villes, de cours ou de catégories de produits.
  • Intégration avec des systèmes externes : ajout régulier de nouvelles données, par exemple, mise à jour de données de tiers via un fichier.
  • Mise à jour de gros volumes de données : tu dois remplacer des données obsolètes par des données à jour.

Tout est clair jusque-là ? Si oui, on continue !

Principales approches pour le chargement massif de données

Avant de rentrer dans les détails, voyons vite fait les différentes façons d’ajouter dans la base non pas une ou deux lignes, mais plein d’un coup. On va voir comment faire avec des requêtes SQL, puis on regardera une méthode plus pratique et moderne — le chargement de données depuis des fichiers.

Requêtes SQL pour insérer des données

Tu sais déjà que pour ajouter des données, on utilise la commande INSERT INTO. Ça marche nickel si t’as peu d’enregistrements. Par exemple :

INSERT INTO students (id, name, age, course)
VALUES (1, 'Otto Lin', 20, 'Programmation');

Mais si tu dois gérer des dizaines, des centaines ou des milliers de lignes, cette méthode devient vite galère. Bien sûr, tu peux automatiser ça dans ton code, mais à la main, c’est juste pas possible et super chiant.

Chargement depuis des fichiers

C’est pour ça qu’on utilise souvent le chargement de données depuis des fichiers, comme les CSV (Comma-Separated Values). C’est un format texte tout simple, où chaque ligne est un enregistrement, et les valeurs sont séparées par des virgules ou des points-virgules.

Exemple de contenu d’un fichier CSV :

id,name,age,course
1,Otto Lin,20,Programmation
2,Maria Chi,21,Design
3,Alex Ming,19,Mathématiques

Ce format est facile à lire, aussi bien pour les humains que pour les programmes. Tu peux ouvrir un CSV dans Excel, le traiter en Python ou dans un autre langage, et l’importer sans souci dans la base. Le chargement massif depuis un fichier est bien plus rapide que l’insertion manuelle et ça réduit les risques d’erreurs de saisie.

Préparation au chargement massif

Le secret d’un chargement réussi, c’est la préparation. On va préparer la base pour recevoir les données, vérifier que la structure colle et que les données sont clean.

Vérification de la structure des tables

D’abord, assure-toi que ta base contient une table qui correspond à la structure du fichier. Par exemple, si tu charges des étudiants, il te faut une table avec les bonnes colonnes.

Exemple de table pour charger des données sur les étudiants :

CREATE TABLE students (
    id SERIAL PRIMARY KEY,
    name TEXT NOT NULL,
    age INTEGER NOT NULL,
    course TEXT
);

Points importants :

  • Vérifie que les types de données des colonnes correspondent à ceux de ton fichier. Si age est un nombre, alors dans le CSV, cette colonne doit contenir uniquement des nombres.
  • Les colonnes avec des contraintes (NOT NULL, UNIQUE) demandent une préparation des données encore plus soignée.

Vérification des données

Maintenant, un mot sur les données. Voilà ce qu’il faut checker avant de charger :

  1. Pas de lignes vides ou de valeurs incorrectes. Par exemple, la ligne : 12,,20,Programmation va planter, parce que name est un champ obligatoire.
  1. Correspondance des séparateurs. Si ton CSV utilise la virgule (,), assure-toi que c’est bien configuré. Si c’est des points-virgules (;), il faut le préciser au moment du chargement.

  2. Encodage. PostgreSQL attend des fichiers en UTF-8. Si ton fichier est dans un autre encodage (genre Windows-1251), il faut le convertir.

Petite blague de dev pour se détendre

Pourquoi les devs kiffent les CSV ? Parce qu’après des heures à bosser avec du JSON, ils voient enfin des “données simples”... jusqu’à ce qu’ils tombent sur une virgule dans le texte.

Utilisation pratique du chargement massif

Dans les vrais projets, le chargement massif est partout. Par exemple :

  • Pour mettre à jour le catalogue produits d’une boutique en ligne. Un fichier CSV avec des milliers de produits se charge en quelques secondes.
  • Pour migrer des clients d’un CRM à un autre. Toutes les infos clients, adresses et commandes sont chargées depuis un CSV dans PostgreSQL.
  • En analytics, quand il faut charger les données de ventes du mois pour analyse.

Maintenant que tu piges à quoi ça sert et comment te préparer, on va pouvoir passer aux outils concrets de chargement de données, comme la commande COPY. Mais ça, c’est pour la prochaine leçon.

2
Mission
SQL SELF, niveau 23, leçon 0
Bloqué
Chargement manuel des données avec INSERT INTO
Chargement manuel des données avec INSERT INTO
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION