عملگرها در پایگاه داده

عملگرها در پایگاه داده

در جبر معمولی داده ها اعداد حقیقی و چهار عملگر اصلی می باشد.

عملگرهای دیگر برای ساده کردن عملگرهای ابتدایی استفاده می شوند.

در جبر منطقی نوع داده { True , False } بوده و عملگرهایش AND , OR , NOT می باشد.

به مجموعه ای از قوانین و عملگرها که امکان پردازش جداول را فراهم می سازند را جبر رابطه ای می گویند.

در این نوشته به بررسی عملگرهای مرسوم و موجود در بحث های پایگاه داده و دیتابیس می پردازیم.

همراه ما باشید.

 

پیشنهاد نویسنده : دستورات تعریف در بانک اطلاعاتی را بخوانید.

 

عملگرها در پایگاه داده

عملگرها در پایگاه داده
عملگرها در پایگاه داده

عملگرها در پایگاه داده – انواع عملگرها در جبر رابطه ای

  • عملگرهای ساده شامل گزینش و پرتو
  • عملگرهای مجموعه ای شامل اجتماع ، اشتراک و تفاضل
  • عملگرهای پیوند شامل ضرب دکارتی ، پیوند طبیعی ، نیم پیوند ، پیوند شرطی و فراپیوند
  • عملگرهای دیگر مثل نامگذاری ، تقسیم ، جایگزینی و …

 

خاصیت بسته بودن در پایگاه داده

  • وقتی خروجی حاصل از هر عمل رابطه ای یک رابطه دیگر است ، خاصیت بسته بودن یا بستار ( closure ) نام دارد . در واقع بستار به معنای عبارات رابطه ای تودرتو است .
  • خروجی عملگرهای مدل رابطه ای یک جدول است که عملیات در آنها به صورت مجموعه در یک زمان می باشد و نه به صورت سطر در یک زمان.
  • در اکثر اوقات به جای متغیر رابطه ای از اصطلاح رابطه استفاده می شود.

 

پیشنهاد نویسنده : نرمال سازی در بانک اطلاعاتی را بخوانید.

 

عملگر گزینش در پایگاه داده

  • عملگر گزینش سطرهایی از جدول را می دهد . برای این عملگر از نمادهای  σ، select و restrict استفاده شود.
  • در نماد σ ، نام جدول جلوی علامت σ در پرانتز و شرط انتخاب سطرها زیر آنها نوشته می شود . در این عملگر تمام ستونهای آن جدول در خروجی می آید.
  • علامت ^ به معنای AND می باشد.

 

عملگر پرتو در پایگاه داده

  • عملگر پرتو یا تصویر ستونهایی از جدول را انتخاب می کند و برای آن هیچگونه شرطی اعمال نمی گردد.
  • خروجی پرتو سطرهای تکراری حذف خواهد کرد ؛ زیرا خروجی این عملگر یک رابطه است و در رابطه هیچگاه سطر تکراری نداریم.
  • نماد این عملگر Π یا project می باشد.
  • هنگام استفاده از Π ستونهای انتخاب شده زیر علامت Π و نام جدول جلوی علامت Π در داخل پرانتز نوشته می شود.
  • با ترکیب کردن علامت σ و Π اطلاعات بیشتری از جداول بدست می آید.

 

عملگر ∪ و ∩ و – در پایگاه داده

  • اجتماع دو رابطه ، رابطه ای است که تاپلهایش در یک یا هر دو رابطه وجود دارند ؛ پس در اجتماع رکوردهای دو جدول با هم ترکیب و رکورد های تکراری تنها یکبار ذکر می شوند.
  • تفاضل دو رابطه ، رابطه ای است که تاپلهایش در رابطه اول موجود ولی در رابطه ی دوم وجود ندارد.
  • روابط ورودی برای عملگر و و باید همتا باشند.
  • عملگرهای اجتماع و اشتراک خاصیت جابجایی دارند ولی تفاضل این خاصیت را ندارد.
  • عملگرهای اجتماع و اشتراک خاصیت شرکت پذیری دارند ولی تفاضل این خاصیت را ندارند.

 

