Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 צורה נורמלית למסמכי XML A Normal Form for XML Documents. Arenas & Libkin - PODS 02’ An Information-Theoretic Approach to Normal Forms for Relational.

Similar presentations


Presentation on theme: "1 צורה נורמלית למסמכי XML A Normal Form for XML Documents. Arenas & Libkin - PODS 02’ An Information-Theoretic Approach to Normal Forms for Relational."— Presentation transcript:

1 1 צורה נורמלית למסמכי XML A Normal Form for XML Documents. Arenas & Libkin - PODS 02’ An Information-Theoretic Approach to Normal Forms for Relational and XML Data Arenas & Libkin - PODS 03’ עפ " י : טל הרמתי tal128@cs

2 2 סדר יום 1. הצגת הנושא 2. הגדרות: DTD ועצי XML, רשומות, תלויות פונקציונליות 2. הגדרות: DTD ועצי XML, רשומות, תלויות פונקציונליות 3. הצגת צורה נורמלית ל-XML 4. אלגוריתם נרמול 5. עוד על איכות תכנון מסדי נתונים ו-XML

3 3 סדר יום 1. הצגת הנושא 2. הגדרות: DTD ועצי XML, רשומות, תלויות פונקציונליות 2. הגדרות: DTD ועצי XML, רשומות, תלויות פונקציונליות 3. הצגת צורה נורמלית ל-XML 4. אלגוריתם נרמול 5. עוד על איכות תכנון מסדי נתונים ו-XML

4 4 עקרונות תכנון מסדי נתונים מבוססי XML התיאוריה הנוגעת לתכנון מסדי נתונים יחסיים וצורות נורמליות הינה מתקדמת ביותר. מטרת המסמכים: להציג בסיס תיאורטי מקביל לנושא תכנון טוב של מסמכי XML. 1. הצגת הנושא

5 5 כמו במסד יחסי, מסמכי XML יכולים להכיל מידע מיותר (redundant) ומצבים אנומליים של עדכון. במסד יחסי – נמנע ע"י סכמה מתוכננת היטב. במסמך XML – אפשר להתייחס ל-DTD כסכמה. אנחנו נתמקד ב-DTD כמנגנון להגדרה של מבנה מסמכי XML. המטרה: למצוא מנגנון שיבחן מסמכי DTD ויאפשר להמיר אותם למסמכים בנויים היטב 1. הצגת הנושא

6 6 יתירות ואנומליות עדכון – ב-DB יחסי St1 St2 St1 S. No 7.5 Smith SDBI 8JonesSDBI 9SmithDB GradeS. NameCourse יתירות S.No  S.Name תלויות פונקציונליות : Course + S.No  Grade St1 St2 St1 S. No 7.5SDBI 8 9DB GradeCourse הפתרון : BCNF St1 St2 St1 S. No Smith Jones Smith S. Name

7 7 1. הצגת הנושא יתירות ואנומליות עדכון – במסמכי DTD

8 8 1. הצגת הנושא יתירות ואנומליות עדכון – במסמכי DTD מקרא אלמנט ושמו אטריביוט ושמו בן יחיד ריבוי בנים קשר הכרחי courses course titletaken_by cno student namegrade sno title cn o יתירות

9 9 1. הצגת הנושא חזרה למסמך ה-DTD יתירות

10 10 1. הצגת הנושא הפתרון- הוספת אלמנט חדש

11 11 1. הצגת הנושא ה-DTD אחרי השינוי

12 12 1. הצגת הנושא דוגמא נוספת – ספריית מאמרים בכנסים <!ATTLIST inproceedings key ID #REQUIRED pages CDATA # REQUIRED year CDATA # REQUIRED > הבעיה : כל המאמרים באותו issue חייבים להיות באותה שנה ( יתירות ) הפתרון : הזזה

13 13 1. הצגת הנושא פתרון של הזזת attribute <!ATTLIST inproceedings key ID #REQUIRED pages CDATA # REQUIRED >

