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

سوال مهندسی کامپیوتر آزاد ۸۷(کلید کاندید) - tarane1992 - 06 آبان ۱۳۹۲ ۱۲:۰۰ ب.ظ

رابطه( A ،B،C،D،E،H،K،L) با وابستگی های تابعی داده شده است کلید کاندید R کدام است؟
[tex]\left \{ AB\rightarrow L .C\rightarrow H.CD\rightarrow E.EH\rightarrow B.K\rightarrow C \right \}[/tex]


۱)ABK
۲)K
۳)ABDHK
۴)ADK
جواب گزینه ۴ میشه.

لطفا کسی میتونه برام توضیح بده چطوری بدست میاد؟فقط یه سوال دیگه میتونیم در پیدا کردن کلید کاندید مثل کلید اصلی این طوری بگیم اگر سمت راست فلش ها حرفایی که نیستن یعنی کلید میشن این طوری درسته ؟یا فقط در کلید اصلی میشه این طوری گفت و تو کلید کاندید نمیشه؟ به من توضیح کامل بدید ممنون.Shy
راستی من نتونستم در TEX ویرگولو پیدا کنم بینشون نقطه گذاشتمSmile

RE: سوال مهندسی کامپیوتر آزاد ۸۷(کلید کاندید) - azad_ahmadi - 06 آبان ۱۳۹۲ ۱۰:۳۴ ب.ظ

سلام.

ابتدا در مورد کلید کاندید و کلید اصلی توضیحاتی رو میدم؛ کلید کاندید، کلیدی است که دو خاصیت ۱-یکتایی مقدار (یعنی مقدارش در هیچ دو سطری باهم برابر نباشد) ۲-کمینگی اجزائی (یعنی اگر اجزای کلید کاندید را از هم جدا کنیم خاصیت یکتایی مقدار از بین برود، توجه به این نکته که وقتی کلید کاندید تک عضوی هست، این خاصیت بصورت پیشفرض وجود دارد). کلید اصلی کلید کاندیدی است که سه خصوصیت مهم را دارا باشد: ۱-کوتاهترین کلید کاندید از لحاظ طول ۲-کمترین میزان از نظر تغییرات، یعنی بندرت یا هیچوقت تغییری پیدا نکند ۳-از لحاظ معنی و مفهوم کلید اصلی باید اهداف مورد نظر را در حالت مناسبی برقرار کند. مثلا شماره دانشجویی برای کلید اصلی مناسب تر از شماره تلفن دانشجو است.
------------
برای پاسخ دادن به اینگونه سوالات باید عنصری(یا عناصری) رو پیدا کرد که بتوان از طریق آنها به سایر عناصر دیگر هم دسترسی پیدا کرد.
همیشه عناصری که فقط در سمت راست پیکان هستند جزء عناصر کلید هستند، مثلا به A و D و K دقت کنید، هیچ عنصری نمیتواند این سه تا را دسترسی پذیر کند، پس خود این سه عنصر جزء کلید باید باشند. حالا اگر بررسی کنیم تمام عناصر دیگه براساس این سه عنصر دستیابی میشوند. مثلا برای اینکه بخوایم بدونیم B از چه طریقی دستیابی خواهد شد، به این صورت،
[tex]K\rightarrow C , C\rightarrow H \Rightarrow K\rightarrow H[/tex]
[tex]K\rightarrow C , CD\rightarrow E \Rightarrow KD\rightarrow E[/tex]
[tex]K\rightarrow H , KD\rightarrow E \Rightarrow KD\rightarrow EH[/tex]
[tex]KD\rightarrow EH , EH\rightarrow B\Rightarrow KD\rightarrow B[/tex]

لازمه درک این مطالب فهمیدن قوانین ساده سازی وابستگی های تابعیه.
هرجا مبهم بود بگید من توضیح بدم.

RE: سوال مهندسی کامپیوتر آزاد ۸۷(کلید کاندید) - AEM4949 - 07 آبان ۱۳۹۲ ۱۲:۳۴ ق.ظ

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

