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

کلید کاندید وابستگی تابعی - 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 نوشته شده توسط:  سلام.
چه جور میشه کلید کاندید رو پیدا کرد!من تا حدی بلدم بعضی ها رو میتونم حل کنم ولی بعضی ها نه.
اصول پیدا کردن کلید کاندید چی هست.یکمی مشکل دارم .ممنون اگه راهنمایی کنید[/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)

HuhHuhHuhHuhHuhHuhHuh

RE: کلید کاندید وابستگی تابعی - flower1 - 02 اسفند ۱۳۹۴ ۰۲:۴۰ ق.ظ

(۲۹ بهمن ۱۳۹۴ ۰۹:۳۲ ب.ظ)araz22 نوشته شده توسط:  سلام.
چه جور میشه کلید کاندید رو پیدا کرد!من تا حدی بلدم بعضی ها رو میتونم حل کنم ولی بعضی ها نه.
اصول پیدا کردن کلید کاندید چی هست.یکمی مشکل دارم .ممنون اگه راهنمایی کنید[/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)


سلام
یک مبحث مهم در فصل وابستگی تابعی در درس پایگاه داده، قوانین آرمسترانگ است.
بنابراین قوانین آرمسترانگ را کاملا مسلط باشید.
قوانین آرمسترانگ به دو دسته تقسیم میشود، یکی برای وابستگی تابعی و دیگری برای وابستگی تابعی چند مقداری.
الان سوال شما مربوط به دسته اول، یعنی وابستگی تابعی میشه.

قوانین آرمسترانگ برای سه مسئله لازم است.
۱- یافتن مجموعه کمینه ( یا کهینه Big Grin یا بهینه )
۲- یافتن مجموعه پوششی
۳- یافتن کلید کاندید

سوال شما مربوط به مورد سوم می باشد یعنی یافتن کلید کاندید.
اما چگونه؟ Angel
باید دنبال صفتی (یا صفاتی) باشید که همه صفات دیگر را میدهد. Wink

در این گونه سوالات یعنی سوالات مربوط به پیدا کردن کلید کاندید به شما دو چیز را میدهند؛ اولین آن، 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 را میدهند. در اینجا هم از قوانین تجزیه آرمسترانگ استفاده کردم.
خوب حالا کلید کاندید کدام میشود؟ Huh
کلید، PQ میشود. چرا؟ Confused
چون PQ تمام صفات دیگر را میدهد.
QST به ما V و P را میدهد و از طرفی چون P را داد با استفاده از P به تمام صفات دیگر دسترسی داریم.
توجه کنید که P همه را نمیدهد یعنی Q را نمیدهد. بنابراین با PQ به همه صفات دسترسی داریم.
چرا QST را به عنوان کلید کاندید انتخاب نکردیم؟ Dodgy
چون QST سه صفتی است و PQ دو صفتی است. کلید کاندید باید کمترین طول را داشته باشد. Idea

دومین سوال:
(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 قانون رابطه انتقالی

حالا دیگر مشخص شد، الان میتوان گفت که کلید کاندید، چه هست. Cool
ما در این مسئله دو تا کلید کاندید داریم، هم A و هم E
اگر با دقت ببینید صفت A همه صفت های دیگر را میدهد و صفت E هم، تمام صفات دیگر را میدهد.
مثلا E چگونه تمام صفات دیگر را میدهد؟ Dodgy
خوب صفت E، صفت A را میدهد و A هم که تمام صفات دیگر را میدهد. Rolleyes

RE: کلید کاندید وابستگی تابعی - araz22 - 02 اسفند ۱۳۹۴ ۰۱:۵۰ ب.ظ

(۰۲ اسفند ۱۳۹۴ ۰۲:۴۰ ق.ظ)flower1 نوشته شده توسط:  
(29 بهمن ۱۳۹۴ ۰۹:۳۲ ب.ظ)araz22 نوشته شده توسط:  سلام.
چه جور میشه کلید کاندید رو پیدا کرد!من تا حدی بلدم بعضی ها رو میتونم حل کنم ولی بعضی ها نه.
اصول پیدا کردن کلید کاندید چی هست.یکمی مشکل دارم .ممنون اگه راهنمایی کنید[/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)


سلام
یک مبحث مهم در فصل وابستگی تابعی در درس پایگاه داده، قوانین آرمسترانگ است.
بنابراین قوانین آرمسترانگ را کاملا مسلط باشید.
قوانین آرمسترانگ به دو دسته تقسیم میشود، یکی برای وابستگی تابعی و دیگری برای وابستگی تابعی چند مقداری.
الان سوال شما مربوط به دسته اول، یعنی وابستگی تابعی میشه.

قوانین آرمسترانگ برای سه مسئله لازم است.
۱- یافتن مجموعه کمینه ( یا کهینه Big Grin یا بهینه )
۲- یافتن مجموعه پوششی
۳- یافتن کلید کاندید

سوال شما مربوط به مورد سوم می باشد یعنی یافتن کلید کاندید.
اما چگونه؟ Angel
باید دنبال صفتی (یا صفاتی) باشید که همه صفات دیگر را میدهد. Wink

در این گونه سوالات یعنی سوالات مربوط به پیدا کردن کلید کاندید به شما دو چیز را میدهند؛ اولین آن، 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 را میدهند. در اینجا هم از قوانین تجزیه آرمسترانگ استفاده کردم.
خوب حالا کلید کاندید کدام میشود؟ Huh
کلید، PQ میشود. چرا؟ Confused
چون PQ تمام صفات دیگر را میدهد.
QST به ما V و P را میدهد و از طرفی چون P را داد با استفاده از P به تمام صفات دیگر دسترسی داریم.
توجه کنید که P همه را نمیدهد یعنی Q را نمیدهد. بنابراین با PQ به همه صفات دسترسی داریم.
چرا QST را به عنوان کلید کاندید انتخاب نکردیم؟ Dodgy
چون QST سه صفتی است و PQ دو صفتی است. کلید کاندید باید کمترین طول را داشته باشد. Idea

دومین سوال:
(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 قانون رابطه انتقالی

حالا دیگر مشخص شد، الان میتوان گفت که کلید کاندید، چه هست. Cool
ما در این مسئله دو تا کلید کاندید داریم، هم A و هم E
اگر با دقت ببینید صفت A همه صفت های دیگر را میدهد و صفت E هم، تمام صفات دیگر را میدهد.
مثلا E چگونه تمام صفات دیگر را میدهد؟ Dodgy
خوب صفت E، صفت A را میدهد و A هم که تمام صفات دیگر را میدهد. Rolleyes

همه این چیزی که گفتی اشتباه بوووووووووووووووووووود

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 افتادیم پس دیگه ادامه نمی دیم.