29
1 תתתתתתתת תתתתת תתתתת תתתתת תתתתתת תתתתתת תתת2 Design Theory for Relational Databases Part 2

תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 2

  • Upload
    dahlia

  • View
    73

  • Download
    0

Embed Size (px)

DESCRIPTION

תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 2. Design Theory for Relational Databases Part 2. חזרה על מושג הגרירה. ת"פ X → Y מתקיימת ביחס r אם כל שתי רשומות ששוות על X הנן שוות גם על Y קבוצת ת"פ F גוררת ת"פ X → Y אם כל יחס שמקיים את F מקיים גם את X → Y - PowerPoint PPT Presentation

Citation preview

Page 1: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

1

תיאוריית תכנון סכמות למסדי נתונים יחסיים

2חלק Design Theory for

Relational DatabasesPart 2

Page 2: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

2

הגרירה מושג על חזרה

אם כל שתי r ביחס מתקיימת X → Yת"פ Y הנן שוות גם על Xרשומות ששוות על

אם כל X → Y ת"פ גוררת Fקבוצת ת"פ X → Y מקיים גם את Fיחס שמקיים את

F ⊨ X → Yהסימון של גרירה: , כלומר דוגמה נגדיתאם אין גרירה, אז יש

X → Y ואינו מקיים את Fיחס שמקיים את

Page 3: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

3

דוגמה של דוגמה נגדית

היחס

הוא דוגמה נגדית לגרירהA → B, B → C ⊨ C → A

ABC

111

001

Page 4: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

4

עוד דוגמה של דוגמה נגדית

היחס

הוא דוגמה נגדית לגרירהA → B, C → B ⊨ C → A

ABC

111

011

Page 5: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

5

" פ ת של השימושים

(constraints)ת"פ מבטאות אילוצים צריך לדאוג לכך שהנתונים האגורים במסד

הנתונים יקיימו את האילוציםבנוסף לכך, הת"פ )וגם אילוצים מסוגים

אחרים( מאפשרות לזהות סכמות בעייתיות

Page 6: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

6

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

דוגמה

למחלקה יש רק מנהל אחד אבל יש הרבה סטודנטים

לכן המידע על מנהל המחלקה נשמר עבור כל סטודנט השייך למחלקה

SDH

LevyCSRubin

Cohen

Math

Bush

BarakCSRubin

StudentDepartmentHead

Page 7: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

7

? מידע שכפול קיים מדוע

למחלקה יש רק מנהל אחד אבל יש הרבה סטודנטים

מתקיימת, אבל D → Hכלומר, הת"פ אינה מתקיימתD → Sהת"פ

SDH

LevyCSRubin

Cohen

Math

Bush

BarakCSRubin

StudentDepartmentHead

Page 8: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

8

... אחרות במילים

בדוגמה הקודמת מקור הבעיה הוא D → Hהת"פ

זוהי ת"פ שאמורה להתקיים ביחס, אבל צידה השמאלי איננו מפתח של

אינו קובע את כל Dהיחס )כלומר, (Hשאר האטריביוטים, אלא רק את

Page 9: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

9

? גרירה יש מתי לדעת חשוב מדוע

, קרי קבוצת אטריביוטיםRנתונה לנו סכמה שהיחסים האפשריים Fונתונה קבוצה של ת"פ

צריכים לקייםRעבור לא X → Y מקיימים ת"פ Rהאם היחסים עבור

טריוויאלית, שצידה השמאלי אינו קובע את כל ? אם כן, הסכמה בעייתיתRהאטריביוטים של

כך ש-Y ו- Xבאופן פורמלי, האם קיימים Y ⊊ X,F ⊨ X → Y -ו F ⊭ X → R

Page 10: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

10

- על ומפתח מפתח של הגדרה

בעזרת המושג של גרירה ניתן להגדיר באופן ומפתח-על (key)פורמלי מפתח

(superkey) מפתח-על, F וקבוצת ת"פ Rבהינתן סכמה

, כך X ⊆ R הוא קבוצת אטריביוטים Rשל F ⊨ X → Rש-

X אם מפתח הואF ⊨ X → R ואם אין Z ⊊ X -כך ש F ⊨ Z → R

מפתח הוא גם מפתח-על, אבל לא להפך

Page 11: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

11

) שנית ) בעייתית סכמה אפיון

