Presentation is loading. Please wait.

Presentation is loading. Please wait.

חורף - תשס " ג 236363- DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.

Similar presentations


Presentation on theme: "חורף - תשס " ג 236363- DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF."— Presentation transcript:

1 חורף - תשס " ג 236363- DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF בהינתן F אם לכל תלות פונקציונלית X  Y ב - F + כך ש - Y  X, X הוא מפתח - על של R או ש -Y מוכל במפתח קביל של R. פרוק ל -3NF מוגדר באופן דומה לפרוק ל -BCNF. צורה נורמלית שלישית היא דרישה חלשה יותר מ -BCNF: כל סכמה שנמצאת ב -BCNF היא אוטומטית גם ב -3NF, אך ההפך אינו בהכרח נכון.

2 חורף - תשס " ג 236363- DBMS, צורות נורמליות 2 דוגמה הסכמה ( עיר, קידומת, טלפון ) R איננה ב -BCNF בהינתן התלויות הפונקציונליות : F = { עיר  קידומת, ( קידומת, טלפון )  עיר } אבל היא ב -3NF: המפתחות הקבילים של הסכמה הם ( עיר, טלפון ) ו -( קידומת, טלפון ).

3 חורף - תשס " ג 236363- DBMS, צורות נורמליות 3 3NF - המשך BCNF מונעת יותר כפילויות בלתי רצויות מאשר 3NF. לא תמיד קיים פרוק משמר תלויות ל - BCNF, וגם אם קיים פרוק כזה, אין דרך קלה למצוא אותו. לעומת זאת, תמיד קיים פרוק ל -3NF שהוא משמר מידע ותלויות. יש אלגוריתם שמוצא פרוק משמר מידע ותלויות ל -3NF, אך כדי להשתמש בו יש להגדיר תחילה כיסוי מינימלי.

4 חורף - תשס " ג 236363- DBMS, צורות נורמליות 4 כיסוי מינימלי בקבוצת תלויות פונקציונליות עלול להיות " מידע מיותר ". דוגמה : שתי הקבוצות F = {X  YZ}, G = {X  Y, X  Z} הן " שקולות ", במובן ש - F + = G +. מטרה : להביא את כל הקבוצות השקולות של תלויות פונקציונליות לצורה אחידה. צורה זו נקראת הכיסוי המינימלי (minimal cover) של קבוצות התלויות.

5 חורף - תשס " ג 236363- DBMS, צורות נורמליות 5 כיסוי מינימלי - הגדרה הגדרה : תהי F קבוצת תלויות פונקציונליות. F היא מינימלית אם לכל תלות X  Y  F מתקיימות שלש הדרישות הבאות : 1.|Y| = 1 2.F +  (F \ {X  Y}) + 3. לכל Z  X מתקיים F +  (F \ {X  Y}  {Z  Y}) +

6 חורף - תשס " ג 236363- DBMS, צורות נורמליות 6 כיסוי מינימלי - המשך במקום לחשב את F + כדי לבדוק אם קבוצת תלויות F היא מינימלית, אפשר לבצע את הבדיקות הבאות : – עבור תנאי 2 : נבדוק F’  X  Y ( כאשר F’ = F\ {X  Y} ) או ש - Y  X + F’. – עבור תנאי 3 : נבדוק ש - F’  (X \ B)  Y או ש - Y  (X \ B) + F’ הגדרה : תהי F קבוצת תלויות פונקציונליות. כיסוי מינימלי (minimal cover) של F ( סימון :F C ) הוא קבוצת תלויות פונקציונליות כך ש -F C מינימלית ו - F + = F C +. הכיסוי המינימלי אינו בהכרח יחיד.

7 חורף - תשס " ג 236363- DBMS, צורות נורמליות 7 אלגוריתם למציאת כיסוי מינימלי תהי F קבוצת תלויות פונקציונליות : G  {(X  A) | (  Y)((X  Y)  F  A  Y)}; Repeat –For each f = X  A  G do if A  X + G’ (where G’ = G\ {f}) then G  G’; –For each f = XB  A  G do if A  X + G then G  G \ {XB  A}  {X  A} ; until no more changes to G

8 חורף - תשס " ג 236363- DBMS, צורות נורמליות 8 אלגוריתם לפרוק סכמה R ל -3NF בהינתן קבוצה מינימלית של תלויות פונקציונליות F: 1. אם קיימת ב -F תלות פונקציונלית שכוללת את כל התכונות ב -R, התשובה היא {R} - עצור. 2. לכל קבוצת תלויות פונקציונליות X  A n X  A 2,…, X  A 1, התלויות באותו X, צור סכמה XA 1 A 2...A n. 3. אם אין אף סכמה המכילה מפתח קביל של R, הוסף סכמה שהיא מפתח קביל כלשהו של R. הפרוק שאלגוריתם זה מוצא הוא משמר מידע ותלויות.

9 חורף - תשס " ג 236363- DBMS, צורות נורמליות 9 פירוק ל -3NF – דוגמה דוגמה : נתון : R(dname, daddr, id, pname, paddr, pres_no, date, med_name, qnt) F = { dname  daddr, id  pname, id  paddr, id  dname, pres_no  date, pres_no  id, (pres_no, med_name)  qnt} 1. לא קיימת ב -F תלות פונקציונלית המכילה את כל התכונות ב -R. 2. ניצור סכמות לפי התלויות הפונקציונליות : R 1 (dname, daddr) R 2 (id, pname, paddr, dname) R 3 (pres_no, date, id) R 4 (pres_no, med_name, qnt) 3.R4 כוללת את המפתח הקביל (pres_no, med_name), ולכן אין צורך להוסיף עוד סכמה.


Download ppt "חורף - תשס " ג 236363- DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF."

Similar presentations


Ads by Google