توضیحات:
E در هیچ رابطه ای موجود نیست، پس باید همواره باشد.
A در سمت راست هیچ رابطه ای نیست، پس باید همواره باشد.
هر یک از این سه (یعنی B، D، F) می توانند همدیگر رو تولید کنند و بعلاوه C, G, H رو هم تولید کنند، پس هر یک از این سه می توانند بهمراه E و A کلید خارجی را ایجاد کنند.
هر یک از این سه و یا ترکیبی از این سه (یعنی C، G، H) نمی توانند همه ی دیگر عناصر را تولید کنند، پس نمی توانند در کلید خارجی سهیم شوند. بعلاوه بودن شان در کنار B، D، F خاصیت کمینگی کلید خارجی را نقض می کند.
بنابراین جواب می شود:
EAB - EAD - EAF
و این هم توضیحات کمکی دیگر:
کلید کاندید وابستگی تابعی
می دونیم کلید کاندید attributeای است که همه attributeها به آن وابستگی تابعی دارند. و Attributeاضافه هم ندارد یعنی کمینه است. روش پیدا کردن:
پیدا کردن کلید کاندید:
۱-attribute ای است که سمت راست هیچ FD نیست. یعنی هیچ کس نمی تونه آن را تولید کند، این attribute حتما عضو کلید کاندید هست، نمی گوییم کلید کاندید است).
۲- اگر attributeهایی که سمت راست هیچ FD نیستند به تنهایی توانستند همه را تولید کنند، این کلید کاندید است (دیگه بررسی نکن).
۳- اگر attributeهایی که سمت راست هیچ FD نیستند به تنهایی نتوانستند همه را تولید کنند، باید attribute کمکی بیاریم.
۴- اگر همه سمت راست بودند، می بینیم کدام attribute هست که سمت چپ هیچ FD ای نیست یعنی هیچ کس را نمی تواند تولید کند پس عضو کلید کاندید نیست.
۵- هر ترکیبی از attributeها (از همدیگه به دست نیان) که بتواند کلید کاندید رو تولید کنه اون هم کلید کاندید است.
@milad
خیلی ممنونم
ولی نفهمیدم B چجوری جزئی از کلید میشه؟ B سمت راست دو رابطهی زیره
F->B و D->B
F و D پوشش میدن B رو
خواهش میکنم، زنده باشید.
بدین طریق:
ابتدا E, A, B را داریم.
بنابراین از طریق B->C می توانیم C را هم تولید کنیم.
سپس از طریق ABC -> DF می توانیم F و D را هم تولید کنیم.
به همین ترتیب و به کمک DF->G و G->H ابتدا G و سپس H را نیز تولید می کنیم.
همانطور که می بینید ما با شروع از E, A, B توانستیم تمام مجموعه رو تولید کنیم.
در واقع نکته اینجاست که، B هم از طریق این دو عبارت ABC -> DF, B->C قادره تا D و F رو تولید کنه.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