عملگرهای پیوند یا الحاق در پایگاه داده

  • این عملگرها پر کاربرد و قدرتمند می باشند ولی گاهی اوقات باعث مصرف فضا و زمان زیادی می گردند لذا هنگام استفاده از آنها باید دقت کافی کرد.
  • این عملگر ها عبارتند از ضرب دکارتی ، پیوند طبیعی ، نیم پیوند ، پیوند شرطی و فراپیوند.

 

ضرب دکارتی در پایگاه داده

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

 

پیوند طبیعی در پایگاه داده

  • این عملگر دو رابطه را بر مبانی یک یا چند فیلد مشترک به هم پیوند می دهد و رکورد هایی از دو جدول را که مقدار آن فیلد مشترک برای آنها یکسان است به هم می چسباند.
  • پیوند طبیعی فقط سطرهایی از دو جدول را کنار هم می دهد که همه ستونهای همنام آن دو جدول مقادیر مساوی داشته باشند.
  • نکته : ستون های هم نام فقط یکبار در خروجی ظاهر می شوند.
  • پیوند طبیعی عملگر گرانی نیست و زمان و فضای کمتری نسبت به ضرب دکارتی می گیرد.

 

عملگر جایگزینی در پایگاه داده

  • با علامت جدول حاصل از دستورات ذخیره می شود تا در ادامه کار مورد استفاده قرار گیرد.
  • در صورت طولانی بودن دستور می توان از جایگزینی ، آن را در چند مرحله نوشت.
  • در برخی اوقات نماد := و در برخی موارد دیگر از عبارت GIVING برای این منظور استفاده می شود.

 

عملگر پیوند شرطی ( join – θ ) در پایگاه داده

  • این عملگر ، زیر مجموعه ای از ضرب دکارتی است که شرط θ روی سطرهای آن اعمال شده باشد . ستونهای خروجی معادل ستونهای ضرب دکارتی است.
  • اگر شرط θ به صورت = بیان شود آنگاه پیوند شرطی به پیوند طبیعی تبدیل می گردد.
  • پیوند طبیعی با پیوند شرطی در برخی موارد مشابه می باشند.

 

تفاوت پیوند طبیعی با پیوند شرطی در پایگاه داده

  • خود به خود شرط تساوی روی همه ستونهای همنام دو جدول اعمال می شود.
  • ستونهای تکراری فقط یک بار در خروجی ظاهر می شوند.
  • نرم افزارهایی مانند sql هیچگاه جدول ترکیبی تشکیل نمی دهند تا سطرهای همتراز را جدا کنند.

 

عملگر نیم پیوند در پایگاه داده

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

 

عملگرهای فراپیوند در پایگاه داده

  • عملگرهای فرا پیوند معمولا دارای شرط تساوی است.
  • انواع عملگرهای فرا پیوند:
    • فراپیوند چپ
    • فراپیوند راست
    • فراپیوند کامل
  • فراپیوند چپ گونه ای از عملگر پیوند طبیعی می باشد ؛ با این تفاوت که علاوه بر تاپلهای پیوند شدنی از دو رابطه ، تاپلهای پیوند نشدنی از رابطه چپ هم، پیوند شده با مقادیر NULL وارد می شوند.
  • در فراپیوند راست ، تاپلهای پیوند نشدنی از رابطه سمت راستی، پیوند شده با مقادیر NULL ، در جواب وارد می شوند.
  • فراپیوند کامل هر دو حالت راست و چپ را شامل می شود.

 

عملگر تغییر نام یا نامگذاری در پایگاه داده

  • بدون ذخیره سازی مجدد یک جدول می توان از آن دو بار استفاده کرد ، در واقع اشاره گر جدیدی می شود.
  • محدوده عملکرد آن تنها در همان دستور مربوطه است ، پس از اتمام آن دستور ، نام جدید دیگر وجود ندارد. گاهی یک پرس و جو ، دو یا چند بار به یک جدول نیاز دارد.

 

