Konkur Computer
  1. home
  2. db
  3. questions
  4. 1404
  5. 113
  6. graph
graph of thought
steps
1problem

با توجه به داده های جدول، کدام وابستگی تابعی ممکن است وجود داشته باشد؟

ABC
a_1b_1c_1
a_1b_1c_2
a_2b_1c_1

  1. A \to B
  2. A \to C
  3. BC \to A
  4. B \to AC
db/concepts/fd/def
2recall

وابستگی تابعی یا Functional Dependency محدودیتی بین صفت های یک رابطه است که به ما در برطرف کردن بدرفتاری داده کمک میکند

به عبارت دیگر، در هر وابستگی تابعی به شکل A \to B در صورت برابر بودن ستون های A، ستون های B باید تکراری باشند

به طور مثال در جدول مشخصات افراد در شرکت پست، وابستگی تابعی postal\_Code \to city بیان میکند که به ازای کدپستی (postal\_Code) شهر (city) یکتا است. یعنی اگر کد پستی دو نفر یکسان باشد، (مثلا اعضای یک خانواده) حتما باید شهر آن ها هم یکسان باشد


  • چرا حفظ همه وابستگی های تابعی برایمان اهمیت زیادی ندارد
1reason

در گزینه 1 با در نظر گرفتن ستون های AوB، این اطلاعات را به ازای هر سطر داریم:

  1. a_1 \to b_1
  2. a_1 \to b_1
  3. a_2 \to b_1

وابستگی تابعی در اینجا رعایت شده چون به ازای مقدارa تکراری، مقادیر b نیز تکراری هستند

1goal

در اینجا گزینه درست مشخص شده اما برای اطمینان بقیه گزینه ها را نیز چک میکنیم

1reason

در گزینه 2 در گزینه 2با در نظر گرفتن ستون های AوC، این اطلاعات را به ازای هر سطر داریم:

  1. a_1 \to c_1
  2. a_1 \to c_2
  3. a_2 \to c_1

بخاطر وجود سطر 1 و 2 وابستگی تابعی رعایت نشده

1reason

در گزینه 3 با در نظر گرفتن ستون های BCوA، این اطلاعات را به ازای هر سطر داریم:

  1. b_1c_1 \to a_1
  2. b_1c_2 \to a_2
  3. b_1c_1 \to a_2

بخاطر وجود سطر 1 و 3 وابستگی تابعی رعایت نشده

1reason

در گزینه 4 با در نظر گرفتن ستون های BوAC، این اطلاعات را به ازای هر سطر داریم:

  1. b_1 \to a_1c_1
  2. b_1 \to a_1c_2
  3. b_1 \to a_2c_1

اینجا کلا هیچی رعایت نشده