التبعية الوظيفية هي علاقة موجودة بين سمتين. يوجد عادةً بين المفتاح الأساسي والسمة غير الرئيسية داخل الجدول.
X → Y
يُعرف الجانب الأيسر من FD بأنه محدد، ويعرف الجانب الأيمن من الإنتاج بأنه تابع.
على سبيل المثال:
افترض أن لدينا جدول موظف بالسمات: Emp_Id، Emp_Name، Emp_Address.
25 ج إلى ك
هنا يمكن لسمة Emp_Id تحديد سمة Emp_Name لجدول الموظف بشكل فريد لأنه إذا كنا نعرف Emp_Id، فيمكننا معرفة اسم الموظف المرتبط به.
يمكن كتابة التبعية الوظيفية على النحو التالي:
Emp_Id → Emp_Name
يمكننا القول أن Emp_Name يعتمد وظيفيًا على Emp_Id.
أنواع التبعية الوظيفية
1. التبعية الوظيفية التافهة
- A → B له تبعية وظيفية تافهة إذا كانت B مجموعة فرعية من A.
- التبعيات التالية تافهة أيضًا مثل: A → A، B → B
مثال:
Consider a table with two columns Employee_Id and Employee_Name. {Employee_id, Employee_Name} → Employee_Id is a trivial functional dependency as Employee_Id is a subset of {Employee_Id, Employee_Name}. Also, Employee_Id → Employee_Id and Employee_Name → Employee_Name are trivial dependencies too.
2. التبعية الوظيفية غير التافهة
- A → B له تبعية وظيفية غير تافهة إذا لم تكن B مجموعة فرعية من A.
- عندما يكون التقاطع B فارغًا، يتم استدعاء A → B على أنه غير تافه بالكامل.
مثال:
ID → Name, Name → DOB