14 14 סדר יום 1. הצגת הנושא 2. הגדרות: DTD ועצי XML, רשומות, תלויות פונקציונליות 2. הגדרות: DTD ועצי XML, רשומות, תלויות פונקציונליות 3. הצגת צורה נורמלית ל-XML 4. אלגוריתם נרמול 5. עוד על איכות תכנון מסדי נתונים ו-XML

15 15 DTD (Document Type Definitions) 2. הגדרות: DTD DTD = (E,A,P,R,r) E – אלמנטים A – אטריביוטים P – מיפוי אלמנטים ( לביטוי רגולרי ) R – מיפוי חלקי לאטריביוטים r – השורש {courses, course, title, taken_by, student, name, grade } { cno, sno } {(courses  course), (course  title), (course  taken_by), (title  S), (taken_by  student), (student  name), (student  grade), (name  S), (grade  S) } S S S {(course  cno), (student  sno) }courses  E

16 16 Path in DTD 2. הגדרות: DTD מסלול – w מילה ( ביטוי רגולרי ) שבה האות הראשונה היא השורש, כל אות w i נמצאת בשפה של P(w i-1 ) והאות האחרונה בשפה של הקודמת או אטריביוט של האות הקודמת Length(w) – אורך מסלול = n Last(w) – אות אחרונה = w n דוגמאות : courses courses.course.taken_by courses.course.taken_by.student.grade.S courses.course.@cno S Length(w) = 1 Last(w) = courses Length(w) = 3 Last(w) = taken_by Length(w) = 6 Last(w) = S Length(w) = 3 Last(w) = @cno

17 17 מסלולים 2. הגדרות: DTD paths(D) – אוסף כל המסלולים ב -D. EPaths(D) – אוסף כל המסלולים ב -D שמסתיימים באלמנט ( ולא ב -S או באטריביוט )

18 18 XML tree 2. הגדרות: עץ XML

19 19 XML tree 2. הגדרות: עץ XML T = (V,lab,ele,att,root) V – קודקודים lab-(label) מיפוי קודקודים לשמות אלמנטים ele- צלעות בין 2 קודקודים או קודקוד וטקסט att- אטריביוטים של קודקודים ( מיפוי חלקי ) r – השורש {1, 1.1, 1.1.1, 1.1.@cno, … } {(1  courses), (1.1  course), … }{(1  1.1), (1.1  1.1.1), (1.1.1  “ DB") … }{((1.1, cso)  “ DB"), ((1.1.2.1, sno)  "st1") }

20 20 Paths in XML tree 2. הגדרות: עץ XML מסלול – w מילה ( ביטוי רגולרי ) שבה האותיות הן אלמנטים והאות האחרונה היא אלמנט או אטריביוט או טקסט. w היא מסלול אם קיימים קודקודים שמתאימים לאותיות. האות הראשונה מתאימה לשורש וכל אות w i מתאימה ל -v i וכן v i הוא בן של v i-1. מסלול יכול להסתיים בקודקוד, באטריביוט או בטקסט של קודקוד. Paths(T) – אוסף כל המסלולים בעץ T.

21 21 קשר בין DTD ו-XML 2. הגדרות: עץ XML עץ T מציית ל -DTD D – אם יש התאמה מלאה. כל הקודקודים מוגדרים ב -E ויש התאמה של כל קודקוד ובניו. (T conforms to D) סימון : T ⊨ D. עץ T תואם ל -DTD D – אם ורק אם paths(T)  paths(D). (T is compatible with D) סימון : T ⊳ D.

22 22 יחסי הכלה בין עצים 2. הגדרות: עץ XML מוטיבציה – מעבר ממצב של עץ XML " מסודר " ( בנים של אותו קודקוד מסומנים לפי הסדר שלהם ) לעץ לא מסודר – שבו אין חשיבות לסדר הקודקודים. הכלה בין עצי XML – (subsumed) עץ יוגדר כמוכל בעץ אחר אם השורשים זהים, הקודקודים הם קבוצה חלקית של קודקודי העץ המכיל, יש התאמה בין ה -labels ובין האטריביוטים, והבנים של כל קודקוד הם פרמוטציה של הבנים מהעץ המכיל. סימון : T 1 ⋞ T 2. עצים שווי ערך (equivalent) אם T 1 ⋞ T 2 וגם T 2 ⋞ T 1. סימון : T 1 ≡ T 2. עצים הם שווי ערך אם ורק אם הם אם שווים כעצים לא מסודרים.

