תוכן עניינים:
הגדרה - מה המשמעות של תלות פונקציונאלית?
תלות פונקציונאלית היא מערכת יחסים שקיימת כאשר תכונה אחת קובעת באופן ייחודי תכונה אחרת.
אם R הוא קשר לתכונות X ו- Y, תלות פונקציונאלית בין התכונות מיוצגת כ- X-> Y, שמציין Y הוא תלוי פונקציונלי ב- X. כאן X הוא ערכה קובעת ו- Y היא תכונה תלויה. כל ערך של X משויך לערך Y אחד בדיוק.
תלות פונקציונלית במסד נתונים משמשת כאילוץ בין שתי קבוצות של תכונות. הגדרת תלות פונקציונאלית היא חלק חשוב בתכנון מסד נתונים יחסי ותורמת לנורמליזציה של היבטים.
Techopedia מסביר תלות פונקציונאלית
תלות פונקציונלית היא טריוויאלית אם Y היא קבוצת משנה של X. בטבלה עם התכונות של שם העובד ומספר הביטוח הלאומי (SSN), שם העובד תלוי באופן פונקציונלי ב- SSN מכיוון ש- SSN ייחודי לשמות בודדים. SSN מזהה את העובד באופן ספציפי, אך שם עובד לא יכול להבחין ב- SSN מכיוון שלעובד אחד יכול להיות שם זהה.
תלות תפקודית מגדירה את הצורה הנורמלית של Boyce-Codd ואת הצורה השלישית הנורמלית. זה שומר על תלות בין תכונות, מבטל את החזרת המידע. תלות פונקציונלית קשורה למפתח מועמד, שמזהה ייחוד של טופל וקובע את הערך של כל שאר התכונות בקשר. בחלק מהמקרים, מערכות בלתי תלויות פונקציונליות אינן ניתנות להפחתה אם:
- הסט הימני של תלות פונקציונאלית מחזיק בתכונה אחת בלבד
- לא ניתן להפחית את מערך התלות הפונקציונלית מצד שמאל, מכיוון שזה עשוי לשנות את כל התוכן של הסט
- צמצום התלות הפונקציונאלית הקיימת עשוי לשנות את תוכן הסט
מאפיין חשוב של תלות פונקציונלית הוא האקסיומה של ארמסטרונג, המשמשת בנורמליזציה של בסיס נתונים. ביחס, R, עם שלוש תכונות (X, Y, Z) האקסיומה של ארמסטרונג נכונה אם מתקיימים התנאים הבאים:
- אקסיומה של מעבר: אם X-> Y ו- Y-> Z, אז X-> Z
- אקסיומה של רפלקסיביות (מאפיין משנה): אם Y היא תת-קבוצה של X, אז X-> Y
- אקסיומה של הגדלה: אם X-> Y, אז XZ-> YZ
