N.S.I. WorkSpace P-Th-C,Première C5 – Fusion de tables

C5 – Fusion de tables

Categories:

Fusion par concaténation

Définition

La fusion par concaténation consiste à ajouter les enregistrements d’une table à la suite de ceux d’une autre table.


Cette fusion peut se faire en modifiant l’une des deux tables (T1 ou T2) de départ et en conservant la seconde (T2 ou T1) :

T1 = T1 + T2 ou T1 = T2 + T1
ou
T2 = T1 + T2 ou T2 = T2 + T1


Cette fusion peut également se faire en créant une nouvelle table (T3) et en conservant les deux tables d’origine (T1 et T2) :
T3 = T1 + T2 ou T3 = T2 + T1

L’opérateur « + » signifie ici « concaténation ».

Par exemple, si T1 est :

COULEUR NOMCODE HEXACODE RGB
AntiqueWhite#FAEBD7rgb(250, 235, 215)
Coral#FF7F50rgb(255, 127, 80)
DarkKhaki#BDB76Brgb(189, 183, 107)
DodgerBlue#1E90FFrgb(30, 144, 255)

et T2 est :

COULEUR NOMCODE HEXACODE RGB
GoldenRod#DAA520rgb(218, 165, 32)
LightGreen#90EE90rgb(144, 238, 144)
MediumTurquoise#48D1CCrgb(72, 209, 204)
PaleVioletRed#DB7093rgb(219, 112, 147)

une fusion par concaténation de ces deux tables donne :

COULEUR NOMCODE HEXACODE RGB
AntiqueWhite#FAEBD7rgb(250, 235, 215)
Coral#FF7F50rgb(255, 127, 80)
DarkKhaki#BDB76Brgb(189, 183, 107)
DodgerBlue#1E90FFrgb(30, 144, 255)
GoldenRod#DAA520rgb(218, 165, 32)
LightGreen#90EE90rgb(144, 238, 144)
MediumTurquoise#48D1CCrgb(72, 209, 204)
PaleVioletRed#DB7093rgb(219, 112, 147)

Les conditions d’une fusion par concaténation

C.Q.F.R. – Les conditions de cette fusion sont les suivantes :

les deux tables doivent posséder le même nombre de descripteurs ;
les descripteurs des deux tables sont ‘identiques’ (de même nature) ;
les descripteurs des deux tables sont disposés dans le même ordre ;
pour chacun des descripteurs, les valeurs sont de même type dans les deux tables

Exercice d’entraînement – Les couleurs en HTML.

Il existe plusieurs codages de la valeur d’une couleur en HTML.

Source : Color Names Supported by All Browsers | Color Converter

1 – Construire deux tables à partir des fichiers ‘csv’ suivants : table_couleurs_1a.csv et table_couleurs_1b.csv

2 – Préparation de la fusion par concaténation :
comparer l’ordre des attributs des deux tables et si besoin déplacer une ou plusieurs colonnes d’une table ;
comparer les types de données (str, int, float, bool…) des colonnes des deux tables et si besoin modifier un ou plusieurs types ;

3 – Fusionner les deux tables dans une nouvelle table.

4 – Sauvegarder la table fusionnée dans un fichier ‘csv’.

Des difficultés ? Coup(s) de pouce…

Réponse possible et Auto-évaluation

Fusion par jointure

Définition

La fusion par jointure consiste à ajouter les colonnes d’une table à celles d’une autre table.


Comme pour la fusion par concaténation, cette fusion peut se faire en modifiant l’une des deux tables (T1 ou T2) de départ et en conservant la seconde (T2 ou T1), ou peut également se faire en créant une nouvelle table (T3) et en conservant les deux tables d’origine (T1 et T2).

Par exemple, si T1 est :

COULEUR NOMCODE HEXACODE RGB
AntiqueWhite#FAEBD7rgb(250, 235, 215)
Coral#FF7F50rgb(255, 127, 80)
DarkKhaki#BDB76Brgb(189, 183, 107)
DodgerBlue#1E90FFrgb(30, 144, 255)

et T2 est :

