Introduction au nettoyage de données

L'objectif de ce TP est de faire face à quelques problèmes de qualité de données.

Pour ce TP on travaillera sur PostgreSQL (compte indiqué dans TOMUSS). Connexion avec psql:

psql -h 192.168.77.4 -U compte_indique_dans_tomuss -d postgres

Ce TP est à rendre pour le dimanche 21 octobre 2018 sous forme d'un rapport pdf contenant pour chaque type d'erreur:

  • une explication du problème des moyens de le détecter et de le corriger;
  • une ou plusieurs requêtes SQL pour détecter ce type d'erreur;
  • une ou plusieurs requêtes SQL pour corriger ces erreurs.

Remarque: il est possible d'utiliser des tables temporaires lors de la correction des erreurs.

Import des données

Copier la table TIW2DATA.VINS dans votre compte:

CREATE TABLE VINS AS SELECT * FROM TIW2DATA.VINS;

Si vous travaillez sur une base sur votre propre machine, le script de création de la table et des données est disponible ici: vins-pg-2018.sql.

Analyse des données et correction

Afficher les données dans psql.

:!: Dans le reste du TP toutes les questions doivent être répondues à l'aide de requêtes SQL les plus génériques possibles :!:

Données numériques

Certains types de données sont des type chaîne de caractères au lieu de données numériques.

→ Expliquer pourquoi et corriger le problème.

Emplacement de stockage

L'emplacement de stockage des bouteilles et leur décompte est stocké ans 3 attributs: LIEU, H et TOT: il y a 2 lieux de stockage: Valence et Lyon. TOT représente le nombre total de bouteilles et H représente, parmi ces bouteilles, le nombre qui on été remontées, les autres étant en cave.

→ ajouter deux attributs, NB_HAUT et NB_BAS et remplir leurs valeurs. On ne veut pas de valeur nulle.

Régions

L'appellation devrait déterminer la région.

→ Corriger les problèmes correspondants

Appellation manquante

On sait que deux vins ayant un même domaine et une même cuvée (lorsqu'elle est connue) ont la même appellation.

→ Compléter les appellations manquantes.

Données dupliquées

Trouver la clé de la table à la main, puis vérifier votre hypothèse à l'aide d'une requête SQL.

→ Éliminer les doublons.