Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

rejoindre

À certains égards, rejoindre c'est comme paste en ce sens qu'il ajoute des colonnes à un fichier, mais qu'il utilise une méthode unique pour le faire. UNE rejoindre est une opération généralement associée à bases de données relationnelles où les données de plusieurs les tables avec un champ de clé partagée est combiné pour former un résultat souhaité.


Le rejoindre programme effectue la même opération. Il joint les données de plusieurs fichiers en fonction d'un champ de clé partagé.

Pour voir comment une opération de jointure est utilisée dans une base de données relationnelle, imaginons une très petite base de données composée de deux tables, chacune contenant un seul enregistrement. La première table, appelée CUSTOMERS, comporte trois champs : un numéro de client (CUSTNUM), le prénom du client (FNAME) et le nom de famille du client (LNAME) :


NUMERO DE CLIENT

FNOM

LNOM

========

=====

======

4681934

John

Smith

La deuxième table s'appelle COMMANDES et contient quatre champs : un numéro de commande (ORDER-NUM), le numéro de client (CUSTNUM), la quantité (QUAN) et l'article commandé (ITEM).


NUMÉRO DE COMMANDE

NUMERO DE CLIENT

QUAN

ARTICLE

========

=======

====

====

3014953305

4681934

1

Widget bleu

Notez que les deux tables partagent le champ CUSTNUM. Ceci est important car cela permet une relation entre les tables.

Effectuer une opération de jointure nous permettrait de combiner les champs des deux tables pour obtenir un résultat utile, comme préparer une facture. En utilisant les valeurs correspondantes dans les champs CUSTNUM des deux tables, une opération de jointure peut produire ce qui suit :


FNOM

LNOM

QUAN

ARTICLE

=====

=====

====

====

John

Smith

1

Widget bleu

Pour démontrer le rejoindre programme, nous devrons créer quelques fichiers avec une clé partagée. Pour ce faire, nous utiliserons notre distributions-par-date.txt déposer. A partir de ce fichier, nous allons construire deux fichiers supplémentaires, l'un contenant les dates de sortie (qui sera notre clé partagée pour cette démonstration) et les noms de version :



[moi@linuxbox ~]$ cut -f 1,1 distributions-par-date.txt > noms-distros.txt [moi@linuxbox ~]$ coller distros-dates.txt distros-names.txt > distros-key-names.txt

[moi@linuxbox ~]$ tête distributions-key-names.txt

11/25/2008 Fedora 10/30/2008 Ubuntu 06/19/2008 SUSE

05/13/2008 Fedora 04/24/2008 Ubuntu 11/08/2007 Fedora 10/18/2007 Ubuntu

[moi@linuxbox ~]$ cut -f 1,1 distributions-par-date.txt > noms-distros.txt [moi@linuxbox ~]$ coller distros-dates.txt distros-names.txt > distros-key-names.txt

[moi@linuxbox ~]$ tête distributions-key-names.txt

11/25/2008 Fedora 10/30/2008 Ubuntu 06/19/2008 SUSE

05/13/2008 Fedora 04/24/2008 Ubuntu 11/08/2007 Fedora 10/18/2007 Ubuntu


10/04/2007 SUSE

05/31/2007 Fedora 04/19/2007 Ubuntu

10/04/2007 SUSE

05/31/2007 Fedora 04/19/2007 Ubuntu


et le deuxième fichier, qui contient les dates de sortie et les numéros de version :


image

[moi@linuxbox ~]$ cut -f 2,2 distributions-par-date.txt > distributions-vernums.txt [moi@linuxbox ~]$ coller distros-dates.txt distros-vernums.txt > distro s-key-vernums.txt


[moi@linuxbox

~]$ tête distros-key-vernums.txt

11/25/2008

10

10/30/2008

8.10

06/19/2008

11.0

05/13/2008

9

04/24/2008

8.04

11/08/2007

8

10/18/2007

7.10

10/04/2007

10.3

05/31/2007

7

04/19/2007

7.04


Nous avons maintenant deux fichiers avec une clé partagée (le champ « date de sortie »). Il est important de préciser que les fichiers doivent être triés sur le champ clé pour rejoindre pour fonctionner correctement.


[moi@linuxbox ~]$ rejoindre distros-key-names.txt distros-key-vernums.txt | diriger

11/25/2008 Fedora 10

10/30/2008 Ubuntu 8.10

06/19/2008 SUSE 11.0

05/13/2008 Fedora 9

04/24/2008 Ubuntu 8.04

11/08/2007 Fedora 8

10/18/2007 Ubuntu 7.10

10/04/2007 SUSE 10.3

05/31/2007 Fedora 7

04/19/2007 Ubuntu 7.04

[moi@linuxbox ~]$ rejoindre distros-key-names.txt distros-key-vernums.txt | diriger

11/25/2008 Fedora 10

10/30/2008 Ubuntu 8.10

06/19/2008 SUSE 11.0

05/13/2008 Fedora 9

04/24/2008 Ubuntu 8.04

11/08/2007 Fedora 8

10/18/2007 Ubuntu 7.10

10/04/2007 SUSE 10.3

05/31/2007 Fedora 7

04/19/2007 Ubuntu 7.04


Notez également que, par défaut, rejoindre utilise un espace comme délimiteur de champ d'entrée et un seul espace comme délimiteur de champ de sortie. Ce comportement peut être modifié en spécifiant des options. Voir le rejoindre page de manuel pour plus de détails.


Meilleur système d'exploitation Cloud Computing chez OnWorks :