23 23 רשומות (tree tuples) 2. הגדרות: רשומות רשומות מוגדרות ביחס ל -DTD. רשומה t ב -DTD D היא פונקציה מ -paths(D) ל - קודקודים ∪ טקסט ∪ NULL המקיימת : t(r) ≠ NULL לכל p  EPaths(D) t(p) הוא קודקוד או NULL. לכל p  paths(D)-EPaths(D) t(p) הוא טקסט או NULL. אם t(p 1 )=t(p 2 ) והם קודקודים אז p 1 =p 2. אם t(p 1 )=NULL ו-p 1 היא קידומת של p 2 אז t(p 2 )=NULL. סימונים: T(D) – אוסף כל הרשומות ב-DTD. t.p – רשומה t המתאימה למסלול p.

24 24 דוגמא לרשומה 2. הגדרות: רשומות S S S t(courses)=1 t(courses.course.@cno)=“67506” t(courses.course.title)=1.1.1 t(courses.course.taken_by. Student.name.s)=“Jones” 

25 25 עוד דוגמא לרשומה 2. הגדרות: רשומות t1t1 t2t2 t 1  t 2 אם כשמוגדר t 1.p מוגדר גם t 2.p וכן t 1.p ≠NULL  t 1.p=t 2.p. t 2 מקסימלית ביחס ל-יחס ההכלה 

26 26 עץ XML ורשומות מקסימליות 2. הגדרות: רשומות tree D (t) - עץ XML שנבנה מתוך רשומה t. למעשה בדוגמא בנינו עץ XML מרשומה. טענה: אם t  T(D) אז tree D (t) ⊳D (העץ תואם ל-DTD). הגדרה חשובה : tuples D (T ) בהינתן DTD D ועץ XML T שתואם ל-D: אוסף של רשומות מכסימליות (במונחי  ) המקיימות tree D (t) ⋞ T.

27 27 דוגמא לעץ ורשומות 2. הגדרות: רשומות tuples D (T) לא שייך כי אינו מקסימלי

28 28 בניית עץ XML מאוסף של רשומות 2. הגדרות: רשומות תזכורת: tuples D (T ) בהינתן DTD D ועץ XML T שתואם ל-D: אוסף של רשומות מכסימליות (במונחי  ) המקיימות tree D (t) ⋞ T. אבחנה : tuples D (T) תת קבוצה סופית של T(D). הגדרה : trees D (X)בהינתן DTD D ואוסף X  T(D) של רשומות: העץ המינימלי T (במונחי ⋞ ) המקיים : - T ⊳ D ( תואם ל-D). - כל רשומה ב-X מוכלת בו.

29 29 trees D (X) - דוגמא 2. הגדרות: רשומות tree D (t 1 ) tree D (t 2 ) X={ t 1, t 2 } trees D (X)

