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

کمینه کردن وابستگی ها - H-Arshad - 14 فروردین ۱۳۹۳ ۱۲:۴۸ ق.ظ

عزیازن میشه توضیح بدهید؟
در یک رابطه ۶ وابستگی تابعی به صورت زیر داریم:
A-->(B,c)
A-->D
A-->K
K-->C
B-->D
(B,C)-->D

پس از کمینه کردن چند وابستگی تابعی داریم؟

RE: کمینه کردن وابستگی ها - Morris - 14 فروردین ۱۳۹۳ ۰۲:۱۰ ق.ظ

سلام.
جهت خوانایی بیشتر مطالب را در تگ کد قرار دادم :
کد:
A-->(B,C)
A-->D
A-->K
K-->C
B-->D
(B,C)-->D


مجموعه بستار وابستگی تابعی کاهش ناپذیر باید دارای سه شرط زیر باشد :
۱/ در سمت راست همه وابستگی های تابعی تنها یک صفت باشد.
۲/ در سمت چپ هیچ وابستگی تابعی صفت زاید وجود نداشته باشد.
۳/ هیچ وابستگی تابعی از باقی قابل ایجاد نباشد.

در چند گام این کار انجام می شود.
اول) وابستگی تابعی اول را به دو وابستگی می شکنیم :

کد:
A-->B
A-->C
A-->D
A-->K
K-->C
B-->D
(B,C)-->D



دوم) در مجموعه جدید، سومی را می توان با ترکیب اولی و ششمی بدست آورد.
دومی را می توان با ترکیب چهارمی و پنجمی بدست آورد.

کد:
A-->B
A-->K
K-->C
B-->D
(B,C)-->D

سوم) در مجموعه جدید، پنجمی در سمت چپ خود دارای صفت زاید است. شماره چهار می گوید که D به B وابسته تابعی است. در شماره پنج می گوید که D به ترکیب BC وابسته است. در واقع صفت C هیچ تاثیری در وابستگی D به B ندارد و در واقع شماره پنج هیچ اطلاعات جدید نمی دهد. بنابراین C که زاید است را حذف می کنیم.

کد:
A-->B
A-->K
K-->C
B-->D
B-->D

چهارم) از دوتای آخر، یکی حذف می شود.
مجموعه بستار وابستگی تابعی کاهش ناپذیر :

کد:
A -> B
A -> K
K -> C
B -> D


RE: کمینه کردن وابستگی ها - H-Arshad - 23 فروردین ۱۳۹۳ ۱۰:۲۴ ق.ظ

ببخشید یک سوال
من چندین بار این مثال و مثال های دیگر رو خوندم
فهمیدم چطوری باید حساب و کتاب کرد اما یک مشکل
وقتی A-->B
و
B-->D
رفته ما می رسیم به A-->D
و شما در ادامه دیگر A-->B را نزاشتید اما B-->D رو گذاشتید
و در
A-->K
K-->C
شما دیگر نبامیدید بنویسید A-->C مثل بالایی
و A-->K
K-->C را نگه داشتید . یعنی عکس مورد بالا عمل کردید دقیقا

RE: کمینه کردن وابستگی ها - Morris - 23 فروردین ۱۳۹۳ ۱۱:۰۱ ق.ظ

(۲۳ فروردین ۱۳۹۳ ۱۰:۲۴ ق.ظ)H-Arshad نوشته شده توسط:  ببخشید یک سوال
من چندین بار این مثال و مثال های دیگر رو خوندم
فهمیدم چطوری باید حساب و کتاب کرد اما یک مشکل
وقتی A-->B
و
B-->D
رفته ما می رسیم به A-->D
و شما در ادامه دیگر A-->B را نزاشتید اما B-->D رو گذاشتید
و در
A-->K
K-->C
شما دیگر نبامیدید بنویسید A-->C مثل بالایی
و A-->K
K-->C را نگه داشتید . یعنی عکس مورد بالا عمل کردید دقیقا


سلام.
کاملا حق با شماست.
تصحیح شد.