RE: سوال مهندسی کامپیوتر آزاد ۸۷(کلید کاندید) - tarane1992 - 07 آبان ۱۳۹۲ ۱۲:۰۳ ب.ظ

(۰۶ آبان ۱۳۹۲ ۱۰:۳۴ ب.ظ)azad_ahmadi نوشته شده توسط:  سلام.

ابتدا در مورد کلید کاندید و کلید اصلی توضیحاتی رو میدم؛ کلید کاندید، کلیدی است که دو خاصیت ۱-یکتایی مقدار (یعنی مقدارش در هیچ دو سطری باهم برابر نباشد) ۲-کمینگی اجزائی (یعنی اگر اجزای کلید کاندید را از هم جدا کنیم خاصیت یکتایی مقدار از بین برود، توجه به این نکته که وقتی کلید کاندید تک عضوی هست، این خاصیت بصورت پیشفرض وجود دارد). کلید اصلی کلید کاندیدی است که سه خصوصیت مهم را دارا باشد: ۱-کوتاهترین کلید کاندید از لحاظ طول ۲-کمترین میزان از نظر تغییرات، یعنی بندرت یا هیچوقت تغییری پیدا نکند ۳-از لحاظ معنی و مفهوم کلید اصلی باید اهداف مورد نظر را در حالت مناسبی برقرار کند. مثلا شماره دانشجویی برای کلید اصلی مناسب تر از شماره تلفن دانشجو است.
------------
برای پاسخ دادن به اینگونه سوالات باید عنصری(یا عناصری) رو پیدا کرد که بتوان از طریق آنها به سایر عناصر دیگر هم دسترسی پیدا کرد.
همیشه عناصری که فقط در سمت راست پیکان هستند جزء عناصر کلید هستند، مثلا به A و D و K دقت کنید، هیچ عنصری نمیتواند این سه تا را دسترسی پذیر کند، پس خود این سه عنصر جزء کلید باید باشند. حالا اگر بررسی کنیم تمام عناصر دیگه براساس این سه عنصر دستیابی میشوند. مثلا برای اینکه بخوایم بدونیم B از چه طریقی دستیابی خواهد شد، به این صورت،
[tex]K\rightarrow C , C\rightarrow H \Rightarrow K\rightarrow H[/tex]
[tex]K\rightarrow C , CD\rightarrow E \Rightarrow KD\rightarrow E[/tex]
[tex]K\rightarrow H , KD\rightarrow E \Rightarrow KD\rightarrow EH[/tex]
[tex]KD\rightarrow EH , EH\rightarrow B\Rightarrow KD\rightarrow B[/tex]

لازمه درک این مطالب فهمیدن قوانین ساده سازی وابستگی های تابعیه.
هرجا مبهم بود بگید من توضیح بدم.

سلام
من تقریبا سوالاتی که کلید کاندید میخوان میتونم بدست بیارم فقط نمیدونم چرا این یه جوری با بقیه فرق میکنه.
ببینید من درست از حرفاتون برداشت میکنم.
عناصری که سمت راست نباشند میشن کلید اصلی.
عناصری که فقط در سمت راست هستن و نمیشه بهشون دست پیدا کرد میشه کلید کاندید.
مگه کلید اصلی یکی از کلیدهای کاندید نمیشه خوب پس باید تعریف کلید اصلی با کاندید یکی بشه اینجا. یکی میگه سمت راست نیست یکی میگه سمت راست هستن چطوریه؟؟؟Huh
خوب من این جمله دومو میرم تستای دیگه حل کنم کاندید درست نمیشه.مثلا" عناصر (A،B،C،D،E) داریم با وابستگی زیر
[tex]{A\rightarrow B .BC\rightarrow D.D\rightarrow A }[/tex]
که جواب میشه کلید کاندید DE خوب این با حرف شما درست در نمیاد که میگین نشه بهشون رسید خوب از اونجایی که ۳ تا عنصر
B،C،D،A در سمت راست فلش هستن پس کلید میشن . تنها عنصر E هست که نمیشه بهش رسید چرا جواب شده DE.

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

