ایستگاه های کاری آنلاین OnWorks Linux و Windows

لوگو

میزبانی آنلاین رایگان برای ایستگاه های کاری

<قبلی | فهرست | بعدی>

پیوستن

در بعضی موارد، پیوستن مثل این است چسباندن به این صورت که ستون هایی را به فایل اضافه می کند، اما از روشی منحصر به فرد برای انجام آن استفاده می کند. آ پیوستن عملیاتی است که معمولاً با پایگاه داده های ارتباطی که در آن داده ها از چند جداول با یک فیلد کلید مشترک ترکیب می شود تا نتیجه دلخواه را تشکیل دهد.


La پیوستن برنامه همان عملیات را انجام می دهد. داده ها را از چندین فایل بر اساس یک فیلد کلید مشترک به هم می پیوندد.

برای مشاهده نحوه استفاده از عملیات join در یک پایگاه داده رابطه ای، بیایید یک پایگاه داده بسیار کوچک متشکل از دو جدول را تصور کنیم که هر یک حاوی یک رکورد واحد است. جدول اول که CUSTOMERS نام دارد، دارای سه قسمت است: شماره مشتری (CUSTNUM)، نام مشتری (FNAME) و نام خانوادگی مشتری (LNAME):


CUSTNUM

نام

LNAME

========

=====

======

4681934

جان

زرگر

جدول دوم ORDERS نام دارد و شامل چهار قسمت است: شماره سفارش (ORDER-NUM)، شماره مشتری (CUSTNUM)، مقدار (QUAN) و کالای سفارش داده شده (ITEM).


ORDERNUM

CUSTNUM

ماندارین

ITEM

========

=======

====

====

3014953305

4681934

1

ویجت آبی

توجه داشته باشید که هر دو جدول فیلد CUSTNUM را به اشتراک می گذارند. این مهم است، زیرا اجازه می دهد تا یک رابطه بین جداول برقرار شود.

انجام عملیات اتصال به ما این امکان را می دهد که فیلدهای دو جدول را با هم ترکیب کنیم تا به نتیجه مفیدی مانند تهیه فاکتور دست یابیم. با استفاده از مقادیر تطبیق در فیلدهای CUSTNUM هر دو جدول، یک عملیات Join می تواند موارد زیر را ایجاد کند:


نام

LNAME

ماندارین

ITEM

=====

=====

====

====

جان

زرگر

1

ویجت آبی

برای نشان دادن پیوستن برنامه، ما باید چند فایل با یک کلید مشترک بسازیم. برای انجام این کار، ما از ما استفاده خواهیم کرد distros-by-date.txt فایل. از این فایل، دو فایل اضافی می سازیم، یکی حاوی تاریخ های انتشار (که کلید مشترک ما برای این نمایش خواهد بود) و نام های انتشار:



[me@linuxbox ~]$ cut -f 1,1 distros-by-date.txt > distros-names.txt [me@linuxbox ~]$ چسباندن distros-dates.txt distros-names.txt > distros- key-names.txt

[me@linuxbox ~]$ سر distros-key-names.txt

11/25/2008 فدورا 10/30/2008 اوبونتو 06/19/2008 SUSE

05/13/2008 فدورا 04/24/2008 اوبونتو 11/08/2007 فدورا 10/18/2007 اوبونتو

[me@linuxbox ~]$ cut -f 1,1 distros-by-date.txt > distros-names.txt [me@linuxbox ~]$ چسباندن distros-dates.txt distros-names.txt > distros- key-names.txt

[me@linuxbox ~]$ سر distros-key-names.txt

11/25/2008 فدورا 10/30/2008 اوبونتو 06/19/2008 SUSE

05/13/2008 فدورا 04/24/2008 اوبونتو 11/08/2007 فدورا 10/18/2007 اوبونتو


10/04/2007 SUSE

05/31/2007 فدورا 04/19/2007 اوبونتو

10/04/2007 SUSE

05/31/2007 فدورا 04/19/2007 اوبونتو


و فایل دوم که حاوی تاریخ انتشار و شماره نسخه است:


تصویر

[me@linuxbox ~]$ cut -f 2,2 distros-by-date.txt > distros-vernums.txt [me@linuxbox ~]$ چسباندن distros-dates.txt distros-vernums.txt > distro s-key-vernums.txt


[me@linuxbox

~]$ سر 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


اکنون دو فایل با یک کلید مشترک داریم (فیلد "تاریخ انتشار"). ذکر این نکته ضروری است که فایل ها باید در قسمت کلید برای مرتب شوند پیوستن به درستی کار نکند.


[me@linuxbox ~]$ به distros-key-names.txt بپیوندید distros-key-vernums.txt | سر

11/25/2008 فدورا 10

10/30/2008 اوبونتو 8.10

06/19/2008 SUSE 11.0

05/13/2008 فدورا 9

04/24/2008 اوبونتو 8.04

11/08/2007 فدورا 8

10/18/2007 اوبونتو 7.10

10/04/2007 SUSE 10.3

05/31/2007 فدورا 7

04/19/2007 اوبونتو 7.04

[me@linuxbox ~]$ به distros-key-names.txt بپیوندید distros-key-vernums.txt | سر

11/25/2008 فدورا 10

10/30/2008 اوبونتو 8.10

06/19/2008 SUSE 11.0

05/13/2008 فدورا 9

04/24/2008 اوبونتو 8.04

11/08/2007 فدورا 8

10/18/2007 اوبونتو 7.10

10/04/2007 SUSE 10.3

05/31/2007 فدورا 7

04/19/2007 اوبونتو 7.04


همچنین توجه داشته باشید که به طور پیش فرض، پیوستن از فضای خالی به عنوان جداکننده فیلد ورودی و یک فضای منفرد به عنوان جداکننده فیلد خروجی استفاده می کند. این رفتار را می توان با تعیین گزینه ها اصلاح کرد. را ببینید پیوستن صفحه مرد برای جزئیات


برترین سیستم عامل Cloud Computing در OnWorks: