Upload
moanna
View
56
Download
3
Embed Size (px)
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ו-