التبعية الوظيفية في قاعدة البيانات

التوابع الوظيفية المساعدة تجنب ازدواجية البيانات

يفرض التبعية الوظيفية في قاعدة بيانات مجموعة من القيود بين السمات. يحدث هذا عندما تحدد سمة واحدة في علاقة سمة أخرى بشكل فريد. يمكن كتابة هذا A -> B مما يعني أن "B يعتمد وظيفيا على A." هذا يسمى أيضاً تبعية قاعدة البيانات .

في هذه العلاقة ، تحدد A قيمة B ، بينما تعتمد B على A.

لماذا التبعية الوظيفية مهمة في تصميم قواعد البيانات

التبعية الوظيفية تساعد على ضمان صحة البيانات. النظر في جدول الموظفين الذين يسردون الخصائص بما في ذلك رقم الضمان الاجتماعي (SSN) والاسم وتاريخ الميلاد والعنوان وما إلى ذلك.

ستحدد السمة SSN قيمة الاسم وتاريخ الميلاد والعنوان وربما قيم أخرى ، لأن رقم الضمان الاجتماعي فريد ، في حين قد لا يكون الاسم وتاريخ الميلاد أو العنوان. يمكننا أن نكتبها على هذا النحو:

SSN -> الاسم وتاريخ الميلاد والعنوان

لذلك ، يعتمد الاسم وتاريخ الميلاد والعنوان وظيفياً على SSN. ومع ذلك ، فإن العبارة العكسية (الاسم -> SSN) غير صحيحة لأن أكثر من موظف واحد يمكن أن يكون له نفس الاسم ولكن لن يكون له نفس SSN. ضع طريقة أخرى أكثر تحديدًا ، إذا كنا نعرف قيمة سمة SSN ، فيمكننا العثور على قيمة الاسم وتاريخ الميلاد والعنوان. ولكن إذا عرفنا بدلاً من ذلك قيمة السمة name فقط ، فلا يمكننا تحديد SSN.

يمكن أن يشتمل الجانب الأيسر من التبعية الوظيفية على أكثر من سمة واحدة. لنفترض أن لدينا نشاطًا تجاريًا مع مواقع متعددة. قد يكون لدينا موظف جدول مع سمات الموظف والعنوان والقسم والموقع والمدير.

يحدد الموظف الموقع الذي يعمل فيه ، لذلك هناك تبعية:

موظف -> الموقع

ولكن قد يحتوي الموقع على أكثر من مدير واحد ، لذلك يحدد الموظفون والقسم معًا المدير:

موظف ، قسم -> مدير

التبعية الوظيفية والتطبيع

يساهم التبعية الوظيفية في ما يسمى تطبيع قاعدة البيانات ، والذي يضمن سلامة البيانات ويقلل من تكرار البيانات. وبدون التطبيع ، لا يوجد ضمان بأن البيانات الموجودة في قاعدة البيانات دقيقة ويمكن الاعتماد عليها.