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

مهندسی کامپیوتر - سراسری ۸۷ - ali.majed.ha - 12 فروردین ۱۳۹۶ ۰۱:۰۰ ب.ظ

با عرض سلام
دوستان من این تست رو توی دو تا کتاب مدرسان و پارسه حل کردم. هر کدوم یه جواب متفاوت دادن. کدوم درسته ؟
با تشکر

RE: مهندسی کامپیوتر - سراسری ۸۷ - alireza01 - 12 فروردین ۱۳۹۶ ۰۱:۲۱ ب.ظ

سلام و وقت بخیر ...
ابتدای مروری بر دستور [tex]Insert[/tex] که مد نظر این سوال است داشته باشیم ( دقت کنیم که دو نوع دستور [tex]Insert[/tex] داریم ، نوع اول برای وارد کردن تنها یک تاپل در یک جدول است ( که همین نوعی است که شما ذکر کردید ) و نوع دوم برای وارد کردن دسته جمعی تاپل ها در جدول است که بحثی جداگانه است که برای مطالعه به کتاب مراجعه کنید )
[tex]Insert\: into\: table-name[/tex]
[tex]\: \: \: \: \: \: \: \: \: Values\: (\: list\: Of\: Values)[/tex]
نکته ۱ - دقت کنیم شرط همتایی یا [tex]\: Same\: Arity\: [/tex] حتما باید رعایت شود ...
نکته ۲ - اگر بخواهیم تنها چند ستون مشخص را مقدار دهی کنیم باید اسامی آنها را در سطر اول دستور بالا ذکر کنیم و در صورتی که سطر ( های ) باقیمانده بتوانند مقدار تهی بگیرند دستور اجرا میشود ...

دستور ذکر شده در سوال تنها به مقدار دهی از ۳ ستون از جدول تولیدکنندگان پرداخته است و مقدار ستون [tex]status[/tex] با توجه به این که میتوان مقدار تهی بگیرد مشکلی برای این سوال ایجاد نمیکند . بنابراین سطر جدیدی تولید میشود و ۳ ستون اول مقدار دهی میشود و مقدار فیلد [tex]Status[/tex] تهی میماند ... یعنی گزینه ۳ صحیح است ... ( فکر کنم نظر طراح محترم هم همین گزینه باشد )
صورت سوال ابهام دارد ، در برخی از کتب پایگاه داده در هنگام وارد کردن همچین سطری ، ممکن است مقدار قبلی فیلد ذکر نشده درج گردد ( در صورتی که فردی با همچین نامی قبلا وجود داشته باشد ) که این هم کلیت ندارد ... البته ممکن است طراح پایگاه داده از مقدار [tex]default[/tex] برای این ستون استفاده کرده باشد که باز هم کلیتی در این موضوع نیست ، بهترین گزینه همان مورد سوم است .

RE: مهندسی کامپیوتر - سراسری ۸۷ - ali.majed.ha - 12 فروردین ۱۳۹۶ ۰۱:۵۸ ب.ظ

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