Skip to main content

תלות רב-ממדית במאגרי מידע

23 - אורתודוקסיה: תגובות הלכתיות למודרנה - חלק ב: הרב סולובייצ'יק (יוני 2026)

23 - אורתודוקסיה: תגובות הלכתיות למודרנה - חלק ב: הרב סולובייצ'יק (יוני 2026)
Anonim

במסד נתונים יחסיים, תלות מתרחשת כאשר המידע המאוחסן באותו טבלאות מסד נתונים קובע באופן ייחודי מידע אחר המאוחסן באותו טבלה. תלות רב-שכבתית מתרחשת כאשר נוכחות שורה אחת או יותר בטבלה מרמזת על נוכחות של שורה אחת או יותר באותה טבלה. במילים אחרות, שתי תכונות (או עמודות) בטבלה אינן תלויות זו בזו, אך שתיהן תלויות במאפיין שלישי.

תלות רב-תכליתית מונעת מהנורמליזציה את הצורה הנורמלית הרביעית (4NF). מסדי נתונים יחסיים עוקבים אחר חמישה טפסים רגילים המייצגים קווים מנחים לתכנון רשומות. הם מונעים חריגות בעדכון וחוסר עקביות בנתונים. הצורה הנורמלית הרביעית עוסקת ביחסים רבים-לאחד במסד נתונים.

תלות פונקציונלית מול תלות רב-תכליתית

כדי להבין תלות רב-תכליתית, כדאי לבחון מחדש את התלות התפקודית.

אם תכונה X קובעת באופן ייחודי את התכונה Y, אזי Y תלויה בתפקוד ב- X. זה נכתב כ- X -> Y. לדוגמה, בטבלה 'תלמידים' שלהלן, הסטודנט קובע את המייג'ור:

סטודנטים
שם תלמידגדול
ראביהיסטוריה של האמנות
ביתכימיה

ניתן לכתוב תלות פונקציונלית זו: Student_Name -> Major . כל Student_Name קובע בדיוק אחד הגדולים ולא יותר.

אם אתה רוצה את מסד הנתונים גם לעקוב אחר הספורט התלמידים האלה לקחת, אתה עשוי לחשוב הדרך הקלה ביותר לעשות זאת היא רק להוסיף עוד טור בשם ספורט:

סטודנטים
שם תלמידגדולספורט
ראביהיסטוריה של האמנותכדורגל
ראביהיסטוריה של האמנותכדורעף
ראביהיסטוריה של האמנותטניס
ביתכימיהטניס
ביתכימיהכדורגל

הבעיה כאן היא שגם ראבי ובת 'לשחק ספורט מרובים. יש צורך להוסיף שורה חדשה עבור כל ספורט נוסף.

טבלה זו הציגה תלות רב-תכליתית, משום שהעיקר והספורט אינם תלויים זה בזה, אך שניהם תלויים בסטודנט.

זוהי דוגמה פשוטה וזיהוי בקלות, אבל תלות multivalue יכול להיות בעיה במסד נתונים גדול, מורכב.

תלות רב-תכליתית נכתבה X -> -> Y. במקרה זה:

שם תלמיד ->-> גדולשם תלמיד->-> ספורט

זה נקרא "Student_Name multidetermines הגדולות" ו "Student_Name multidetermines ספורט".

תלות רב-תכליתית דורשת תמיד לפחות שלוש תכונות משום שהיא מורכבת משני מאפיינים לפחות התלויים בשליש.

תלות ונורמליזציה רב - תחומיים

טבלה עם תלות רב-תכליתית מפרה את הנורמליזציה של תקן Normal Form (4NK) משום שהיא יוצרת יתירות מיותרות ותורמת לנתונים לא עקביים. כדי להביא את זה עד 4NF, יש צורך לשבור את המידע הזה לשני שולחנות.

בטבלה הבאה יש תלות תפקודית של Student_Name -> Major, ולא תלות רב-תכליתית:

סטודנטים ומגיעים
שם תלמידגדול
ראביהיסטוריה של האמנות
ראביהיסטוריה של האמנות
ראביהיסטוריה של האמנות
ביתכימיה
ביתכימיה

בעוד טבלה זו יש גם תלות תפקודית אחת של Student_Name -> ספורט:

סטודנטים וספורט
שם תלמידספורט
ראביכדורגל
ראביכדורעף
ראביטניס
ביתטניס
ביתכדורגל

ברור שהנורמליזציה מטופלת לעתים קרובות על ידי פישוט טבלאות מורכבות, כך שהן מכילות מידע הקשור לרעיון או נושא יחיד, במקום לנסות ליצור טבלה אחת המכילה מידע רב מדי.