, קרי קבוצת Rנתונה לנו סכמה אטריביוטים

R שהיחסים עבור Fונתונה קבוצה של ת"פ צריכים לקיים

לא X → Yהסכמה בעייתית אם קימת ת"פ ( כך ש-Y ⊊ Xטריוויאלית )קרי,

F ⊨ X → Y אינו מפתח-עלXו-

Page 12: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

12

סכמה בעייתית 1 :דוגמה

מקיימים שתי SDHהיחסים עבור הסכמה S → D ו- D → Hת"פ

S → D, D → H ⊭ D → S אינו מפתח-על של הסכמה Dלכן

SDH

LevyCSRubin

Cohen

Math

Bush

BarakCSRubin

StudentDepartmentHead

Page 13: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

13

סכמה בעייתית נוספת2:דוגמה

C → T קיימת הת"פ SCTעבור הסכמה

C אינו מפתח, כי C → T ⊭ C → S

SCT

LevyOSJones

CohenDBSmith

LevyDBSmith

LevyLogicWhite

StudentCourseTeacher

Page 14: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

14

? גרירה יש מתי נבדוק איך

אם אין דוגמה נגדיתF ⊨ X → Yיש גרירה לפיכך, נחפש דוגמה נגדית

יש אינסוף יחסים אפשריים עבור סכמה נתונה )בהנחה שהתחום של הערכים

