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

Preview:

DESCRIPTION

תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 5. Design Theory for Relational Databases Part 5. מגבלות התיאוריה לתכנון סכמות למסדי נתונים יחסיים. תזכורת: סכמה בעייתית: הסכמה גורמת לשכפול מידע. היחס הסכמה היא SCT ומתקיימת הת"פ C → T מפרקים לשתי סכמות: SC ו- CT. Student Course - PowerPoint PPT Presentation

Citation preview

1

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

5חלק Design Theory for

Relational DatabasesPart 5

2

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

3

: בעייתית: סכמה תזכורתמידע לשכפול גורמת הסכמה

היחס

C → T ומתקיימת הת"פ SCTהסכמה היא CT ו- SCמפרקים לשתי סכמות:

SCT

CohenDBSmith

LevyOSJones

LevyDBSmith

StudentCourseTeacher

4

וגם מידע שכפול מונע הפירוק

מאפשר לשמור מידע חלקי אפשר לשמור מידע על סטודנט SCבסכמה

שלוקח קורס גם אם המורה של הקורס טרם נקבע

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

היינו צריכים SCTבסכמה המקורית כדי לשמור מידע NULLלהשתמש בערכי

חלקי

5

הבעיות של שימוש בערכי NULL בסכמה המקוריתSCT

ניסוח שאילתות עשוי להשתנות כאשר יש NULLערכי

מקשה על המשתמש

במפתחNULLאי אפשר לשמור ערך S הוא חלק ממפתח של הסכמה SCT ולפיכך

אי אפשר לשמור מידע חלקי על קורס ומורה לפני שהחלה הרשמת התלמידים

6

לסיכום

יש שני יתרונות בהשוואה CT ו- SCלפירוק SCTלסכמה המקורית

הפירוק מונע כפילויותהפירוק מאפשר שמירת מידע חלקי

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

מעל הסכמה המקורית

7

. לכן,OSדוגמה: אין עדיין מורה ל- , כך SCT עבור NULLS ללא rאין יחס

הם הטלות CT ו- SCשהיחסים עבור rשל

SC

CohenDB

LevyOS

LevyDB

CT

DBSmith

SCT

Cohen

DBSmith

LevyOSNULL

LevyDBSmith

8

השימוש בת"פ מגבלות

לכל הגזירות של אותה ת"פ חייבת להיות אותה משמעות

#E# → Eאי אפשר לקבוע שהת"פ מתקיימת במובן שמספר עובד קובע

את מספר העובד של המנהל שלו, כי → #Eכבר קיימת הת"פ הטריוויאלית

E#)קרי, מספר עובד קובע את עצמו(

9

נוספת דוגמה

R=EDPM-ו F = {E → D, E → P, D → M, P → M}

מהת“פE → Mאפשר לגזור את E → D -ו D → M

המשמעות היא "מנהל המחלקה של העובד"

מהת“פE → Mאפשר לגזור את E → P -ו P → M

המשמעות היא "מנהל הפרויקט של העובד"

Employee, Department, Project, Manager

10

מסקנה

R=EDPM-ו F = {E → D, E → P, D → M, P → M}

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

Mשם של האטריביוט

11

שם שינוי

בשני אטריביוטים חדשיםMנחליף את MDמנהל מחלקה

MPמנהל פרויקט

R=EDPMDMP -ו

F = {E → D, E → P, D → MD, P → MP}

12

E → Mאיך מקיימים את כשאין צורך לשנות שם?

R=EDPM-ו F = {E → D, E → P, D → M, P → M}

מקבלים את הפירוקR1=ED -ו F1 = {E → D}

R2=EP -ו F2 = {E → P}

R3=DM -ו F3 = {D → M}

R4=PM -ו F4 = {P → M}

זהו פירוק שמשמר את הת"פ )וגם ללא אובדן(

13

אינה E → Mדוגמה שבה הת"פ מתקיימת

בין חלקי מידע המצויים ביחסים שונים

שלו כל יחס מקיים את הת"פהפירוק משמר את הת"פ ומשמעות הדבר שהצירוף

הטבעי של כל היחסים מקיים את כל הת"פהצירוף הטבעי של כל היחסים ריק – חלקי המידע

הסותרים את הת"פ נעלמים כשלוקחים את הצירוף

ED

LevyCS

DM

CSDolev