COULEUR NOMCODE HSLCODE HWBCODE CMYKCODE Ncol
AntiqueWhitehsl(34, 78%, 91%)hwb(34, 84%, 2%)cmyk(0%, 6%, 14%, 2%)R57, 84%, 2%
Coralhsl(16, 100%, 66%)hwb(16, 31%, 0%)cmyk(0%, 50%, 69%, 0%)R27, 31%, 0%
DarkKhakihsl(56, 38%, 58%)hwb(56, 42%, 26%)cmyk(0%, 3%, 43%, 26%)R93, 42%, 26%
DodgerBluehsl(210, 100%, 56%)hwb(210, 12%, 0%)cmyk(88%, 44%, 0%, 0%)C49, 12%, 0%

une fusion par jointure donne :

COULEUR NOMCODE HEXACODE RGBCODE HSLCODE HWBCODE CMYKCODE Ncol
AntiqueWhite#FAEBD7rgb(250, 235, 215)hsl(34, 78%, 91%)hwb(34, 84%, 2%)cmyk(0%, 6%, 14%, 2%)R57, 84%, 2%
Coral#FF7F50rgb(255, 127, 80)hsl(16, 100%, 66%)hwb(16, 31%, 0%)cmyk(0%, 50%, 69%, 0%)R27, 31%, 0%
DarkKhaki#BDB76Brgb(189, 183, 107)hsl(56, 38%, 58%)hwb(56, 42%, 26%)cmyk(0%, 3%, 43%, 26%)R93, 42%, 26%
DodgerBlue#1E90FFrgb(30, 144, 255)hsl(210, 100%, 56%)hwb(210, 12%, 0%)cmyk(88%, 44%, 0%, 0%)C49, 12%, 0%

Les conditions d’une fusion par jointure

C.Q.F.R. – Les conditions de cette fusion sont les suivantes :

les deux tables doivent partager un descripteur (attribut, colonne) en commun ;

Les tables 1 et 2 ne partagent aucun descripteur en commun.
Leur fusion par jointure n’est pas possible
pour ce descripteur partagé, les données des occurrences doivent être identiques.

Les tables 1 et 2 possèdent un descripteur en commun pour lequel les données des enregistrements sont identiques.
Leur fusion par jointure est possible : les données peuvent être regroupées dans une table 3.

Toutefois, si pour le descripteur partagé, l’une des deux tables possèdent une valeur qui n’existe pas dans l’autre table, il est possible d’envisager deux stratégies :

la première consiste à ignorer l’enregistrement : dans ce cas la table fusionnée sera « incomplète » ;

Les tables 1 et 2 possèdent un descripteur en commun : Leur fusion par jointure est possible.
Mais certaines données de ce descripteur ne sont pas présentes dans les enregistrements des deux tables :
Lors de la fusion les enregistrements correspondant à ces données sont ignorés.
la seconde consiste à ajouter un enregistrement dans la table fusionnée en utilisant les valeurs des descripteurs « présents » dans l’une des deux tables et en mettant des valeurs « par défaut » pour les descripteurs « absents » de l’autre table.

Les tables 1 et 2 possèdent un descripteur en commun : Leur fusion par jointure est possible.
Mais certaines données de ce descripteur ne sont pas présentes dans les enregistrements des deux tables :
Lors de la fusion les enregistrements correspondant à ces données sont conservés,

et une valeur par défaut est mise à la place des données absentes.

Il existe dans les langages de programmation une valeur ou une constante ou un mot-clé particulier qui peut être utilisé dans ce cas et qui correspond à « absence de valeur ».
En langage Python il s’agit du type « None ».
Dans d’autres langages il s’écrit « NULL » ou « Null » ou « null » ou « nil ». (Pour en savoir plus… ici ou !)

Exercice – Les couleurs en HTML (suite et fin).

1 – Construire deux tables à partir des fichiers ‘csv’ suivants : table_couleurs_1a.csv et table_couleurs_2a.csv

2 – Préparation de la fusion par jointure :
comparer les attributs des deux tables et vérifier l’existence d’un attribut commun ;
si besoin trier les enregistrement des deux tables, en prenant comme critère de tri cet attribut commun ;

3 – Fusionner les deux tables dans une nouvelle table.

4 – Sauvegarder la table fusionnée dans un fichier ‘csv’.

Des difficultés ? Coup(s) de pouce…

Réponse possible et Auto-évaluation


Article sous licence << Cliquez pour plus d’informations <<