המופיעים בעמודות הנו אינסופי(לפיכך, חיפוש דוגמה נגדית הוא תהליך

שאיננו בהכרח עוצר

Page 15: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

15

האקסיומות של ארמסטרונג

אם אזרפלקסיביות:אוגמנטציה )הוספה(:

אם אז טרנזיטיביות:

ZYאם ו- אז

YX

YX

XY

YX YZXZ

ZX

Page 16: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

16

אקסיומות נוספות

איחוד:אם ו- , אז

פירוק:אם , אז וגם

פסודו-טרנזיטיביות:ZYWאם ו- , אז

YX

YX

YX

ZXW

ZX YZX

YZX ZX

Page 17: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

17

" פ ת של גזירה

מהן ת"פ לגזור של ת"פ, ניתן Fבהינתן קבוצה נוספות בעזרת האקסיומות, לדוגמה תהי:

Fלהלן גזירה של מ- (F. )נתון ב- 1(AB עם 1. )אוגמנטציה של 2(F. )נתון ב- 3(ABC עם 3. )אוגמנטציה של 4(4 ו- 2. )טרנזיטיביות של 5

},{ DBCAF

ABCDAB

ABCDABC

DB

ABCAB

CA

ABCDAB

Page 18: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

18

גזירה של הגדרה

Fגזירה של ת"פ מקבוצה של ת"פ היא סדרה סופית של ת"פ,

שמקיימת את שני הדברים הבאים:נובעת , Fכל ת"פ בסדרה שייכת ל-

מרפלקסיביות או נובעת מת"פ קודמות בסדרה, לפי אוגמנטציה או טרנזיטיביות

בנוסף, הסדרה מסתיימת בת"פ

YX

YX

Page 19: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

19

האקסיומות של ושלמות נאותות

F ⊢ X → Y פירושו שיש גזירה של X → Y -מ F

F ⊨ X → Y פירושו שיש גרירה של X → Y -מ F

האקסיומות של ארמסטרונג הנן נאותות ושלמות, כלומר

F ⊨ X → Y ⇔ F ⊢ X → Y

Page 20: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

20

? גזירה יש האם נבדוק איך

המושגים של גרירה וגזירה הנם שקולים, ולכן במקום לבדוק האם יש גרירה אפשר

לבדוק האם יש גזירהיש מספר סופי של ת"פ שניתן לרשום בעזרת קבוצה סופית של אטריביוטים

ולכן, בהינתן קבוצה של ת"פ, יש מספר סופי של גזירות )בגזירה אין צורך לחזור על

אותה ת"פ פעמיים(

Page 21: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

21

F ⊢ X → Yאלגוריתם לבדיקה

נייצר את כל הסדרות האפשריות )ללא חזרות( של ת"פ, תוך שימוש

Fבאטריביוטים המופיעים ב- נבדוק עבור כל סדרה האם היא גזירה

F מ- X → Yשל עדיין יש מספר אקספוננציאלי של

גזירות אפשריות

Page 22: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

22

סגור של קבוצת אטריביוטים

של קבוצת אטריביוטים ביחס הסגורלקבוצת ת"פ , סימון , הוא

כלומר, קבוצת כל האטריביוטים כך שניתן לגזור את מ-

אם ברור מההקשר, אז מסמנים

}||{ AXFAX F

FX

XF

FA

AX FX

Page 23: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

23

הסגור של הלמה

- למה: אם ורק אם מ גזירהסגור הוכחה: של מההגדרה נובעת הלמה

. והפירוק האיחוד של ומהאקסיומות

FXY F YX

Page 24: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

24

3דוגמה

F = {A → C, B → D, DE → H, DK → G} ע"י חישוב F ⊢ ABK → HGנבדוק האם

+(ABK)הסגור

אם הצד השמאלי של ת"פ מוכל בסגור, אז גם הצד הימני מוכל בסגור

ABKנתחיל עם לסגור, ונקבל C נוסיף את A → Cבגלל ABKC

Page 25: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

25

(3דוגמה המשך )

F = {A → C, B → D, DE → H, DK → G}ABKנתחיל עם

לסגור, ונקבל C נוסיף את A → Cבגלל ABKC לסגור, ונקבל D נוסיף את B → Dבגלל

ABKCD לסגור, ונקבל G נוסיף את DK → Gבגלל

ABKCDG

Page 26: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

26

(3דוגמה המשך )

אף ת"פ נוספת שצידה השמאלי Fאין ב- מוכל בסגור, אבל צידה הימני עדיין אינו

מוכל בסגורABKCDGלפיכך, הסגור הוא

, F נגזרת מ- ABK → Gמסקנה: הת"פ F איננה נגזרת מ- ABK → Hאבל F איננה נגזרת מ- ABK → HGלכן,

Page 27: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

27

הסגור לחישוב אלגוריתם

X וקבוצת אטריביוטים Fנתונה קבוצה של ת"פ +Xורוצים לחשב את

V:=X, Y ⊆ V, כך ש- Y → Z ת"פ Fכל זמן שיש ב-

V := V ∪ Z, כלומר V ל- Zאז מוסיפים את זמן ריצה ריבועי

בעזרת מבנה נתונים מתאים, זמן ריצה לינארי

Page 28: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

28

האלגוריתם של נכונות הוכחת

ראשית מראים שהאלגוריתם נאות, כלומר אם האלגוריתם מוסיף

F ⊢ X → A לסגור, אז Aאטריביוט מראים זאת באינדוקציה על מספר

לסגור, Aהאיטרציה שבה מתווסף תוך שימוש באקסיומות

Page 29: תיאוריית תכנון סכמות  למסדי נתונים יחסיים חלק 2

29

) המשך ) נכונות הוכחת

הוכחה סינטקטית אז F מ-X → Yמראים שאם יש גזירה של

Yהאלגוריתם מוסיף את כל האטריביוטים של לסגור

ההוכחה באינדוקציה על אורך הגזירה

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

F ⊨ X → Yבסגור, אז יש דוגמה נגדית לגרירה