تالار گفتمان مانشت

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

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


مجموعه بستار وابستگی تابعی کاهش ناپذیر باید دارای سه شرط زیر باشد :
1. در سمت راست همه وابستگی های تابعی تنها یک صفت باشد.
2. در سمت چپ هیچ وابستگی تابعی صفت زاید وجود نداشته باشد.
3. هیچ وابستگی تابعی از باقی قابل ایجاد نباشد.

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

کد:
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
ببخشید یک سوال
من چندین بار این مثال و مثال های دیگر رو خوندم
فهمیدم چطوری باید حساب و کتاب کرد اما یک مشکل
وقتی A-->B
و
B-->D
رفته ما می رسیم به A-->D
و شما در ادامه دیگر A-->B را نزاشتید اما B-->D رو گذاشتید
و در
A-->K
K-->C
شما دیگر نبامیدید بنویسید A-->C مثل بالایی
و A-->K
K-->C را نگه داشتید . یعنی عکس مورد بالا عمل کردید دقیقا
(23 فروردین 1393 10:24 ق.ظ)H-Arshad نوشته شده توسط: [ -> ]ببخشید یک سوال
من چندین بار این مثال و مثال های دیگر رو خوندم
فهمیدم چطوری باید حساب و کتاب کرد اما یک مشکل
وقتی A-->B
و
B-->D
رفته ما می رسیم به A-->D
و شما در ادامه دیگر A-->B را نزاشتید اما B-->D رو گذاشتید
و در
A-->K
K-->C
شما دیگر نبامیدید بنویسید A-->C مثل بالایی
و A-->K
K-->C را نگه داشتید . یعنی عکس مورد بالا عمل کردید دقیقا


سلام.
کاملا حق با شماست.
تصحیح شد.
لینک مرجع