תיכון בסיס-נתונים יחסי

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
C.1 Appendix C: Advanced Relational Database Design Reasoning with MVDs Higher normal forms Join dependencies and PJNF DKNF.
©Silberschatz, Korth and Sudarshan4.1Database System Concepts סכימה לדוגמא.
7.1 Chapter 7: Relational Database Design. 7.2 Chapter 7: Relational Database Design Features of Good Relational Design Atomic Domains and First Normal.
מתמטיקה בדידה תרגול 3.
מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
1 Formal Specifications for Complex Systems (236368) Tutorial #1 Course site : T.A. :Emilia Katz.
תחשיב הפסוקים חלק ג'. צורות נורמליות א. DF – Disjunctive Form – סכום של מכפלות. דוגמא: (P  ~Q  R)  (R  P)  (R  ~Q  ~P) הגדרה: נוסחה השקולה לנוסחה.
אביב תשס"ה DBMS, צורות נורמליות1 צורות נורמליות: 3NF,BCNF צורה נורמלית (Normal Form) היא תכונה של סכמה רלציונית, המודדת את "טיב" הסכמה מבחינת מניעת.
5. תלויות פונקציונליות שקפים: אלדר פישר
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
צורה נורמלית – BCNF Boyce-Codd Normal Form
תחשיב הפסוקים חלק ד'. תורת ההיסק של תחשיב הפסוקים.
אביב-תשס"ה DBMS, Design1 פרוקים של רלציות מוטיבציה: פרוק סכמה לסכמות יותר קטנות על מנת למנוע כפילויות. הגדרה: תהי R סכמה רלציונית. פרוק של R הוא.
4 July 2007 נרמול מסד הנתונים כאשר מסד הנתונים עובר את שלב התכנון הראשוני יכולים להיווצר מספר בעיות בתכנון הנובעות מיתירות: אחת הבעיות הנפוצות ביותר במסדי.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
תחשיב היחסים (הפרדיקטים)
תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 5
Boyce-Codd Normal Form By: Thanh Truong. Boyce-Codd Normal Form Eliminates all redundancy that can be discovered by functional dependencies But, we can.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
Chapter 7: Relational Database Design. ©Silberschatz, Korth and Sudarshan7.2Database System Concepts Chapter 7: Relational Database Design First Normal.
Chapter 8 Relational Database Design. 2 Relational Database Design: Goals n Reduce data redundancy (undesirable replication of data values) n Minimize.
Advanced Normalization
Chapter 15 Relational Design Algorithms and Further Dependencies
Schedule Today: Next After that Normal Forms. Section 3.6.
Relational Database Design
Module 5: Overview of Database Design -- Normalization
Database Design Dr. M.E. Fayad, Professor
Relational Database Design by Dr. S. Sridhar, Ph. D
Chapter 7: Relational Database Design
Relational Database Design
CS 480: Database Systems Lecture 22 March 6, 2013.
Plan for Today Normal forms
Relational Database Design
Advanced Normalization
Chapter 7: Relational Database Design
4 July 2007 נרמול מסד הנתונים.
SQL SQL הינה השפה הדומיננטית לטיפול בבסיסי נתונים יחסיים, אך לא קיים סטנדרט SQL יחיד. ׁ(SQL92, SQL3 …) ניתן לחלק את פקודות SQL לארבע משפחות: פקודות להגדרת.
Relational Design Theory
מערכות בסיסי נתונים ספרות Database System Concepts/ Korth, Siberschatz
אילוצי שלמות אילוצי תחום מפתחות ומפתחות זרים טריגרים triggers
מודל היחסים (Relational Model)
תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 4
Chapter 7: Relational Database Design
Review  Only two chapters (6 & 7) Normalization Theory Triggers.
Appendix C: Advanced Normalization Theory
Normal Form: 4 & 5.
Relational Design Theory
Chapter 7: Relational Database Design
Chapter 7: Relational Database Design
Designing Relational Databases
Relational Database Design
Chapter 7: Relational Database Design
Chapter 7: Relational Database Design
Third Normal Form.
Appendix C: Advanced Relational Database Design
Chapter 28: Advanced Relational Database Design
Chapter 7: Relational Database Design
Database Design Dr. M.E. Fayad, Professor
Presentation transcript:

