Presentation is loading. Please wait.

Presentation is loading. Please wait.

מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים.

Similar presentations


Presentation on theme: "מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים."— Presentation transcript:

1 מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים

2 מסדי נתונים תשס " ג 2 פירוק לתבניות בצורת BCNF מעוניינים באלגוריתם יעיל ( זמן ריצה פולינומיאלי ) למציאת פירוק לתבניות בצורת BCNF מעוניינים שהפירוק יהיה חסר אובדן

3 מסדי נתונים תשס " ג 3 טענות בסיס טענה : כל סכימה שבה שתי תכונות בלבד היא בצורת BCNF – מדוע ? טענה : אם סכמה R אינה בצורת BCNF אזי קיימים שני אטריביוטים A ו -B ב -R, כך (R – AB)  A – מדוע ?

4 מסדי נתונים תשס " ג 4 אלגוריתם הפירוק הרעיון הכללי : – עבור תבנית R בודקים הפרה של צורת BCNF ( איך ?) – אם אין הפרה סיימנו, אחרת מפרקים את R לשתי תבניות Z–A ו - XA כך ש - –X  A – ואין Y  X כך ש -Y  A

5 מסדי נתונים תשס " ג 5 פרוצדורת הפירוק if Z contains no A and B such that A is in (Z-AB) + then return that Z is in BCNF and cannot be decomposed else begin find one such A and B; Y:=Z–B; while Y contains A and B such that A is in (Y-AB) + do Y:=Y–B; return the decomposition Z–A and Y; end

6 מסדי נתונים תשס " ג 6 תוכנית הפירוק Z:=R; repeat decompose Z into Z–A and XA, where XA is in BCNF and X  A; /* use the decomposition procedure */ add XA to the decomposition; Z:=Z–A; Until Z cannot be decomposed add Z to the decomposition

7 מסדי נתונים תשס " ג 7 דוגמה ניקח סכימה R=CTHRSG –C = course –T = teacher –H = hour –R = room –S = student –G = grade

8 מסדי נתונים תשס " ג 8 התלויות שיתקיימו C  T Each course has one teacher HR  C Only one course can meet in a room at one time HT  R A teacher can be in only one room at one time CS  G Each student has one grade in each course HS  R A student can be in only one room at one time

9 מסדי נתונים תשס " ג 9 הפעלת האלגוריתם הסכימה CTHRSG בודקים את הזוג CT: C  (HRSG) + עבור C בתפקיד A ו -T בתפקיד B מתחילים הורדת אטריביוטים מיותרים מ - Y=CHRSG –A=C B=H לא ניתן להוריד אטריביוט –A=R B=C גורם להורדת C מקבלים Y=HRSG – ממשיכים עד לזוג A=R B=G ומקבלים Y=HRS – לא ניתן להמשיך לפרק את Y

10 מסדי נתונים תשס " ג 10 הפעלת האלגוריתם מוסיפים HRS לפירוק וממשיכים עם Z=CTHRSG – R ממשיכים עם CTHSG: – עבור A=T B=H נשארים עם Y=CTSG – עבור A=T B=S נשארים עם Y=CTG – עבור A=T B=G משאיר Y=CT ואז Y בצורת BCNF מוסיפים את CT לפירוק וממשיכים עם Z=CSHG

11 מסדי נתונים תשס " ג 11 הפעלת האלגוריתם ממשיכים עם CHSG – עבור A=G B=H משאיר Y=CSG – לא ניתן להמשיך להוריד אטריביוטים ומוסיפים CSG לפירוק ממשיכים עם CHS –CHS בצורת BCNF כי לא ניתן למצוא זוג אטריביוטים שמראה אחרת

12 מסדי נתונים תשס " ג 12 הפירוק לפי האלגוריתם מקבלים את הסכימות HRS, CT, CSG, CHS האם יש שימור תלויות ? האם הפירוק הוא חסר אובדן ?

13 מסדי נתונים תשס " ג 13 בדיקת שימור תלויות מעונינים לבדוק בצורה יעילה האם פירוק הוא משמר תלויות נתונה סכימה R עם קבוצת תלויות F ופירוק של R: R 1, …, R n נסמן ב - F i את הצמצום של F ל - R i (F i = π R i (F)) מעוניינים לדעת האם F + = (  Fi) +

14 מסדי נתונים תשס " ג 14 בדיקת שימור תלויות האם בעקבות הפירוק יכולה להתווסף תלות שלא היתה לפני הפירוק ? לבדיקת שימור התלויות : – לכל תלות X  Y בודקים האם (  Fi) +  X  Y – בודקים על ידי חישוב X + ביחס לתלויות הנשמרות בפירוק

15 מסדי נתונים תשס " ג 15 הרחבה של קבוצת אטריביוטים בסכימה של הפירוק עבור קבוצה Z של אטריביוטים וסכימה R i ההרחבה של Z ביחס ל - R i היא הקבוצה : Z  ((Z  R i ) +  R i ) – הסגור מחושב ביחס ל -F

16 מסדי נתונים תשס " ג 16 בדיקת שימור תלות X  Y Z:=X while changes to Z occure do for i=1 to n do Z:= Z  ((Z  R i ) +  R i ) /* closure wrt F*/ if Y  Z return “yes” else return “no”

17 מסדי נתונים תשס " ג 17 דוגמה R=ABCD F={A  B, B  C, C  D, D  A} Decomposition {AB, BC, CD} האם יש שימור תלויות ?


Download ppt "מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים."

Similar presentations


Ads by Google