EP

LevyOSPM

OSBarak

14

צירוף מינימלי ללא אובדן הכולל קבוצת אטריביוטים נתונה

של כל היחסים הנו ללא אובדן הצירוף ED ⋈ DM ⋈ EP ⋈ PM

נתבונן בצירופים הבאיםED ⋈ DM

EP ⋈ PM

EMאלה צירופים ללא אובדן שמכילים את במובן שאי מינימליכ"א מהצירופים האלה הנו

אפשר להשמיט את אחד היחסים מהצירוף ועדיין EMלקבל צירוף ללא אובדן שמכיל את

15

איך נקבל את כל המידע על EM?

ניקח את כל הצירופים המינימליים ללא אובדן EMשכוללים את האטריביוטים

EMנטיל כל אחד על וניקח את האיחוד, כלומר

⋃ EM)ED ⋈ DM()EP ⋈ PM(EM

בתוצאה הנ"ל נבדוק אם אין הפרה של הת"פM ו- Eכך גם נענה על שאילתה לגבי

16

לדוגמה נחזורקודמת

עםR=ABCנתונה הסכמה F = {AB → C, C → A}

נייצר את הסכמות:F1 = {AB → C} עם R1=ABCסכמה

F2 = {C → A} עם R2=ACסכמה

אבל C → A מתקיימת גם הת"פ R1למעשה ב- היא לא ניתנת באופן מפורש ע"י האלגוריתם, ואין

צורך לדעת זאת כדי להראות שימור הת"פ

Fi מציין את הת"פ

שממנה נוצר Ri אבל אינו ,

בהכרח כיסוי של כל הת"פ

המתקיימים Riב-

17

הסכמות שתי את לשמור טעם איןלסכמה– אותן לשלב עדיף

אחרתנניח ששומרים את שתי סכמות

F1 = {AB → C} עם R1=ABCסכמה

F2 = {C → A} עם R2=ACסכמה

R1 מתקיימת ב- C → Aעדיין צריך לוודא שהתלות

עדיף לחזור לסכמה המקוריתR=ABC -ו F = {AB → C, C → A}

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

הסכמות

18

שבו במקרה שוב נדוןשם שינוי לבצע צריך

בשני אטריביוטים חדשיםMנחליף את MDמנהל מחלקה

MPמנהל פרויקט

R=EDPMDMP -ו

F = {E → D, E → P, D → MD, P → MP}

19

?ISAאבל מה עם ה-

כדי לייצג Mעדיין יש צורך באטריביוט את קבוצת כל המנהלים

isa M MD

MP isa M

R=EDPMDMPM -ו

F = {E → D, E → P, D → MD, P → MP,

MD → M, MP → M{

שוב יש שתי גזירות E → Mשונות של

והבעיה לא נפתרה

20

אפשרי פתרון

, ISAנתעלם מהת"פ הנובעות מקשרי MP → M ו- MD → Mכלומר מהת"פ

ניתן להתעלם מהת"פ האלה, כי אין ל- Mצורך ביחס מיוחד המקשר בין

MD או בין M -ל MP

ערכים מאותו התחום MP ו- M, MDל- )למשל, מספר עובד(

21

פירוט ביתר הדוגמה

R=EDPMDMPMSS מציין מזכיר של המנהל

הת"פ הנןF = {E → D, E → P, D → MD, P → MP, M → S}

F -איננה כוללת את הת"פ הנובעות מקשרי הISAisa M MD

isa M MP

isa E MS isa E

22

נפעיל את האלגוריתם למציאת 3NFפירוק ב-

מקבלים את הפירוקR1=ED -ו F1 = {E → D}

R2=EP -ו F2 = {E → P}

R3=DMD -ו F3 = {D → MD}

R4=PMP -ו F4 = {P → MP}

R4=MS -ו F5 = {M → S}

, כי הערכים ISAאין צורך ביחסים עבור קשרי ה- באים כולם מהתחום E ו- MD, MP, M, Sבעמודות

הם קשרי ISAשל מספרי עובדים – לכן קשרי ה- הזהות

23

- ערכיות רב תלויותצירוף ותלויות

Multivalued Dependenciesand Join Dependencies

24

לפירוק שניתנת לסכמה דוגמהאובדן ללא

היחס

C → T ומתקיימת הת"פ SCTהסכמה היא CT ול- SCניתן לפרק ל-

SCT

CohenDBSmith

LevyOSJones

LevyDBSmith

StudentCourseTeacher

25

ניתנת שהסכמה ייתכן האם? " פ ת אף אין אם גם לפירוק

בין קורסים לסטודנטים קיים יחס של רבים לרבים

בין קורסים למורים תיתכנה מספר אפשרויות

לקורס יש תמיד יש מורה יחיד, כלומר ויש פירוק ללא אובדןC → Tמתקיימת הת"פ

לקורס יש מספר מורים – נדון במקרה הזה בשקפים הבאים

26

:' לומד תלמיד כל א אפשרותהמורים כל אצל

מספר מורים )אחד או יותר( מתחלקים ביניהם בהעברת הקורס

אם זה תמיד המצב, אז מהו בעצם ייצוג ?SCTנכון של הנתונים ביחס עבור הסכמה

CT ו- SCקל יותר לראות מה הייצוג הנכון ב-

SC

CohenDB

LevyDB

CT

DBJones

DBSmith

27

כל תלמיד בקורס לומד אצל כל מורה של שמייצג נכון את SCTהקורס, לכן היחס מעל

CT ו- SCהנתונים הוא בדיוק הצירוף של

SC

CohenDB

LevyDB

CT

DBJones

DBSmith

SCT

Cohen

DBSmith

Cohen

DBJones

LevyDBJones

LevyDBSmith

⋈ =

28

במקרה שתיארנו מתקיימת C →→ Tהתלות הרב-ערכית

פירושה C →→ Tהתלות הרב-ערכית שלכל קורס יש קבוצת מורים שאינה תלויה

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

בכל יחס שמקיים ⋈ CT)r( = r)r(SC

לכן אם היא מתקיימת )קרי, היחסים האפשריים הם רק אלה שמקיימים אותה(, אז הפירוק של

SCT-ל SC -ול CTהנו ללא אובדן

29

:' סטודנט בין המקשרת חוקיות אין ב אפשרותאותו שמלמדת המורים קבוצת לבין

ST ו- SC, CT ל- SCTהאם יתכן שהפירוק של הנו ללא אובדן?

נתונות העובדות הבאותמשה מלמד את לוי )אפשרי שיש ללוי מורים נוספים(

)וכמובן שהוא לומד גם בקורסים OSלוי לומד ב- אחרים(

OSמשה הוא אחד המורים של

משלושת העובדות האלה לא בהכרח נובע OSשמשה הוא מורה של לוי ב- SCTלכן, אין אפשרות לפרק את

30

אפשרות ג': יש חוקיות המקשרת בין מורה לסטודנט, אבל היא מצריכה הוספת

אטריביוט

הקורס מחולק לקבוצות, כאשר כל סטודנט שייך לקבוצה אחת ולכל קבוצה

מורה יחיד שמציין קבוצהGצריך להוסיף אטריביוט

F = {G → C, G → T} ו- R=SGCTלכן

31

היא ישות חלשהGסביר יותר ש- )המפתח שלה מורכב ממספר קבוצה וממספר

קורס(

והתלויות הןR=SGCTבמקרה זה F = {SC → G, CG → T}

נותן3NFפירוק ל- R1=SCG -ו F1 = {SC → G}

R2=CGT -ו F2 = {CG → T}

32

צירוף תלויות

אפשר להכליל את המושג של תלות רב-ערכית באופן הבא

Rאם אפשר לפרק ללא אובדן את , אז )Rn,…,R2 R1, )n≥1למספר סכמות

, Rn אומרים שמתקיימת תלות הצירוף ]… ,R2 R1,⋈ ]

מתי הדבר שימושי?

33

3NFבאלגוריתם לפירוק ל-

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

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

תלות רב-ערכית או תלות צירוף

34

לדוגמה

הם חלק מהאטריביוטים, שכל T, ו- S, Cנניח ש- אחד מייצג ישות אחרת ואין ביניהם ת"פ

יש אטריביוטים נוספים שמתארים את התכונות S → Nameשל ישויות אלה, לדוגמה

תהיינה שלוש סכמות, עבור 3NFלכן, בפירוק ל- , שהיא SCTשלושת הישויות, ובנוסף הסכמה

מפתח SC לפי תלות רב-ערכית ל- SCTניתן לפרק את

CTו-