عملگر تقسیم در پایگاه داده

  • تقسیم کاربرد بسیار ارزشمندی دارد ولی متاسفانه در زبانهای متداول بانک اطلاعاتی مستقیما پیاده سازی نشده است و به سختی می توان آن را معادل سازی کرد.
  • کاربرد عملگر تقسیم زمانی است که بخواهیم همه حالتهای یک اتفاق را بررسی کنیم.

 

سوالات مربوط به بخش عملگرها در پایگاه داده

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

    د ) عملگرهای دیگر مانند نامگذاری ، تقسیم، جایگزینی و …

  • عملگر گزینش چیست؟
    عملگر گزینش سطرهایی از جدول را می دهد. برای این عملگر از نمادهای select ئ restrict استفاده می شود. در نماد 𝝈 ، نام جدول جلوی علامت 𝝈 در پرانتز و شرط انتخاب سطرها زیر آنها نوشته می شود . در این عملگر تمام ستونهای آن جدول در خروجی می آید .
  • عملگر پرتو را به اختصار توضیح دهید.
    عملگر پرتو یا تصویر ستونهایی از جدول را انتخاب می کند و برای آن هیچگونه شرطی اعمال نمی گردد . خروجی پرتو سطرهای تکراری حذف خواهد کرد ؛ زیرا خروجی این عملگر یک رابطه است و در رابطه هیچگاه سطر تکراری نداریم . نماد این عملگر 𝜫 یا project می باشد . هنگام استفاده از 𝜫 ستونهای انتخاب شده زیر علامت 𝜫 و نام جدول جلوی علامت 𝜫 در داخل پرانتز نوشته می شود . با ترکیب کردن علامت 𝝈 و 𝜫 اطلاعات بیشتری از جداول بدست می آید.
  • یکی از عملگر اشتراک، اجتماع و تفاضل را به دلخواه توضیح دهید.
    اجتماع دو رابطه ، رابطه ای است که تاپلهایش در یک یا هر دو رابطه وجود دارند ؛ پس در اجتماع رکوردهای دو جدول با هم ترکیب و رکورد های تکراری تنها یکبار ذکر می شوند .تفاضل دو رابطه ، رابطه ای است که تاپلهایش در رابطه اول موجود ولی در رابطه ی دوم وجود ندارد .اشتراک دو رابطه ، رابطه ای است که مجموعه مشترک بین آن با هم ترکیب می شود.
  • چهار مورد از عملگرهای پیوند یا الحاق را نام ببرید.
    ضرب دکارتی ، پیوند طبیعی ، نیم پیوند ، پیوند شرطی و فراپیوند
  • گرانترین عملیات رابطه ای بانک اطلاعاتی چیست؟آن را به اختصار توضیح دهید.
    ضرب دکارتی از گرانترین عملگرهای بانک رابطه ای است که زمان و فضای زیادی می خواهد .حاصلضرب دو رابطه ، رابطه ای است که تاپلهایش از الصاق هر یک از دو تاپل دو رابطه بدست می آیند .
  • پیوند طبیعی را توضیح دهید.
    این عملگر دو رابطه را بر مبانی یک یا چند فیلد مشترک به هم پیوند می دهد و رکورد هایی از دو جدول را که مقدار آن فیلد مشترک برای آنها یکسان است به هم می چسباند. پیوند طبیعی فقط سطرهایی از دو جدول را کنار هم می دهد که همه ستونهای همنام آن دو جدول مقادیر مساوی داشته باشند .  ستون های هم نام فقط یکبار در خروجی ظاهر می شوند . پیوند طبیعی عملگر گرانی نیست و زمان و فضای کمتری نسبت به ضرب دکارتی می گیرد .
  • عملگر جایگزینی را شرح دهید.
    با علامت ← جدول حاصل از دستورات ذخیره می شود تا در ادامه کار مورد استفاده قرار گیرد . در صورت طولانی بودن دستور می توان از جایگزینی ، آن را در چند مرحله نوشت . در برخی اوقات نماد := و در برخی موارد دیگر از عبارت GIVING برای این منظور استفاده می شود .
  • عملگر پیوند شرطی زیر مجموعه ی چند عملگری می باشد؟ توضیح دهید.
    این عملگر ، زیر مجموعه ای از ضرب دکارتی است که شرط 𝜽 روی سطرهای آن اعمال شده باشد . ستونهای خروجی معادل ستونهای ضرب دکارتی است . اگر شرط 𝜽 به صورت = بیان شود آنگاه پیوند شرطی به پیوند طبیعی تبدیل می گردد . پیوند طبیعی با پیوند شرطی در برخی موارد مشابه می باشند .
  • علمگر نیم پیوند مشابه چه عملیاتی است؟
    این عملگر مشابه پیوند طبیعی است.
  • عملگر نیم پیوند را توضیح دهید.
    این عملگر مشابه پیوند طبیعی است با این تفاوت که فقط ستونهای جدول را می دهد . نماد این عملگر ∝ و یا SEMIJOIN می باشد . ممکن است تعداد سطرهای خروجی به مراتب کمتر از پیوند طبیعی باشد ، زیرا با کنار رفتن چند ستون ، سطرهای تکراری پدید می آیند و حذف می شوند . بر خلاف سایر عملگرها ترتیب جداول ورودی در نیم پیوند بسیار مهم است . کاربرد اصلی عملگر نیم پیوند در بانکهای نامتمرکز است .
  • عملگر فراپیوند به چند دسته تقسیم می شود؟ نام ببرید.
    عملگر فراپیوند به 3 دسته ی زیر تقسیم می شود:الف ) فراپیوند چپب ) فراپیوند راستج ) فراپیوند کامل
  • عملگر فراپیوند را توضیح دهید.
    نوع دیگریاز عملگر پیوند که معمولا به شرط تساوی است. عملگر فراپیوند را عملگر پیوند خارجی نیز می گوییم . این عملگر به 3 دسته تقسیم می شود:الف ) فراپیوند چپب ) فراپیوند راستج ) فراپیوند کامل
  • فراپیوند چپ به چه معناست؟
    فراپیوند چپ گونه ای از عملگر پیوند طبیعی می باشد ؛ با این تفاوت که علاوه بر تاپلهای پیوند شدنی از دو رابطه ، تاپلهای پیوند نشدنی از رابطه چپ هم ، پیوند شده با مقادیر NULL وارد می شوند .
  • فراپیوند راست را به اختصار توضیح دهید.
    در فراپیوند راست ، تاپلهای پیوند نشدنی از رابطه سمت راستی ، پیوند شده با مقادیر NULL ، در جواب وارد می شوند .
  • یکی از عملگرهای فراپیوند، فراپیوند کامل است آنرا را توضیح دهید.
    فراپیوند کامل هر دو حالت راست و چپ را شامل می شود .
  • عملگر تغییر نام چیست ؟
    بدون ذخیره سازی مجدد یک جدول می توان از آن دو بار استفاده کرد ، در واقع اشاره گر جدیدی می شود . محدوده عملکرد آن تنها در همان دستور مربوطه است ، پس از اتمام آن دستور ، نام جدید دیگر وجود ندارد . گاهی یک پرس و جو ، دو یا چند بار به یک جدول نیاز دارد.
  • با ارزش ترین عملگر رابطه ای چیست ؟
    عملگر تقسیم
  • کاربرد عملگر تقسیم را شرح دهید.
    تقسیم کاربرد بسیار ارزشمندی دارد ولی متاسفانه در زبانهای متداول بانک اطلاعاتی مستقیما پیاده سازی نشده است و به سختی می توان آن را معادل سازی کرد . کاربرد عملگر تقسیم زمانی است که بخواهیم همه حالتهای یک اتفاق را بررسی کنیم .

 

 

برای یادگیری مباحث بیشتر پایگاه داده کتاب پایگاه داده ی پیشرفته را بخوانید.

اگر سوالی در ارتباط با مسائل مربوط به پایگاه داده دارید در بخش نظرات این نوشته برای ما بنویسید.

موفق باشید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 1 میانگین: 5]
با دوستانتان به اشتراک بگذارید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

code