30 30 משפט 2. הגדרות: רשומות בהינתן DTD D ועץ XML T – אם T ⊳D אז trees D (tuples D ([T]) = [T]. ([T] – מחלקת שקילות של עצים לא מסודרים) משמעות: אפשר לבנות מחדש עץ XML מאוסף הרשומות המקסימליות שלו, עד כדי שקילות (במונחי עצים לא מסודרים). הערה: השוויון ההפוך לא מתקיים. מתקיים X  tuples D trees D (X). (כי X לא חייב להכיל רשומות מקסימליות ויכול לכלול רשומות המוכלות זו בזו).

31 31 תלויות פונקציונליות 2. הגדרות: תלויות פונקציונליות ההגדרה מתבססת על רשומות. תלות פונקציונלית (functional dependency) ( ת " פ ) מעל D היא ביטוי מהצורה S 1  S 2, כאשר S 1 ו - S 2 הם קבוצות חלקיות לא ריקות של paths(D). סימון : אוסף כל הת " פ מעל D מסומן FD (D).

32 32 תלויות פונקציונליות (המשך) 2. הגדרות: תלויות פונקציונליות נתון : ת " פ S 1  S 2 ; T עץ XML תואם D ; S 2  paths(D) ∪ S 1. T מקיים את הת " פ ( סימון : T ⊨ S 1  S 2 ) אם לכל שתי רשומות t 1,t 2  tuples D (T) t 1. S 1 =t 2. S 1 וגם t 1. S 1 ≠NULL  t 1. S 2 =t 2. S 2. סימונים : T ⊨Σ עבורΣ  FD (D) אם T⊨σ עבור כל σ  Σ. T ⊨( D,Σ) אם T ⊨ D וגם T ⊨ Σ.

33 33 תלויות פונקציונליות - דוגמא 2. הגדרות: תלויות פונקציונליות 1.courses.course.@cno → courses.course. משמעות - @cno מפתח של קורס. 2.courses.course.taken_by.student.@sno → courses.course.taken_by.student משמעות - שני סטודנטים שונים באותו קורס לא יכולים להיות עם אותו מספר סטודנט. 3.courses.course.taken_by.student.@sno → courses.course.taken_by.student. Name.S משמעות - שני סטודנטים בעלי אותו מספר סטודנט חייבים להיות בעלי אותו שם. S

34 34 גזירת תלויות פונקציונליות 2. הגדרות: תלויות פונקציונליות נתון : DTD D ; קבוצת ת " פ Σ  FD (D) ; ת " פ β  FD (D). נאמר ש -(D, Σ) גוזר את β אם כל עץ שתואם D ומקיים את Σ ( T ⊨( D,Σ) ) מקיים גם את β. סימון : (D, Σ) ⊢β. אוסף כל הת " פ הנגזרות מ - (D, Σ) נקראות הסגור של Σ ומסומנות (D, Σ) +. חישוב הסגור של ת " פ ב -XML הוא בעיה קשה, והיא מחוץ לגבולות המאמר.

35 35 תלויות פונקציונליות טריוויאליות 2. הגדרות: תלויות פונקציונליות בבסיס נתונים רלציוני – תלות טריוויאלית אחת : אם Y  X אז X  Y. ב -XML : ת"פ β טריוויאלית אם (D, ∅ ) ⊢ β. דוגמאות : לכל p  EPaths(D) ו -p’ שייך לקידומת של p: p  p’. לכל p,p.@ l  paths(D): p  p.@ l.

36 36 סדר יום 1. הצגת הנושא 2. הגדרות: DTD ועצי XML, רשומות, תלויות פונקציונליות 2. הגדרות: DTD ועצי XML, רשומות, תלויות פונקציונליות 3. הצגת צורה נורמלית ל-XML 4. אלגוריתם נרמול 5. עוד על איכות תכנון מסדי נתונים ו-XML

37 37 הגדרה – צורה נורמלית XNF 3. צורה נורמלית ל-XML XNF – XML Normal Form. בהינתן DTD D ו - Σ  FD (D), נגדיר ש- (D, Σ) הוא ב-XNF אם ורק אם לכל ת"פ לא טריוויאלית β  (D, Σ) + מהצורה S  p.@ l או S  p.S הת"פ S  p שייכת אף היא ל - (D, Σ) +. אינטואיציה : בכל העצים התואמים ל -D – לכל אוסף ערכי S נמצא ערך יחיד של p.@ l (או p.S). במקרה כזה נוכל לשמור אותו רק פעם אחת, ו- p.S נקבע ע"י (D, Σ). ( S  paths( D ); S ≠∅).

38 38 XNF – דוגמא 1 3. צורה נורמלית ל-XML 1.FD1:courses.course.@cno → courses.course. משמעות - @cno מפתח של קורס. מתקיים באופן מובנה שקביעת courses.course.@cno קובעת את courses.course. ולכן ת " פ זו עוברת את המבחן. באופן דומה : FD2:courses.course.taken_by.student.@sno → courses.course.taken_by.student

39 39 XNF – דוגמא 1 3. צורה נורמלית ל-XML אבל ! FD3:courses.course.taken_by.student.@sno → courses.course.taken_by.student. name.S ת " פ זו אינה גוזרת את התלות courses.course.taken_by.student.@sno → courses.course.taken_by.student.name  הסכמה אינה ב -XNF. S

40 40 XNF – דוגמא 2 3. צורה נורמלית ל-XML FD1:db.conf.title.S → db.conf. מתקיים db.conf.title.S → db.conf.title אבל : FD2:db.conf.issue → db.conf.issue.inproceeding.@year לא מתקיימת התלות הבאה : db.conf.issue → db.conf.issue.inproceeding  הסכמה אינה ב -XNF. S

41 41 XNF – דוגמא 2 3. צורה נורמלית ל-XML קל לראות שהתיקון שהוצע – הזזת האטריביוט של שנה – פותר את הבעיה ומעביר את הסכימה ל -XNF.

42 42 הקשר בין BCNF ו-XNF 3. צורה נורמלית ל-XML אפשר להעביר כל בסיס נתונים יחסי ל- DTD בצורה פשוטה. אפשר לייצג כל ת " פ מבסיס הנתונים היחסי כת " פ ב -DTD שיצרנו. טענה : סכמה יחסית היא ב -BCNF אם ורק אם הייצוג שלה כ -DTD עם הת " פ שהועתקו הם ב -XNF. כלומר – ניתן להוכיח שקילות בין הצורות הנורמליות.

43 43 סדר יום 1. הצגת הנושא 2. הגדרות: DTD ועצי XML, רשומות, תלויות פונקציונליות 2. הגדרות: DTD ועצי XML, רשומות, תלויות פונקציונליות 3. הצגת צורה נורמלית ל-XML 4. אלגוריתם נרמול 5. עוד על איכות תכנון מסדי נתונים ו-XML

44 44 מוטיבציה 4. אלגוריתם נרמול עד עכשיו ראינו דרכים לבדוק האם סכמת XML, המופיעה בצורת מסמך DTD, היא בצורה נורמלית. כלומר – מתוכננת היטב. המטרה : כאשר זיהינו סכמה שאינה מתוכננת היטב, למצוא דרך ( אוטומטית ) להעביר אותה לצורה מתוכננת היטב. הקושי : בהינתן אוסף ת " פ – למצוא את הסגור.

45 45 שתי דרכים לטיפול בבעיות 4. אלגוריתם נרמול 1. הזזת אטריביוט כמו בדוגמא של המאמרים בכנסים. 2. יצירת סוג אלמנט חדש כמו הדוגמא של הציונים בקורסים.

46 46 הזזת אטריביוט 4. אלגוריתם נרמול בהינתן DTD המכיל מסלולים p,q  EPaths(D) ו -p.@ l  paths(D) – הזזת אטריביוט יוצרת DTD חדש שבו האטריביוט מועבר מ -last(p) ל -last(q) ושמו משונה ל - q.@m. ההזזה כוללת גם טיפול בתלויות הפונקציונליות המתייחסות לאטריביוט שהועבר. r qp Last(p)Last(q) @l@l @m@m

47 47 הזזת אטריביוט - דוגמא 4. אלגוריתם נרמול שינוי הת " פ : לפני השינוי : FD2:db.conf.issue → db.conf.issue.inproceeding.@year אחרי השינוי : FD2:db.conf.issue → db.conf.issue.@year ( ת " פ טריוויאלית )

48 48 יצירת סוג אלמנט חדש 4. אלגוריתם נרמול בהינתן DTD המכיל מסלולים p,p 1 …p n,q  EPaths(D) ו -p.@ l, p i.@ l  paths(D) – אנו יוצרים DTD חדש שבו אלמנט חדש t מתחת ל -last(q), יוצרים לו ילדים t n... t 1 עם אטריביוטים l n @...@ l 1 ומעבירים אליו את האטריביוט @ l. ההזזה כוללת גם טיפול בתלויות הפונקציונליות המתייחסות לאטריביוט שהועבר. r qp1p1 Last(p 1 ) Last(q) @l1@l1 pnpn Last(p n ) @ln@ln … p Last(p) @l@l t … @l1@l1 @ln@ln @l@l t1t1 tntn

49 49 4. אלגוריתם נרמול יצירת אלמנט חדש - דוגמא שינוי הת " פ : לפני השינוי : FD3:courses.course.taken_by.student.@sno → courses.course.taken_by.student. name.S אחרי השינוי : FD3:courses.info.number.@sno → courses.info.name.S ת " פ זו גוזרת את התלות courses.info.number.@sno → courses.info.name

50 50 האם הפעלת השיטות הנ"ל מקדמת אותנו? 4. אלגוריתם נרמול טענה : בכל צעד באחת משתי השיטות ( הזזת אטריביוטים או יצירת אלמנט חדש ) מתקבל DTD שבו מספר האנומליות ( חריגות מ -XNF) קטן יותר. מסקנה : אלגוריתם המפעיל את השיטות הנ " ל מסתיים ובסיומו מתקבל DTD ב -XNF.

51 51 הצגת האלגוריתם 4. אלגוריתם נרמול 1)אם (D,Σ) ב-XNF אז החזר (D,Σ). אחרת- שלב 2. 2)אם יש ת"פ אנומלית שיכולה להיפתר על ידי הזזת אטריביוט (מוגדר במאמר במדויק) אז בצע הזזת אטריביוט וחזור לשלב 1. אחרת – שלב 3. (הערה- שלב זה מחייב חישוב סגור של (D,Σ). 3)בחר ת"פ אנומלית מינימלית ובצע יצירת אלמנט חדש. חזור לשלב 1. (ת"פ אנומלית מינימלית- כזו שאם נוריד ממנה מסלול אחד היא כבר לא תהיה אנומלית)

52 52 פירוק ללא אובדן 4. אלגוריתם נרמול פירוק ללא אובדן – אין אובדן של מידע במעבר מ -DTD ל -DTD. המאמר מגדיר אמצעי לבדוק האם הפירוק הוא ללא אובדן, וטוען שהפירוק על ידי האלגוריתם שהוצע הוא חסר אובדן. ההוכחה אינה מצויה במאמר – משאירה כר נרחב למחקר ופיתוח.

53 53 סיבוכיות אלגוריתם הנרמול 4. אלגוריתם נרמול האלגוריתם עושה שימוש ב - (D,Σ) + - הסגור של אוסף ת " פ. חישוב הסגור מחייב גזירת ת " פ, והוא המרכיב ה " כבד " ביותר בחישוב הסיבוכיות. הגדרה : DTD ייקרא פשוט אם כל הביטויים הרגולריים בהם הוא משתמש הם ביטויים פשוטים ( האותיות הן מהצורה a i, a i ?, a i + או a i * וכן a j ≠ a i עבור i ≠j). טענה : בעיית גזירת ת " פ וחישוב הסגור עבור DTD פשוט פתירה בזמן ריבועי.

54 54 סיבוכיות אלגוריתם הנרמול (המשך) 4. אלגוריתם נרמול מה לגבי DTD כלשהו ? המאמר טוען שכאשר מספר הביטויים הרגולריים שאינם פשוטים חסום – ניתן לחשב סגור בזמן פולינומיאלי. עם זאת, כאשר אין מגבלות על הביטויים הרגולריים האפשריים, חישוב הסגור הוא בעיה coNP שלמה.

55 55 סדר יום 1. הצגת הנושא 2. הגדרות: DTD ועצי XML, רשומות, תלויות פונקציונליות 2. הגדרות: DTD ועצי XML, רשומות, תלויות פונקציונליות 3. הצגת צורה נורמלית ל-XML 4. אלגוריתם נרמול 5. עוד על איכות תכנון מסדי נתונים ו-XML

56 56 מוטיבציה 5. מדדי איכות תכנון מסדי נתונים במסדי נתונים יחסיים ההגדרה של מסד מתוכנן היטב קלה יחסית להגדרה ואינטואיטיבית. הבעיות הן בעיקר יתירות מידע ואנומליות של עדכון. המצב שונה כשמדובר במבנים מורכבים כמו XML. מנגנוני עדכון למבנים כאלה אינם מפותחים דיים. הנושא היחיד ה " מובן " יחסית הוא יתירות המידע. במאמר עדכני (6/2003) מנסים המחברים לנסח פורמלית את הבעיה תוך שימוש בהגדרות מתורת האינפורמציה.

57 57 מבט כללי על מושגי יסוד 5. מדדי איכות תכנון מסדי נתונים הבסיס של תורת האינפורמציה הוא המושג של אנטרופיה, המודד את כמות המידע הניתנת על ידי מאורע כלשהו. אנטרופיה של התפלגות הסתברותית מייצגת את הערך הממוצע של מידע שמושג כאשר יודעים שאירוע כלשהו התקיים. אנטרופיה יחסית של B בהינתן A מייצגת את כמות המידע שניתן על ידי B כאשר ידוע ש -A קרה.

58 58 אנטרופיה ובסיס נתונים יחסי 5. מדדי איכות תכנון מסדי נתונים בבסיס נתונים יחסי עם יתירות מידע – המידע שמוסיף נתון " מיותר " הוא 0. המידע שמוסיף כל נתון אחר הוא חיובי. דוגמא : טבלת הציונים. St1 St2 St1 S. No 7.5 Smith SDBI 8JonesSDBI 9SmithDB GradeS. Name Course ניתן להגדיר מודל שבו אומדים את המידע הגלום בכל פריט מידע במאגר.

59 59 אנטרופיה ובסיס נתונים יחסי 5. מדדי איכות תכנון מסדי נתונים טענה : בסכמת בסיס נתונים יחסי הנמצאת ב -BCNF – כל פריט מידע ( כל נתון בכל רשומה ) נושא מידע גדול מאפס. המאמר מפתח מדדים לבחינת כמות המידע בכל פריט מידע ומראה שבסיס נתונים יחסי הנמצא ב -BCNF מגיע למדד מקסימלי.

60 60 אנטרופיה ו-XML 5. מדדי איכות תכנון מסדי נתונים ע " י שימוש באותו מדד מותאם ל -XML מוכיח המאמר שמסמך DTD הוא מתוכנן היטב אם המדד הוא מקסימלי. בעקבות הוכחה זו המאמר טוען שמסמך DTD הנמצא ב -XNF הוא מתוכנן היטב. המאמר עוד מוכיח שהמדד של מסמך DTD שנוצר על ידי הפעלת אלגוריתם הנרמול הוא מקסימלי.

61 61 סיכום הנושא של תכנון מסדי נתונים מבוססי XML הוא נושא מתפתח הכולל תחומים רבים שטרם מוצו. במסגרת ההרצאה פיתחתי את הנושא של תכנון טוב של מסמכי XML באמצעות ניתוח מסמכי DTD. המונחים המקבילים בעולם ה -XML לאלה של העולם היחסי הם מורכבים יותר ופחות אינטואיטיביים. עם זאת נעשה שימוש בהגדרות מקבילות של סכמה, רשומות, תלויות פונקציונליות, צורות נורמליות. הצגתי אלגוריתם המקבל DTD שרירותי ומחזיר DTD מתוכנן היטב בצורת XNF. יש מקום למחקר עתידי כמעט בכל נקודה במסמך.

62 62 תודה


Download ppt "1 צורה נורמלית למסמכי XML A Normal Form for XML Documents. Arenas & Libkin - PODS 02’ An Information-Theoretic Approach to Normal Forms for Relational."

Similar presentations


Ads by Google