RE: سوال مهندسی کامپیوتر آزاد ۸۷(کلید کاندید) - azad_ahmadi - 07 آبان ۱۳۹۲ ۰۱:۴۰ ب.ظ

(۰۷ آبان ۱۳۹۲ ۱۲:۰۳ ب.ظ)tarane1992 نوشته شده توسط:  
(06 آبان ۱۳۹۲ ۱۰:۳۴ ب.ظ)azad_ahmadi نوشته شده توسط:  سلام.

ابتدا در مورد کلید کاندید و کلید اصلی توضیحاتی رو میدم؛ کلید کاندید، کلیدی است که دو خاصیت ۱-یکتایی مقدار (یعنی مقدارش در هیچ دو سطری باهم برابر نباشد) ۲-کمینگی اجزائی (یعنی اگر اجزای کلید کاندید را از هم جدا کنیم خاصیت یکتایی مقدار از بین برود، توجه به این نکته که وقتی کلید کاندید تک عضوی هست، این خاصیت بصورت پیشفرض وجود دارد). کلید اصلی کلید کاندیدی است که سه خصوصیت مهم را دارا باشد: ۱-کوتاهترین کلید کاندید از لحاظ طول ۲-کمترین میزان از نظر تغییرات، یعنی بندرت یا هیچوقت تغییری پیدا نکند ۳-از لحاظ معنی و مفهوم کلید اصلی باید اهداف مورد نظر را در حالت مناسبی برقرار کند. مثلا شماره دانشجویی برای کلید اصلی مناسب تر از شماره تلفن دانشجو است.
------------
برای پاسخ دادن به اینگونه سوالات باید عنصری(یا عناصری) رو پیدا کرد که بتوان از طریق آنها به سایر عناصر دیگر هم دسترسی پیدا کرد.
همیشه عناصری که فقط در سمت راست پیکان هستند جزء عناصر کلید هستند، مثلا به A و D و K دقت کنید، هیچ عنصری نمیتواند این سه تا را دسترسی پذیر کند، پس خود این سه عنصر جزء کلید باید باشند. حالا اگر بررسی کنیم تمام عناصر دیگه براساس این سه عنصر دستیابی میشوند. مثلا برای اینکه بخوایم بدونیم B از چه طریقی دستیابی خواهد شد، به این صورت،
[tex]K\rightarrow C , C\rightarrow H \Rightarrow K\rightarrow H[/tex]
[tex]K\rightarrow C , CD\rightarrow E \Rightarrow KD\rightarrow E[/tex]
[tex]K\rightarrow H , KD\rightarrow E \Rightarrow KD\rightarrow EH[/tex]
[tex]KD\rightarrow EH , EH\rightarrow B\Rightarrow KD\rightarrow B[/tex]

لازمه درک این مطالب فهمیدن قوانین ساده سازی وابستگی های تابعیه.
هرجا مبهم بود بگید من توضیح بدم.

سلام
من تقریبا سوالاتی که کلید کاندید میخوان میتونم بدست بیارم فقط نمیدونم چرا این یه جوری با بقیه فرق میکنه.
ببینید من درست از حرفاتون برداشت میکنم.
عناصری که سمت راست نباشند میشن کلید اصلی.
عناصری که فقط در سمت راست هستن و نمیشه بهشون دست پیدا کرد میشه کلید کاندید.
مگه کلید اصلی یکی از کلیدهای کاندید نمیشه خوب پس باید تعریف کلید اصلی با کاندید یکی بشه اینجا. یکی میگه سمت راست نیست یکی میگه سمت راست هستن چطوریه؟؟؟Huh
خوب من این جمله دومو میرم تستای دیگه حل کنم کاندید درست نمیشه.مثلا" عناصر (A،B،C،D،E) داریم با وابستگی زیر
[tex]{A\rightarrow B .BC\rightarrow D.D\rightarrow A }[/tex]
که جواب میشه کلید کاندید DE خوب این با حرف شما درست در نمیاد که میگین نشه بهشون رسید خوب از اونجایی که ۳ تا عنصر
B،C،D،A در سمت راست فلش هستن پس کلید میشن . تنها عنصر E هست که نمیشه بهش رسید چرا جواب شده DE.

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

