کلید کاندید وابستگی تابعی - نسخهی قابل چاپ |
کلید کاندید وابستگی تابعی - araz22 - 29 بهمن ۱۳۹۴ ۰۹:۳۲ ب.ظ
سلام. چه جور میشه کلید کاندید رو پیدا کرد!من تا حدی بلدم بعضی ها رو میتونم حل کنم ولی بعضی ها نه. اصول پیدا کردن کلید کاندید چی هست.یکمی مشکل دارم .ممنون اگه راهنمایی کنید[/code] ۲ مدل که تو کتاب پارسه هست! p-->stv,qst-->pv R(P,q,s,t,v) کلید PQ-QST سوال بعدی. F=(A-->BC,B-->D,CD-->E,E--A) R(A,B,C,D,E) |
RE: کلید کاندید وابستگی تابعی - araz22 - 01 اسفند ۱۳۹۴ ۰۹:۴۸ ق.ظ
(۲۹ بهمن ۱۳۹۴ ۰۹:۳۲ ب.ظ)araz22 نوشته شده توسط: سلام. |
RE: کلید کاندید وابستگی تابعی - flower1 - 02 اسفند ۱۳۹۴ ۰۲:۴۰ ق.ظ
(۲۹ بهمن ۱۳۹۴ ۰۹:۳۲ ب.ظ)araz22 نوشته شده توسط: سلام. سلام یک مبحث مهم در فصل وابستگی تابعی در درس پایگاه داده، قوانین آرمسترانگ است. بنابراین قوانین آرمسترانگ را کاملا مسلط باشید. قوانین آرمسترانگ به دو دسته تقسیم میشود، یکی برای وابستگی تابعی و دیگری برای وابستگی تابعی چند مقداری. الان سوال شما مربوط به دسته اول، یعنی وابستگی تابعی میشه. قوانین آرمسترانگ برای سه مسئله لازم است. ۱- یافتن مجموعه کمینه ( یا کهینه یا بهینه ) ۲- یافتن مجموعه پوششی ۳- یافتن کلید کاندید سوال شما مربوط به مورد سوم می باشد یعنی یافتن کلید کاندید. اما چگونه؟ باید دنبال صفتی (یا صفاتی) باشید که همه صفات دیگر را میدهد. در این گونه سوالات یعنی سوالات مربوط به پیدا کردن کلید کاندید به شما دو چیز را میدهند؛ اولین آن، R است، یعنی تمام صفات (ستون ها) را به شما میدهند. دومین چیزی که به شما میدهند، FD است، یعنی مجموعه وابستگی های تابعی. حالا برویم برای حل سوالات شما. اولین سوال: (R(P,Q,S,T,V {FD = {P -> STV ,QST -> PV P -> STV یعنی P -> S P -> T P -> V یعنی صفت P، سه صفت دیگر را میدهد. در اینجا از قوانین تجزیه آرمسترانگ استفاده کردم. QST -> PV یعنی QST -> P QST -> V یعنی سه صفت Q و S و T با هم دیگر، هم P و هم V را میدهند. در اینجا هم از قوانین تجزیه آرمسترانگ استفاده کردم. خوب حالا کلید کاندید کدام میشود؟ کلید، PQ میشود. چرا؟ چون PQ تمام صفات دیگر را میدهد. QST به ما V و P را میدهد و از طرفی چون P را داد با استفاده از P به تمام صفات دیگر دسترسی داریم. توجه کنید که P همه را نمیدهد یعنی Q را نمیدهد. بنابراین با PQ به همه صفات دسترسی داریم. چرا QST را به عنوان کلید کاندید انتخاب نکردیم؟ چون QST سه صفتی است و PQ دو صفتی است. کلید کاندید باید کمترین طول را داشته باشد. دومین سوال: (R(A,B,C,D,E {FD = (A -> BC ,B -> D ,CD -> E ,E -> A A -> BC یعنی A -> B A -> C از تمام روابط موجود، باز هم میتوان به رابطه های جدیدی رسید. از رابطه A -> B و B -> D رابطه جدیدی به دست می آید. A -> D قانون رابطه انتقالی حالا دیگر مشخص شد، الان میتوان گفت که کلید کاندید، چه هست. ما در این مسئله دو تا کلید کاندید داریم، هم A و هم E اگر با دقت ببینید صفت A همه صفت های دیگر را میدهد و صفت E هم، تمام صفات دیگر را میدهد. مثلا E چگونه تمام صفات دیگر را میدهد؟ خوب صفت E، صفت A را میدهد و A هم که تمام صفات دیگر را میدهد. |
RE: کلید کاندید وابستگی تابعی - araz22 - 02 اسفند ۱۳۹۴ ۰۱:۵۰ ب.ظ
(۰۲ اسفند ۱۳۹۴ ۰۲:۴۰ ق.ظ)flower1 نوشته شده توسط:(29 بهمن ۱۳۹۴ ۰۹:۳۲ ب.ظ)araz22 نوشته شده توسط: سلام. همه این چیزی که گفتی اشتباه بوووووووووووووووووووود |
RE: کلید کاندید وابستگی تابعی - aslam - 16 مرداد ۱۳۹۵ ۱۲:۱۱ ب.ظ
عالــــــــــــــــــــــــــــــــــــی |
RE: کلید کاندید وابستگی تابعی - gogooli - 18 مرداد ۱۳۹۵ ۰۶:۰۸ ب.ظ
می دونیم کلید کاندید attributeای است که همه attributeها به آن وابستگی تابعی دارند. و Attributeاضافه هم ندارد یعنی کمینه است. روش پیدا کردن همانی است که در کتابش نوشته. پیدا کردن کلید کاندید: ۱-attribute ای است که سمت راست هیچ FD نیست. یعنی هیچ کس نمی تونه آن را تولید کند، این attribute حتما عضو کلید کاندید هست، نمی گوییم کلید کاندید است). ۲- اگر attributeهایی که سمت راست هیچ FD نیستند به تنهایی توانستند همه را تولید کنند، این کلید کاندید است (دیگه بررسی نکن). ۳- اگر attributeهایی که سمت راست هیچ FD نیستند به تنهایی نتوانستند همه را تولید کنند، باید attribute کمکی بیاریم. ۴- اگر همه سمت راست بودند، می بینیم کدام attribute هست که سمت چپ هیچ FD ای نیست یعنی هیچ کس را نمی تواند تولید کند پس عضو کلید کاندید نیست. ۵- هر ترکیبی از attributeها (از همدیگه به دست نیان) که بتواند کلید کاندید رو تولید کنه اون هم کلید کاندید است. در مورد سوال۱: می بینیم کدام ها هستن که سمت راست هیچ FDای نیست، اون حتما عضو کلید کاندید هست. این جا q است پس q باید در همه کلیدهای کاندید باشه چون هیچ کس q رو تولید نمی کنه. بعد می بینیم این q که سمت راست هیچ FDای نیست به تنهایی می تونه همه رو تولید کنه (اگه بتونه اون تنها کلید کاندید است) می بینیم نمی تونه چون qst->pv به تنهایی نمی تونه چیزی رو تولید کنه. پس از قانون ۳ می رویم باید attributeکمکی بیاریم. s,t رو می آوریم qst->pv. پس qst کلید کاندید است. در مورد سوال۲: اینجا هیچ Attributeای نداریم که سمت راست هیچ FDای نیست. می بینیم کدامها هستند که سمت چپ هیچ وابستگی تابعی نیستند، در این جا همه هستن (اگه بود طبق ۴ کنار می رفت). از A-> BC شروع می کنیم چون A قدرت تولید بیشتری دارد، می بینیم می توانیم ازA می تونیم همه attributeها رو تولید کنیم یا نه. B,C رو که در همین قانون تولید می کنه، B->D پس D هم تولید می شه. چون D,C رو داریم CD-> E بنابراین E هم تولید می شه. همه attributeها تولید شدند. پس A کلید کاندید است. حالا می بینیم کدام ها می تونن A رو تولید کنن اون ها کلیدن. E->A پس E هم کلید کاندید است. می بینیم کدام ها می تونن E رو تولید کنن. CD->Eپس CD هم یک کلید کاندید است. داریم B->D می تونیم بنویسیم BC->CD چون B,C مستقل هستند، BC چون می توند CD رو بدهد پس BC هم کلید کاندید است. می بینیم کدوم می تونه BC رو بده، A->BC، در loop افتادیم پس دیگه ادامه نمی دیم. |