מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים.

Slides:



Advertisements
Similar presentations
Ford Fulkerson. Ford-Fulkerson (N=(G, c, s, t)) ; G = (V, E) for each edge, while exists a path P from s to t in residual network N f do for each edge.
Advertisements

מבוא למדעי המחשב לתעשייה וניהול
©Silberschatz, Korth and Sudarshan4.1Database System Concepts סכימה לדוגמא.
טבלאות סמלים נכתב ע"י אלכס קוגן סמסטר חורף, תשס"ח.
צורה נורמלית של גרייבך הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
מתמטיקה בדידה תרגול 3.
1 Design Theory. 2 Let U be a set of attributes and F be a set of functional dependencies on U. Suppose that X  U is a set of attributes. Definition:
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
Power Consumption Awareness by using a Pedometer המעבדה לרשתות מחשבים המעבדה לרשתות מחשבים סמסטר אביב תשס " ח סמסטר אביב תשס " ח מנחים: איתי דברן – המעבדה.
עבודה סמינריונית Prelude to Ukkonen algorithm ON-LINE CONSTRUCTION OF SUFFIX TREES מגישים : עיד מוחמד טיבי פיראס.
אוטומט מחסנית הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 11.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
Map-Reduce Input: a collection of scientific articles on different topics, each marked with a field of science –Mathematics, Computer Science, Biology,
מחסני נתונים (Data Warehousing)
משפט ההרכבה Composition Theorem תהי C מחלקה של פונקציות בוליניות תהי נגדיר סדרת פונקציות שניתנות לחישוב בזמן פולינומיאלי.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
מרצה: פרופסור דורון פלד
מסדי נתונים תשס " ג 1 תכנון סכמות – אלגוריתם פירוק לתבניות בצורת BCNF מסדי נתונים.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תורת הקבוצות חלק ב'. קבוצה בת מניה הגדרה: קבוצה אינסופית X היא ניתנת למניה אם יש התאמה חד-חד ערכית בין X לבין .
צורות נורמליות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 10.
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
1 חישוב ואופטימיזציה של שאילתות חלק 2 Query Evaluation and Optimization Part 2.
מסדי נתונים תשס " ג 1 More on SQL קורס מסדי נתונים.
אביב תשס"ה DBMS, צורות נורמליות1 צורות נורמליות: 3NF,BCNF צורה נורמלית (Normal Form) היא תכונה של סכמה רלציונית, המודדת את "טיב" הסכמה מבחינת מניעת.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
1 צורה נורמלית למסמכי XML A Normal Form for XML Documents. Arenas & Libkin - PODS 02’ An Information-Theoretic Approach to Normal Forms for Relational.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
5. תלויות פונקציונליות שקפים: אלדר פישר
מבוא כללי למדעי המחשב תרגול 3. לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
צורה נורמלית – BCNF Boyce-Codd Normal Form
טיב פני שטח (טפ"ש) טיב פני שטח- רמת החלקות של המשטח.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
אביב-תשס"ה DBMS, Design1 פרוקים של רלציות מוטיבציה: פרוק סכמה לסכמות יותר קטנות על מנת למנוע כפילויות. הגדרה: תהי R סכמה רלציונית. פרוק של R הוא.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
משטר דינמי – © Dima Elenbogen :14. הגדרת cd ו -pd cd - הזמן שעובר בין הרגע שראשון אותות הכניסה יוצא מתחום לוגי עד אשר אות המוצא יוצא מתחום.
תזכורת : אלגברה ליניארית מסקנה קלט : וקטורים פלט : האם u תלוי ליניארית ב קלט : מערכת של n משואות לינאריות ב -m נעלמים. פלט : פתרון, או שאין כזה. אלגוריתם.
4 July 2007 נרמול מסד הנתונים כאשר מסד הנתונים עובר את שלב התכנון הראשוני יכולים להיווצר מספר בעיות בתכנון הנובעות מיתירות: אחת הבעיות הנפוצות ביותר במסדי.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
1 חישוב של אופרטורים רלציוניים Evaluation of Relational Operators.
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א.
עצים בינאריים - תזכורת דרגת צומת שורש עלה צומת פנימי מרחק בין 2 צמתים
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 5
1 Triggers: Correction. 2 Mutating Tables (Explanation) The problems with mutating tables are mainly with FOR EACH ROW triggers STATEMENT triggers can.
1 מבוא למדעי המחשב backtracking. 2 מוטיבציה בעיית n המלכות: נתון: לוח שחמט בגודל. המטרה: לסדר על הלוח n מלכות כך שאף אחת לא תאיים על השנייה. דוגמא: עבור.
- אמיר רובינשטיין מיונים - Sorting משפט : חסם תחתון על מיון ( המבוסס על השוואות בלבד ) של n מפתחות הינו Ω(nlogn) במקרה הגרוע ובממוצע. ניתן לפעמים.
תרגול מס ' 1: מבני נתונים – מבוא. כללי מבנה נתונים – דרך לארגן נתונים במחשב ולגשת אליהם. בקורס זה נלמד על מבני נתונים שונים אשר משמשים לבניית אלגוריתמים.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
תרגול 8 Skip Lists Hash Tables. Skip Lists Definition: – A skip list is a probabilistic data structure where elements are kept sorted by key. – It allows.
FAA FAA (int s, int val) { temp = s; s = s + val; return temp; }
מבוא למדעי המחשב סיבוכיות.
ניתוח זמן ריצה (על קצה המזלג)
4 July 2007 נרמול מסד הנתונים.
SQL בסיסי – הגדרה אינדוקטיבית
ניתוח זמן ריצה (על קצה המזלג)
תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 4
Marina Kogan Sadetsky –
ניתוח זמן ריצה (על קצה המזלג)
How to test Whether Subschemes in BCNF??
תיכון בסיס-נתונים יחסי
שיעור עשירי: מיונים, חיפושים, וקצת סיבוכיות חישוב
Fractional Factorial Design
Some slides are from Dr. Sara Cohen
Presentation transcript:

מסדי נתונים תשס " ג 1 תכנון סכמות (Design Theory) מסדי נתונים

מסדי נתונים תשס " ג 2 סגור של קבוצת אטריביוטים תהי R קבוצת אטריביוטים, F קבוצת תלויות פונקציונליות הסגור של X מסומן X + ומכיל את כל האטריביוטים ב -R שנגררים מ -X: X + = {A | F | = X  A} האם ניתן להחליף | = ב - |  ? מתי נרצה לחשב סגור של קבוצת אטריביוטים ?

מסדי נתונים תשס " ג 3 דוגמה R=ABCDE F={AB  C, CE  B, D  A, BC  E} –{A} + = –{A,B} + = –{B,D} + =

מסדי נתונים תשס " ג 4 Compute Closure( X, F ) 1.Set C := X 2.While there is a V  W in F such that V  C and W  C C := C  W 3.Return C אלגוריתם בסיסי לחישוב סגור

מסדי נתונים תשס " ג 5 סיבוכיות זמן ריצה סיבוכיות זמן ריצה : O( | X + | 2 ·| F | ) – מספר האיטרציות הוא לכל היותר כמספר האטריביוטים ב - X + – בכל איטרציה בודקים לכל היותר |F| תלויות – כל בדיקה היא ביחס ל -C שלא מכילה יותר אטריביוטים מ -X +

מסדי נתונים תשס " ג 6 אלגוריתם יותר יעיל יוצרים טבלה שבה שורה לכל ת " פ של F ועמודה לכל אטריביוט של R מוסיפים לטבלה עמודה של גודל (size) ועמודת זנב (tail) עבור כל תלות X  Y, בשורה של הת " פ רושמים –true בכל העמודות שהן אטריביוטים ב - X – את מספר האטריביוטים ב -X בעמודה size – את Y בעמודה tail

מסדי נתונים תשס " ג 7 טבלת דוגמה F = {A → C, B → D, AD → E} ABCDESizeTail A → C 1 C B → D 1 D AD → E 2 E

מסדי נתונים תשס " ג 8 Compute Closure(X, F, T) /* T is the table */ C := X Q := X While Q is not empty A := Q.dequeue() for i=1..|F| if T[i,A]=true then T[i,size] := T[i,size]–1 if T[i,size]=0, then Q := Q  (T[i,tail]\C) C := C  T[i,tail]

מסדי נתונים תשס " ג 9 חישוב AB + ABCDESizeTail A → C 1 C B → D 1 D AD → E 2 E Start: X + = {A,B}, Q = {A, B}

מסדי נתונים תשס " ג 10 חישוב AB + ABCDESizeTail A → C 0 C B → D 1 D AD → E 1 E Iteration of A: X + = {A,B,C}, Q = {B,C}

מסדי נתונים תשס " ג 11 חישוב AB + ABCDESizeTail A → C 0 C B → D 0 D AD → E 1 E Iteration of B: X + = {A,B,C,D}, Q = {C,D}

מסדי נתונים תשס " ג 12 חישוב AB + ABCDESizeTail A → C 0 C B → D 0 D AD → E 1 E Iteration of C: X + = {A,B,C,D}, Q = {D}

מסדי נתונים תשס " ג 13 חישוב AB + ABCDESizeTail A → C 0 C B → D 0 D AD → E 0 E Iteration of D: X + = {A,B,C,D,E}, Q = {E}

מסדי נתונים תשס " ג 14 חישוב AB + ABCDESizeTail A → C 0 C B → D 0 D AD → E 0 E Iteration of E: X + = {A,B,C,D,E}, Q = {}

מסדי נתונים תשס " ג 15 סיבוכיות ליעילות, נניח שיש מצביע מכל תא שמסומן true בטבלה לתא הבא באותה עמודה שמסומן true ABCDESizeTail A → C 1 C B → D 1 D AD → E 2 E

מסדי נתונים תשס " ג 16 סיבוכיות זמן ריצה החישוב נעשה ב - O( |F| + |X + | ) – עוברים על כל האטריביוטים של X + – מספר השינויים שנעשים בטבלה הוא לכל היותר כמספר האטריביוטים שמופיעים בצד שמאל של תלות ב -F למה האלגוריתם נכון ?

מסדי נתונים תשס " ג 17 מציאת מפתח נתונה סכימה R וקבוצת תלויות פונקציונליות F רוצים למצוא מפתח ( כלשהו ) עבור R אלגוריתם נאיבי : – עוברים על כל תת הקבוצות של אטריביוטים ב -R החל מהקבוצות הקטנות והמשך בקבוצות הולכות וגדלות – מסיימים כאשר מקבלים קבוצה שהסגור שלה הוא R למה האלגוריתם נכון ?

מסדי נתונים תשס " ג 18 האלגוריתם Compute Key(R, F) for i=1 to |R| for each subset X of R with i attributes if closure(X,F)=R Return X

מסדי נתונים תשס " ג 19 סיבוכיות מעריכית אם ב -R יש n אטריביוטים אז יש n!/(n-i)!i! אפשרויות לבחירת קבוצות בגודל i מ -R ומספר זה מעריכי בגודל הקלט רוצים אלגוריתם יעיל יותר הרעיון : להתחיל " מלמעלה "

מסדי נתונים תשס " ג 20 מציאת מפתח Compute Key(R, F) Set K := R While there is an attribute A such that F  = K-{A}  A K := K \{A} Return K

מסדי נתונים תשס " ג 21 דוגמא R=ABCDE F={AB  C, CE  B, D  A, BC  E} 1. בהתחלה K:=ABCDE 2. בגלל D  A מקבלים K:=BCDE 3. בגלל CE  B מקבלים K:=CDE 4. לא ניתן להוריד עוד אטריביוטים ולכן זהו מפתח

מסדי נתונים תשס " ג 22 זמן ריצה מחשבים סגור לכל היותר |R| פעמים ולכן זמן הריצה O(|R||F|) מדוע האלגוריתם נכון ?

מסדי נתונים תשס " ג 23 דוגמא למציאת פירוק R=ABCDE F={ABC  D, D  B, B  C, AD  BC} רוצים פירוק משמר תלויות, משמר מידע ובצורה נורמלית גבוהה ככל שניתן

מסדי נתונים תשס " ג 24 שלבים בפתרון מציאת כיסוי חסר כפילויות מציאת כל המפתחות מציאת צורה נורמלית יצירת פירוק בדיקת הצורה הנורמלית של הפירוק

מסדי נתונים תשס " ג 25 מחיקות במציאת כיסוי חסר כפילויות בדיקה ביחס ל - סכנהסוג מחיקה שימור בקבוצת התלויות אחרי המחיקה איבוד תלותתלות קיום בקבוצת התלויות לפני המחיקה יצירת תלות חדשה תכונה בצד שמאל

מסדי נתונים תשס " ג 26 פתרון כיסוי חסר כפילויות : F C ={AB  D, D  B, B  C} מפתחות : ABE, ADE צורה נורמלית : פחות מ -3NF פירוק : ABD, BC, ABE – פירוק משמר מידע – פירוק משמר תלויות – פירוק לתבניות בצורה נורמלית 3NF ( מדוע ?)

מסדי נתונים תשס " ג 27 דוגמה נוספת R=ABCDE F={BC  CD, A  CD, D  AB, E  BC} רוצים פירוק משמר תלויות, משמר מידע ובצורה נורמלית גבוהה ככל שניתן

מסדי נתונים תשס " ג 28 פתרון כיסוי חסר כפילויות : F C ={BC  D, D  A, D  B, A  C, A  D,E  B, E  B} מפתחות : E מפתח יחיד צורה נורמלית : פחות מ -3NF פירוק : ABCD, BCE – פירוק משמר מידע – פירוק משמר תלויות – פירוק לתבניות בצורה נורמלית BCNF ( מדוע ?)