سلام.
این نکته که شاید بیشتر از یک کلید کاندید را بتوان از وابستگی تابعی پیدا کرد وجود دارد.
تعریف کلید کاندید و کلید اصلی یکی است، (اگر توجه کرده باشید، نوشته شده "کلید اصلی یکی از کلید های کاندید است که ...") پس در یک رابطه ممکن است بیشتر از یک کلید کاندید وجود داشته باشد، و کلید اصلی میشود کلید کاندیدی که اون ۳ خصوصیتی که گفتم رو دارا باشه.
معمولا سوالات کلید کاندید رو میخوان بدست بیارید، و اینجا هم مبنارو میزاریم بر اینکه میخوایم کلید کاندید رو بدست بیاریم. فعلا به کلید اصلی فکر نکنید.
برای پیدا کردن کلید کاندید، باید عنصر(یا عناصری) که بقیه اجزای رابطه رو قابل دسترس میکنند پیدا کرد. با این مثال دقت کنید : [tex]A\rightarrow B[/tex] یعنی اینکه B توسط A دستیابی پذیر هست، یا مثلا [tex]AB\rightarrow C[/tex] یعنی با ترکیب AB میتوان به C رسید (توجه کنید که با برداشتن A یا B دیگه نمیشه به C برسیم). با این مثال ها میتوانیم بفهمیم اونایی که در سمت چپ فلش ها هستند ولی درسمت راستش نه، بعنوان کلید انتخاب خواهند شد. مثلا تو همون سوال بالای تاپیک A,D,K هرسه تاشون در سمت چپ فلش هستند ولی در سمت راست نه، این به این معنی هست که عنصری نمیتونه اینارو دسترسی پذیر کنه غیر از خودشون، پس باید خودشون جزء کلید کاندید باشند.

..........................................................
بهتر بود این سوال دومتون رو براش یه تاپیک مجزا باز میکردید.
"معذرت میخوام من اشتباه نوشتم، باید میگفتم اونایی که در سمت چپ هستند، کلید اند".
DE بعنوان کلید کاندید فکر کنم اشتباه هست و باید DCE باشه (میشه کتابی رو که ازش میخونید عنوان کنید؟) چون اساسا C رو هیچ عنصری غیراز خودش دسترسی پذیر نمیکنه، پس باید خودش هم جزء کلید باشه.

RE: سوال مهندسی کامپیوتر آزاد ۸۷(کلید کاندید) - tarane1992 - 07 آبان ۱۳۹۲ ۰۹:۴۸ ب.ظ

(۰۷ آبان ۱۳۹۲ ۰۱:۴۰ ب.ظ)azad_ahmadi نوشته شده توسط:  
(07 آبان ۱۳۹۲ ۱۲:۰۳ ب.ظ)tarane1992 نوشته شده توسط:  
(06 آبان ۱۳۹۲ ۱۰:۳۴ ب.ظ)azad_ahmadi نوشته شده توسط:  سلام.

