حل سوال ۷۹ از کنکور ارشد فناوری اطلاعات ۹۴

در این آموزش ضمن حل سوال ۷۹ از کنکور ارشد فناوری اطلاعات ۹۴، مروری هم بر مباحث وابستگی تابعی، نرمال سازی و اصول آرمسترانگ خواهیم داشت.

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

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

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

صورت سوال:

صورت سوال بدین شرح می باشد: (کار دستور (ρ_y (x ایجاد یک کپی از رابطه ی x با نام y  است. ) اگر رابطه ی Emp شامل لیستی از کارمندان باشد که در این رابطه ویژگی Salary، حقوق کارمند را نشان دهد، کار دستور زیر کدام است؟

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

حل سوال:

دستور داده شده در صورت سوال را در نظر بگیرید.

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

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

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

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

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

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

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

پاسخ سوال:

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

متن فیلم

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

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