תיכון בסיס-נתונים יחסי כיצד לבחור תבנית תפיסתית אופטימלית? מהם הקריטריונים לתבנית ‘אופטימלית’? הרעיונות יודגמו על המערכת הבנקאית עם תבניות היחסים Branch=(branch-name, assets, branch-city) Borrow=(branch-name, loan-number, customer-name, amount)

תבנית יחסים אחת לעומת תבניות אחדות במקום Branch=(branch-name, assets, branch-city) Borrow=(branch-name, loan-number, customer-name, amount) Lending=(branch-name, assets, branch-city, loan-number, customer-name, amount) מופע רגעי של היחס lending lending

כפילות מידע הזנה חלקית - ערכי דמה. עדכון - העדר קונסיסטנטיות, עדכון מרובה. מחיקה - מחיקת נתונים חלקיים (על חשבון חיסכון) עלולה לגרום למחיקת חלקים אחרים (פרטי הסניף).

פירוק משמר מידע (lossless join decomposition) תהי R תבנית יחסים. קבוצה של תבניות יחסים R1,R2,…Rn תיקרא פירוק של R אם: R= R1R2…Rn כלומר כל אחת מהתכונות בR מופיעה באחת התבניות Ri . יהי r יחס על התבנית R, ו ri הוא היחס המתקבל מהטלת היחס r על התבנית Ri , כלומר פירוק משמר מידע הוא פירוק המקיים לכל יחס חוקי r r=r1⋈r2 ⋈r3 … ⋈r n ri=Ri(r)

פירוק שאינו משמר מידע (lossy decomposition) פירוק התבנית Borrow Borrow=(branch-name, loan-number, customer-name, amount) לתת-התבניות Amt-scheme=(amount, customer-name) Loan-scheme=(branch-name, loan-number, amount) amt=amount, customer-name (borrow) loan= branch-name, loan-number, amount (borrow)

borrow amt loan

היחס loan ⋈ amt כולל שתי nיות שאינן קיימות ביחס המקורי. הפירוק של Borrow-scheme ל Amt-scheme ו Loan-scheme אינו משמר מידע (lossy join decomposition).

נירמול בעזרת תלויות פונקציונליות תכונות רצויות של תבנית בסיס-הנתונים פירוק משמר מידע (lossless-join decomposition). שימור תלויות (dependency preservation). העדר כפילות מידע (repetition of information).

פירוק משמר מידע משפט הפירוק: תהי R תבנית יחסים וF קבוצת תלויות פונקציונליות על R. יהי R1,R2 פירוק של R. פירוק זה יהיה פירוק משמר מידע אם לפחות אחת מהתלויות הפונקציונליות הבאות שייכת ל +F : R1R2 R1 R1R2 R2

דוגמא Lending=(branch-name, assets, branch-city, loan-number, customer-name, amount) R1 =(branch-name, assets, branch-city) R2 =(branch-name, loan-number, customer-name, amount) הפירוק משמר מידע כי הת"פ branch-name assets, branch-city חלה על R1

שימור תלויות (dependency preservation) היכולת לבדוק תלויות פונקציונליות מבלי לחשב צירופים טבעיים. תהי F קבוצה של תלויות פונקציונליות על תבנית R ויהי R1,R2…Rn פירוק של R. הצמצום (restriction) של F ל Ri היא הקבוצה Fi של תלויות פונקציונליות ב +F הכוללות תכונות השייכות ל Ri בלבד. ניתן לבדוק ביעילות את אוסף הצמצומים. הפירוק לעיל הוא פירוק משמר תלויות אם מתקיים (F1F2…Fn)+=F+ (תמיד מתקיים (F1F2…Fn)+F+ )

כפילות מידע פירוק Lending ל Borrow ול Branch מסיר חלק מכפילות המידע. (המידע אודות הסניפים הופרד מהמידע על חשבונות ההלוואה) הפירוק של Borrow ל Customer-loan ולLoan-info הפחית את כפילות המידע עוד יותר.