ابتدا در مورد کلید کاندید و کلید اصلی توضیحاتی رو میدم؛ کلید کاندید، کلیدی است که دو خاصیت ۱-یکتایی مقدار (یعنی مقدارش در هیچ دو سطری باهم برابر نباشد) ۲-کمینگی اجزائی (یعنی اگر اجزای کلید کاندید را از هم جدا کنیم خاصیت یکتایی مقدار از بین برود، توجه به این نکته که وقتی کلید کاندید تک عضوی هست، این خاصیت بصورت پیشفرض وجود دارد). کلید اصلی کلید کاندیدی است که سه خصوصیت مهم را دارا باشد: ۱-کوتاهترین کلید کاندید از لحاظ طول ۲-کمترین میزان از نظر تغییرات، یعنی بندرت یا هیچوقت تغییری پیدا نکند ۳-از لحاظ معنی و مفهوم کلید اصلی باید اهداف مورد نظر را در حالت مناسبی برقرار کند. مثلا شماره دانشجویی برای کلید اصلی مناسب تر از شماره تلفن دانشجو است.
------------
برای پاسخ دادن به اینگونه سوالات باید عنصری(یا عناصری) رو پیدا کرد که بتوان از طریق آنها به سایر عناصر دیگر هم دسترسی پیدا کرد.
همیشه عناصری که فقط در سمت راست پیکان هستند جزء عناصر کلید هستند، مثلا به A و D و K دقت کنید، هیچ عنصری نمیتواند این سه تا را دسترسی پذیر کند، پس خود این سه عنصر جزء کلید باید باشند. حالا اگر بررسی کنیم تمام عناصر دیگه براساس این سه عنصر دستیابی میشوند. مثلا برای اینکه بخوایم بدونیم B از چه طریقی دستیابی خواهد شد، به این صورت،
[tex]K\rightarrow C , C\rightarrow H \Rightarrow K\rightarrow H[/tex]
[tex]K\rightarrow C , CD\rightarrow E \Rightarrow KD\rightarrow E[/tex]
[tex]K\rightarrow H , KD\rightarrow E \Rightarrow KD\rightarrow EH[/tex]
[tex]KD\rightarrow EH , EH\rightarrow B\Rightarrow KD\rightarrow B[/tex]

لازمه درک این مطالب فهمیدن قوانین ساده سازی وابستگی های تابعیه.
هرجا مبهم بود بگید من توضیح بدم.

سلام
من تقریبا سوالاتی که کلید کاندید میخوان میتونم بدست بیارم فقط نمیدونم چرا این یه جوری با بقیه فرق میکنه.
ببینید من درست از حرفاتون برداشت میکنم.
عناصری که سمت راست نباشند میشن کلید اصلی.
عناصری که فقط در سمت راست هستن و نمیشه بهشون دست پیدا کرد میشه کلید کاندید.
مگه کلید اصلی یکی از کلیدهای کاندید نمیشه خوب پس باید تعریف کلید اصلی با کاندید یکی بشه اینجا. یکی میگه سمت راست نیست یکی میگه سمت راست هستن چطوریه؟؟؟Huh
خوب من این جمله دومو میرم تستای دیگه حل کنم کاندید درست نمیشه.مثلا" عناصر (A،B،C،D،E) داریم با وابستگی زیر
[tex]{A\rightarrow B .BC\rightarrow D.D\rightarrow A }[/tex]
که جواب میشه کلید کاندید DE خوب این با حرف شما درست در نمیاد که میگین نشه بهشون رسید خوب از اونجایی که ۳ تا عنصر
B،C،D،A در سمت راست فلش هستن پس کلید میشن . تنها عنصر E هست که نمیشه بهش رسید چرا جواب شده DE.

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

