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

مقدار null کلیدها - zr2358 - 25 دى ۱۳۸۹ ۰۷:۵۴ ق.ظ

سلام دوستان
مگه کلید خارجی نمیتونه مقدار null داشته باشه؟ من چندجا خوندم که می تونه null باشه
ولی سوال مهندسی کامپیوتر ۸۲ گفته:
کدامیک از کلیدهای زیر می توانند مقدار null بگیرند؟
کلید جستجو
کلید خارجی
کلید Hash
کلید کاندید
پوران گفته می شه کلید Hash
چرا کلید خارجی نمیشه؟

RE: کلید خارجی - **sara** - 25 دى ۱۳۸۹ ۰۹:۳۰ ق.ظ

مقسمی که می گه کلید خارجی
پارسه هم همینو میگه

RE: کلید خارجی - sal_dovomi - 25 دى ۱۳۸۹ ۰۱:۲۳ ب.ظ

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

کلید خارجی - bijibuji - 25 دى ۱۳۸۹ ۱۰:۳۴ ب.ظ

از این زاویه بهش نگاه کنید:
هر فیلد در هر جدول در هر پایگاه داده ای:

۱- یا کلید اصلیه
۲- یا کلید خارجیه
۳- یا یه فیلد معمولی

فکر کنید که نتونید مقدار کلید خارجی رو Null قرار بدید در هیچ جدولی.
کلید اصلی هم که نمی تونه Null باشه
پس تنها فیلدی که امکان داره بتونه Null باشه فیلدهای معمولی هستن.

خوب حالا به سمت دیگه قضیه نگاه کنید:

هر جدولی برای ارتباط اش با دیگر جداول ناچاره کلید خارجی داشته باشه
کلید اصلی هم که باید داشته باشه

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

این توجیه اش بود. پاسخ هم که مشخصه و کلید خارجی می تونه Null باشه. دقیقا به همین خاطره که در دستورات تعریف جدول، این امکان هست که از دستور Not Null می شه استفاده کرد