حل سوال ۸۱ از کنکور ارشد فناوری اطلاعات ۹۳

در این آموزش ضمن حل سوال ۸۱  از کنکور ارشد فناوری اطلاعات ۹۳، مروری هم بر مبحث جبر رابطه ای خواهیم داشت.

کیفیت فیلم بصورت پیش فرض بر روی حالت low تنظیم شده است و شما می توانید با استفاده از گزینه HD، این آموزش را با بالاترین کیفیت مشاهده نمایید.

شما می توانید با استفاده از گزینه “متن فیلم”، متن مربوط به حل سوال را مشاهده کنید.

//******************************************************************************************************************************************//

صورت سوال:

با داشتن رابطه های Products و OrderDetails که مربوط به کالاها و اقلام سفارش داده شده مشتریان است و همچنین دو رابطه r و s، کدام گزینه می تواند شناسه سفارش (ID) مشتریانی را بدهد که هیچ کالایی در گروه Food نباشد که نخریده باشند ؟

به عبارت دیگر، شناسه سفارش مشتریانی را بدهد که تمام کالاهای گروه Food را خریده باشند ؟

//******************************************************************************************************************************************//

یادآوری مفاهیم پرتو و گزینش:

قبل از حل سوال به مرور چند نکته می­ پردازیم .

عملگر پرتو  k ستون مشخص شده از جدول را با حذف سطر های تکراری به ما نمایش می ­دهد. در نتیجه رابطه ی r دارای دو ستون ID و Product_ID می باشد که با اعمال عملگر پرتو بر روی جدول اقلام سفارشی با حذف سطرهای تکراری به دست می آید.

عملگر گزینش جدولی با تمام ستون های رابطه  r  ایجاد می کند که دارای سطرهایی از آن جدول است که شرط  p  در آن ها صدق می کند. در رابطه  s  ابتدا عملگر گزینش داخل پرانتز اعمال می شود که کالاهایی که در گروه Food باشند را از جدول Product برمی گرداند. سپس با اعمال عملگر پرتو روی جدول حاصل شده، ستون Product_ID با حذف سطرهای تکراری به دست می آید یعنی شناسه تمام کالاهایی که در گروه Food قرار می گیرند.

//******************************************************************************************************************************************//

بررسی گزینه ها:

فرض کنید دو جدول r و s به این صورت مقدار دهی شده باشند.

با توجه به عملگر تقسیم در گزینه ی ۱، پس از اعمال این عملگر بر روی جداول، جدولی با ستون ID ایجاد می شود که شامل مشتریانی است که تمام کالاهای گروه Food را خریده اند. بنابراین گزینه ی ۱ صحیح  می باشد.

اجرای عملگر پیوند در گزینه ی ۲، بر روی دو رابطه  r و s، جدولی به ما ارائه می دهد شامل تمام افرادی که کالایی را از گروه Food خریده اند. به بیان دیگر جدول حاصل شده، شامل تمام افرادی است که حداقل یک کالا از گروه Food را خریده اند. بطور مثال همانطور که مشاهده می کنید مشتری شماره ۱۰۹۸ با خرید یک کالا از این گروه در جدول نهایی دیده می شود. بنابراین، گزینه ی ۲ صحیح نیست.

در گزینه ی ۳ نیز همانند گزینه ی ۲، نتیجه فرا پیوند چپ دارای ۲ ستون ID و Product_ID خواهد بود با این تفاوت که ID هایی در جدول r که، Product_IDهای یکسانی با جدول  s ندارند هم در جواب با مقدار شناسه محصول Null آورده می شوند. به همین دلیل نتیجه تنها شامل شماره سفارش کالاهای گروه Food نخواهد بود، پس این گزینه نیز صحیح نمی باشد.

در گزینه ی ۴، اعمال فرا پیوند راست باعث می شود که شناسه محصولاتی در جدول s که در r وجود ندارند، با مقدار شناسه سفارش Null در جواب آورده شود که با توجه به تعاریف دو جدول r و s، این حالت اتفاق نمی­ افتد و جدول نهایی مانند نتیجه پیوند دو جدول در گزینه ۲ خواهد بود. پس این گزینه نیز به مانند گزینه ۲ اشتباه می باشد.

//******************************************************************************************************************************************//

پاسخ سوال:

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

متن فیلم

نظر خود را ثبت کنید

ایمیل شما به عموم نشان داده نخواهد شد. فیلدهای اجباری با ستاره نشان داده شده است *