تالار گفتمان مانشت
سوال پایگاه داده نرم افزار دولتی ۸۶ - نسخه‌ی قابل چاپ

سوال پایگاه داده نرم افزار دولتی ۸۶ - soniasa - 29 خرداد ۱۳۹۱ ۰۳:۲۲ ب.ظ

سلام به همه شما دوستان

چرا جواب درست سوال گزینه (۱) اعلام شده در حالیکه به نظر من گزینه ( ۲) درست هست چونکه خروجی اون کوئری درونی، نتیجه تکراری ندارد زیرا کلید رابطه تولید کننده - قطعه، ترکیبی از کدقطعه + کد تولید کننده هست. پس وقتی که کد تولید کننده برابر مقدار ثابت P2 فرض شده S# نمی تونه مقدار تکراری در رابطه باشه. درسته؟



[تصویر:  103927_1_1379091781.JPG]

RE: سوال پایگاه داده نرم افزار دولتی ۸۶ - hadi_m - 29 خرداد ۱۳۹۱ ۰۶:۱۵ ب.ظ

با سلام
این نوع Query ها رو Sub Query مینامند و به نظرم تست جالبی هست من اگر خودم بخوام در یک نگاه تست رو بزنم همون گزینه دوم رو انتخاب میکنم اما وقتی به واژهای داخل پرانتز برخورد کنم سعی میکنم دقت عمل بیشتر داشته باشه . استدلال من اینه که فیلد Sname فاقد یکتایی مقدار هست و ممکنه دو تا تولید کننده دارای sname یکسان باشند چون در جدول S فقط #S یکتایی مقدار داره و کلید هست و Sname میتواند حاوی مقادیر تکراری باشد بنابراین ممکنه دو تولید کننده با نام یکسان قطعه P2 را تولید کنند و از انجا که Distinct رو به کار نبرده این مقادیر تکراری به خاطر Sname هستشکه میتواند حاوی مقادیر تکرار باشند.

سوال پایگاه داده نرم افزار دولتی ۸۶ - soniasa - 29 خرداد ۱۳۹۱ ۰۶:۳۴ ب.ظ

با تشکر از جوابتون بنابراین تنها با شرط اینکه اسامی تولید کننده می تونه تکراری باشه و به قول شما عبارت Distinct رو بکار نبرده احتمال تکراری بودن نام تولید کننده وجود داره Smile