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 NOM | CODE HEXA | CODE RGB |
---|---|---|
AntiqueWhite | #FAEBD7 | rgb(250, 235, 215) |
Coral | #FF7F50 | rgb(255, 127, 80) |
DarkKhaki | #BDB76B | rgb(189, 183, 107) |
DodgerBlue | #1E90FF | rgb(30, 144, 255) |
et T2 est :
COULEUR NOM | CODE HEXA | CODE RGB |
---|---|---|
GoldenRod | #DAA520 | rgb(218, 165, 32) |
LightGreen | #90EE90 | rgb(144, 238, 144) |
MediumTurquoise | #48D1CC | rgb(72, 209, 204) |
PaleVioletRed | #DB7093 | rgb(219, 112, 147) |
une fusion par concaténation de ces deux tables donne :
COULEUR NOM | CODE HEXA | CODE RGB |
---|---|---|
AntiqueWhite | #FAEBD7 | rgb(250, 235, 215) |
Coral | #FF7F50 | rgb(255, 127, 80) |
DarkKhaki | #BDB76B | rgb(189, 183, 107) |
DodgerBlue | #1E90FF | rgb(30, 144, 255) |
GoldenRod | #DAA520 | rgb(218, 165, 32) |
LightGreen | #90EE90 | rgb(144, 238, 144) |
MediumTurquoise | #48D1CC | rgb(72, 209, 204) |
PaleVioletRed | #DB7093 | rgb(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 NOM | CODE HEXA | CODE RGB |
---|---|---|
AntiqueWhite | #FAEBD7 | rgb(250, 235, 215) |
Coral | #FF7F50 | rgb(255, 127, 80) |
DarkKhaki | #BDB76B | rgb(189, 183, 107) |
DodgerBlue | #1E90FF | rgb(30, 144, 255) |
et T2 est :
COULEUR NOM | CODE HSL | CODE HWB | CODE CMYK | CODE Ncol |
---|---|---|---|---|
AntiqueWhite | hsl(34, 78%, 91%) | hwb(34, 84%, 2%) | cmyk(0%, 6%, 14%, 2%) | R57, 84%, 2% |
Coral | hsl(16, 100%, 66%) | hwb(16, 31%, 0%) | cmyk(0%, 50%, 69%, 0%) | R27, 31%, 0% |
DarkKhaki | hsl(56, 38%, 58%) | hwb(56, 42%, 26%) | cmyk(0%, 3%, 43%, 26%) | R93, 42%, 26% |
DodgerBlue | hsl(210, 100%, 56%) | hwb(210, 12%, 0%) | cmyk(88%, 44%, 0%, 0%) | C49, 12%, 0% |
une fusion par jointure donne :
COULEUR NOM | CODE HEXA | CODE RGB | CODE HSL | CODE HWB | CODE CMYK | CODE Ncol |
---|---|---|---|---|---|---|
AntiqueWhite | #FAEBD7 | rgb(250, 235, 215) | hsl(34, 78%, 91%) | hwb(34, 84%, 2%) | cmyk(0%, 6%, 14%, 2%) | R57, 84%, 2% |
Coral | #FF7F50 | rgb(255, 127, 80) | hsl(16, 100%, 66%) | hwb(16, 31%, 0%) | cmyk(0%, 50%, 69%, 0%) | R27, 31%, 0% |
DarkKhaki | #BDB76B | rgb(189, 183, 107) | hsl(56, 38%, 58%) | hwb(56, 42%, 26%) | cmyk(0%, 3%, 43%, 26%) | R93, 42%, 26% |
DodgerBlue | #1E90FF | rgb(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 ;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 » ;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 là !)
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