BCNF  היא ת”פ טריוויאלית. תבנית יחסים R היא ב BCNF ביחס לקבוצה F של ת”פ אם לכל ת”פ ב +F מהצורה  , כאשר , R , מתקיים לפחות אחד משני התנאים  היא ת”פ טריוויאלית.  הוא מפתח על של התבנית R. בסיס נתונים יחסי הוא ב BCNF אם כל התבניות בו הן ב BCNF.

אלגוריתם לפירוק משמר מידע ב BCNF result={R}; while ( result contains a scheme Ri that is not in BCNF) { let  F+ be a nontrivial functional dependency on Ri with  ,   Ri such that  is not a superkey of Ri and = ; result= (result- {Ri})  {(Ri - ) , (, ) }; }

3NF  היא ת”פ טריוויאלית. תבנית יחסים R היא ב 3NF, ביחס לקבוצה F של ת”פ אם לכל ת”פ ב +F מהצורה  , כאשר כאשר , Rמתקיים לפחות אחד משלושת התנאים  היא ת”פ טריוויאלית.  הוא מפתח על של התבנית R. כל תכונה A ב - שייכת למפתח קביל כלשהו של R. בסיס נתונים יחסי הוא ב3NF אם כל התבניות בו הן ב 3NF.

אלגוריתם לפירוק משמר מידע ומשמר תלויות ב 3NF Compute Fc , the canonical cover of F; result= ; for (each functional dependency  in Fc ) * if (none of the schemes in result contains  ) result= result  (, ) ; if (none of the schemes in result contains a candidate key for R ) result= result  any candidate key for R; * Loop on the fd’s of Fc in descending order of their size

נירמול באמצעות תלויות רב-ערכיות BC = (loan-number, customer-name, street, customer- city) customer-name  street, customer-city יחס חוקי על התבנית BC יחס לא חוקי על התבנית BC

הגדרה פורמלית תהי R תבנית יחסים ויהיו  ו  קבוצות כלשהן של תכונות מR. התלות הרב ערכית    מתקיימת על R אם לכל יחס חוקי r(R) לכל זוג nיות t1,t2r המקיים t1[]=t2[] קיימות nיות t3,t4r כך ש t1[]=t2[] = t3[]=t4[] t3[]=t1[] t3[R-]=t2[R-] t4[]=t2[] t4[R-]=t1[R-] (ניתן להתעלם מהדרישות על t4 שכן ניתן לקבלן מהחלפת t1 ו t2)    is a trivial MVD if    or if  =R

כללי הסק לתלויות רב-ערכיות Complementation rule: if    holds, then   R-- holds. Multivalued augmentation rule: if    holds and R and  , then    holds Multivalued transitivity rule: if    holds and    holds, then   - holds. Replication rule: if    holds, then    holds. Coalescence rule: if    holds and  and there is a  such that R and  and   , then    holds. rules (together with armstrong rules) - complete and sound.

כללי הסק נוספים ניתנים להוכחה מהכללים לעיל (+כללי ארמסטרונג) Multivalued union rule: If    holds and    holds, then    holds . Intersection rule: If    holds and    holds, then     holds Difference rule: if    holds and    holds, then   - holds.

4NF תבנית יחסים R היא ב 4NF ביחס לקבוצה D של תלויות פונקציונליות ותלויות רב-ערכיות אם כל תלות רב-ערכית   השייכת ל +D כאשר , R מקיימת לפחות אחד מהתנאים:   היא תלות רב-ערכית טריביאלית  הוא מפתח על של R . בסיס נתונים הוא ב 4NF, אם כל התבניות בו הן ב 4NF

משפט הפירוק (Fagin) תהי R תבנית יחסים ו D קבוצה של תלויות פונקציונליות ורב-ערכיות החלות עליה. יהיו R1 וR2 פירוק של R . פירוק זה מהווה פירוק משמר מידע אם ורק אם אחת מהתלויות הרב ערכיות הבאות שייכת ל +D R1  R2  R1 R1  R2  R2

אלגוריתם לפירוק משמר מידע ב 4NF result={R}; while ( result contains a scheme Ri that is not in 4NF) { let  be a nontrivial MVD that holds on Ri such that Ri is not in F+ and = ; result= (result- {Ri})  {(Ri - ) , (, )} ; }