سلام.
این نکته که شاید بیشتر از یک کلید کاندید را بتوان از وابستگی تابعی پیدا کرد وجود دارد.
تعریف کلید کاندید و کلید اصلی یکی است، (اگر توجه کرده باشید، نوشته شده "کلید اصلی یکی از کلید های کاندید است که ...") پس در یک رابطه ممکن است بیشتر از یک کلید کاندید وجود داشته باشد، و کلید اصلی میشود کلید کاندیدی که اون ۳ خصوصیتی که گفتم رو دارا باشه.
معمولا سوالات کلید کاندید رو میخوان بدست بیارید، و اینجا هم مبنارو میزاریم بر اینکه میخوایم کلید کاندید رو بدست بیاریم. فعلا به کلید اصلی فکر نکنید.
برای پیدا کردن کلید کاندید، باید عنصر(یا عناصری) که بقیه اجزای رابطه رو قابل دسترس میکنند پیدا کرد. با این مثال دقت کنید : [tex]A\rightarrow B[/tex] یعنی اینکه B توسط A دستیابی پذیر هست، یا مثلا [tex]AB\rightarrow C[/tex] یعنی با ترکیب AB میتوان به C رسید (توجه کنید که با برداشتن A یا B دیگه نمیشه به C برسیم). با این مثال ها میتوانیم بفهمیم اونایی که در سمت چپ فلش ها هستند ولی درسمت راستش نه، بعنوان کلید انتخاب خواهند شد. مثلا تو همون سوال بالای تاپیک A,D,K هرسه تاشون در سمت چپ فلش هستند ولی در سمت راست نه، این به این معنی هست که عنصری نمیتونه اینارو دسترسی پذیر کنه غیر از خودشون، پس باید خودشون جزء کلید کاندید باشند.

..........................................................
بهتر بود این سوال دومتون رو براش یه تاپیک مجزا باز میکردید.
"معذرت میخوام من اشتباه نوشتم، باید میگفتم اونایی که در سمت چپ هستند، کلید اند".
DE بعنوان کلید کاندید فکر کنم اشتباه هست و باید DCE باشه (میشه کتابی رو که ازش میخونید عنوان کنید؟) چون اساسا C رو هیچ عنصری غیراز خودش دسترسی پذیر نمیکنه، پس باید خودش هم جزء کلید باشه.

خوب من با توضیحاتتون تونستم به نتیجه سوال اول برسم ولی سوال دوم با توضیحات شما نمیشه رسید مثلا عنصر d سمت چپ هست و راست هم هست چرا شده جواب؟ میخوام بدونم با حرف شما میشه بدون اینکه تابع پوششی رو بدست بیاریم به جواب برسیم.اصلا اینجا توضیحاتتون با جواب نمیخونه؟(این سوال در ص ۱۹۳ تست شماره ۳ کتاب مقسمی چاپ جدیدش هست)
میدونم عنصر c وE باید جزو کاندید باشن چون هیچ جوری نمیشه رسید در واقع ما از[tex]A\rightarrow BC[/tex] نمیتونیم نتیجه بگیریم که[tex]A\rightarrow B[/tex] یا [tex]A\rightarrow C[/tex] یعنی این نتیجه غلطه پس عنصر C از هر دو تا وابستگی[tex]A\rightarrow BC[/tex] و[tex]BC\rightarrow D[/tex] نمیتونه بدست بیاد پس C هم کلید کاندید هست.

من این طور از حرفاتون برداشت میکنم که عناصری که سمت چپ هستن ولی سمت راست نیستن(یعنی هیچ جوری نمیشه بهشون رسید) و حالتی که عنصر ما در هیچ طرف فلش نیست میشه کلید کاندید برداشت من درسته؟؟

RE: سوال مهندسی کامپیوتر آزاد ۸۷(کلید کاندید) - bahar1369 - 08 آبان ۱۳۹۲ ۰۲:۳۳ ب.ظ

(۰۷ آبان ۱۳۹۲ ۱۲:۳۴ ق.ظ)aem4949 نوشته شده توسط:  سلام
راه تستی این سوال اینه که بستار یا همون مجموعه پوششی صفاتی که در سمت چپ هستند رو پیدا کنی.که نتیجه می شود ADK کلید کاندید هست.
دقیقا همینه. وقتی مجموعه پوششی صفات سمت چپ رو پیداکردی، اونایی که تمام صفات رابطه رو میدن، سوپرکلید هستن، از بین این سوپر کلیدا، اونی که کمینه هست و هیچ وابستگی به بقیه صفات نداره، کلید کاندید میشه.
اگه کتاب مقسمی رو میخونید، به مثالی که توی قسمت (بستار مجموعه ای از صفات) از فصل (وابستگی تابعی) ۱ نگاهی بندازین.