Professional Documents
Culture Documents
NormalForms
NormalForms
1
פירוקים
נניח שלפנינו יחס ] R[Uבעל סכמה }.U={A1,…,An
פירוק של הסכמה Uהוא קבוצה של סכמות U1,…,Utשעבורן
מתקיים .U1 … Ut=U
אנו נרצה לאתר פירוקים שישמרו מידע לכל תוכן אפשרי של R
המציית לתלויות הפונקציונליות הנובעות מניתוח דרישות המערכת.
לכן נרצה לנסח תנאים עבור שימור מידע הנובעים מקבוצת התלויות
הפונקציונליות.
2
דוגמה לפירוק
גודל צבע חיה נבחן את היחס הבא:
גדול שחור סוס
=T
גדול שחור חתול
קטן שחור חתול
הפירוק הבא אינו משמר מידע:
גודל צבע צבע חיה
= T1 גדול שחור = T2 שחור סוס
קטן שחור שחור חתול
4
משפט
אם ] R[Uהוא יחס עם סכמה Uהמקיים את קבוצת
התלויות ,Fאז הפירוק } { U1,U2של Uהוא משמר מידע
(עבור כל תוכן אפשרי של )Rאם ורק אם U1U2הוא
מפתח-על עבור U1Rאו עבור ( U2Rאו עבור שניהם).
5
הוכחה כיוון ראשון
נניח ש U1U2 -הוא מפתח-על עבור ,U2Rז"א שמתקיים
( F⊢U1U2U2ההוכחה עבור המקרה F⊢U1U2U1זהה).
6
הוכחה כיוון שני
נניח בשלילה שלא מתקיים F⊢U1U2U1ולא ,F⊢U1U2U2
ונבנה תוכן אפשרי עבור ] R[Uהמקיים את Fושעבורו הפירוק אינו
משמר מידע.
7
הוכחה כיוון שני (המשך)
נבחר עתה עבור Rקבוצה בת שתי שורות t1 :תקבל את הערך ""0
על כל תכונות ,U1Vואת הערך " "1על תכונות ,U2\V
ו t2-תקבל את הערך " "0על ,U2Vואת הערך " "1על .U1\V
8
פירוקים למספר סכמות
בהינתן פירוק U1,...,Ukעבור יחס ] ,R[Uפירוק זה ישמר מידע אם
ורק אם ניתן להציגו כתוצאה של סידרת פירוקים משמרי מידע שכל
אחד מהם הוא פירוק לשתי קבוצות.
9
תלויות פונקציונליות ויתירות
תלות פונקציונלית XYעבור יחס ] R[Uיכולה להעיד על יתירות,
שהרי אותם ערכים של " Yמשוכפלים" עבור כל קבוצת שורות ביחס
המסכימות ביניהן על .X
מסקנה :לכל יחס קיים פירוק משמר מידע ליחסים בBCNF -
(לאחד ,לשניים ,או ליותר).
12
שימור תלויות
קריטריון נוסף לטיב של פירוק הוא היכולת לבדוק את קיום התלויות
הפונקציונליות של המערכת מבלי להיזקק לשחזור מלא או חלקי של
היחס המקורי (ע"י צירופים) .אנו נעדיף פירוק שבו ניתן לבדוק את
קיום התלויות אך ורק ע"י בדיקה ישירה של הסכמות הנובעות
מהפירוק.
17
הוכחה – הפירוק הוא ב3NF-
בקבוצת התכונות Ukeyאין תלויות לא טריביאליות כלל (ולכן היא
אפילו ב .)BCNF-אחרת ,אם YZהיא תלות לא טריביאלית
הנובעת מ F-והמוכלת ב ,Ukey-אז הקבוצה ) Ukey \ (Z \ Yהיתה
מפתח-על עבור ,Rבסתירה להנחה ש Ukey-היא מפתח קביל.
20
תלויות רב-ערכיות – דוגמה
בדוגמת היחס הבא יש תלות רב-ערכית מ"-חיה" ל"-התנהגות",
אולם אין תלות כזו מ"-צבע" ל"-התנהגות".
21
נביעה של תלויות
בהינתן קבוצה של תלויות (פונקציונליות ו/או רב ערכיות) Fעבור
יחס ] ,R[Uנגיד שתלות X↠Yנובעת מ F-אם כל תוכן אפשרי של
היחס Rהמקיים את ,Fיקיים גם את .X↠Yבדומה נגדיר גם נביעה
של תלות XYמ( F-יתכן ש XY-תנבע מ F-מבלי שהיא תנבע
רק מהתלויות הפונקציונליות ב.)F-
22
הצורה הנורמלית הרביעית 4NF
עבור יחס ] R[Uוקבוצת תלויות (פונקציונליות ורב ערכיות) ,Fאנו
נאמר ש R -היא בצורה הנורמלית הרביעית ( )4NFאם עבור כל
תלות X↠Yאו XYהנובעת מ ,F-מתקיים או ( YXז"א שהתלות
טריוויאלית) או ש X -הוא מפתח-על עבור .R
מצד שני ,לכל יחס Rקיים פירוק משמר מידע (ללא שימור תלויות)
ליחסים בצורת .4NFלמעשה ,הגדרת התלות X↠Yשקולה להגדרה
"תוכן היחס תמיד מקיים )."R=(X∪YR)⋈(U∖(Y∖X)R
23
סוגי תלויות אחרים
התלויות שהוזכרו כאן אינן ממצות עדיין את כל סוגי התלויות שניתן
להיתקל בהן בתכנון של מסדי נתונים .נסקור כאן מספר סוגי תלויות
נוספים בקצרה.
25