1 / 97

מערכות ניהול בסיסי נתונים

מערכות ניהול בסיסי נתונים. ד"ר שמעון כהן Version 1.2 הקריה האקדמית. מטרות הקורס. להבין את הצורך במערכת לניהול בסיסי נתונים להכיר את התיאוריה והמודלים השונים להבין את מבנה ודרכי העבודה של מערכת לניהול בסיס נתונים ללמוד לתכנן בסיסי נתונים "נכונים"/"שלמים" באנגלית Consistent

armani
Download Presentation

מערכות ניהול בסיסי נתונים

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. מערכות ניהול בסיסי נתונים ד"ר שמעון כהן Version 1.2 הקריה האקדמית

  2. מטרות הקורס • להבין את הצורך במערכת לניהול בסיסי נתונים • להכיר את התיאוריה והמודלים השונים • להבין את מבנה ודרכי העבודה של מערכת לניהול בסיס נתונים • ללמוד לתכנן בסיסי נתונים "נכונים"/"שלמים" • באנגלית Consistent • להבין כיצד עובדים עם מערכת לניהול בסיסי נתונים • הכנסת נתונים (Insert) , שינוי (Change) , מחיקה (Delete) • שפת SQL לביצוע שאילתות (הוצאת ידע מהנתונים)

  3. מבנה המצגת • מבוא עבור • ניתוח ועיצוב עבור • המודל הטבלאי עבור • אלגברה טבלאית עבור

  4. חומר הקורס החומר לפי סדר החשיבות: • דברי המרצה בכיתה • השקפים • ספר "בסיסי נתונים טבלאיים ושפת SQL" של רז הייפרמן • חומר באינטרנט דרך קשרים (Links)

  5. פרקים לקורס מהספר של רז הייפרמן

  6. מבנה הקורס • מטלות: • [4] ניתוח מודל נתונים • [8] ייצור בסיס נתונים ושאילתות • [11] תיאוריה מפגשים: • פתיחה ומבוא (פרק א) • המשך מבוא (פרק א) • ניתוח מודל נתונים (פרק ב) • ניתוח מודל נתונים (פרק ב) • מודלים (פרק ג וקצת פרק ד) • מודל טבלאי (פרק ד) • אלגברה טבלאית/רלציונית (פרק ה) • שפת SQL (פרק ו) • שפת QBE "לפי דוגמא" (פרק ז) • תיאוריה – תלויות (קצת מפרק ב) • תיאוריה – עיבוד מקבילי (קצת פרק א) • מודל טבלאי מתקדם (פרק ח) • נושאים מתקדמים (פרק ט)

  7. נושא ===== מבוא פרק א בספר

  8. נתוני הארגון • לכל ארגון משאבים שונים, אחד מהם הוא: • הנתונים (Data) והמיידע (Information) שבהם • מחלקת המיידע/המחשוב מטפלת בנתונים • נותנת שירותים לארגון וללקוחות שלו • ניסיון למחשוב (דיגיטציה)של "כל" הנתונים • צילומים, דפים, טפסים

  9. הארגון הנהלה שיווק ומכירות מחקר ופיתוח ייצור כספים כוח אדם לוגיסטיקה מחלקת המיידע נתונים לקוחות

  10. מטרות הארגון בטיפול בנתונים • נגישות (Accessibility) מהירהלכל הנתונים (למי שמותר) • ניצול הקשרים בתוך הנתונים • בטחון הגישה לנתונים (Data Security) • עדכון במקום אחד (מניעת סרבול בעדכון) • חסכון במקום, מניעת כפילויות (Duplications) • חסכון בפיתוח תוכנה • בטחון הקיום של הנתונים • שלמות הנתונים (Data Integrity) • אפשרות לעבודה במקביל (Parallel) • אפשרות לעבודה באופן מבוזר (Distributed) • קלות בתחזוקה (שדרוג הגדרות/מחשבים/דיסקים/תוכנה)

  11. תפקידי מערכת ניהול בסיסי נתונים • ניהול הנתונים בצורתם הגולמית (פיזית על הדיסק) • מתן שירותי תוכנה שיתנו תוקף למטרות

  12. משתמשי מערכת ניהול בסיסי נתונים המשתמשים: • מנהל בסיס הנתונים (Database Administrator) • תוכנה לניהול • משתמשי קצה (End Users) • ממשקים לתוכנה חיצונית לשימוש במיידע (הכתובה בשפת תכנות) • שפות: C++, Java, VB, Cobol • ממשקים (API: Application Program Interface) מערכת ה DBMS היא אובייקט (קופסא שחורה) ש: • מנהלת את עצמה ואין למשתמש אפשרות להתערב, אלא... • אפשר להגיש למערכת בקשות דרך ממשק שהיא מגדירה • נקרא: Controlled Access

  13. הגדרה:בסיס נתונים בסיס נתונים (DB: Data Base) • אוסף של סוגי נתונים שונים הקשורים ביניהם בקשרים לוגים דוגמא: • נתונים: מרצים, סטודנטים, קורסים, מבחנים, ציונים, עבודות • קשרים: • מרצה מלמד בקורס • סטודנט לומד בקורס • בחינה שייכת לקורס במועד מסויים • תלמיד ניגש לבחינה • התלמיד מקבל ציון בבחינה

  14. הגדרה: מערכת לניהול בסיסי נתונים מערכת לניהול בסיסי נתונים • באנגלית: DBMS: Data Base Management System • מערכת תוכנה המנהלת בסיס נתונים ומאפשרת גישה למספר רב של יישומים שונים בו זמנית • יישומים פרטיים/ביתיים:VB, Access, PowerBuilder • חברות ואינטרנט • Oracle, MS SQL Server, Sybase, Informix • חשיבות בסיסי נתונים בעולם עיבוד הנתונים / התוכנה? • חברת אורקל היא חברת התוכנה השניה בגודלה בעולם ולה "רק" מוצר אחד.

  15. הגדרה: מחולל יישומים מחולל יישומים (Applications Generator) • סביבת פיתוח המשלבת את כל הרכיבים הדרושים לפיתוח יישום מלא: • שפת תכנות / שפת סקריפט (Script Language) • שירותי עריכה (התכנית, מסכים, תפריטים ...) • הרצת היישום • ניהול הפרויקט • מערכת בסיס נתונים • למטרות כלליות:Access, Power Builder, VB, VC++ • מיוחד לצורכי ארגון – מערכת ERP • SAP, Baan, MRP

  16. דימוי: DBMS ושאר העולם

  17. מודל כללי של DBMS תוכנת בקרה יישום יישום יישום יישום תת סכמה תת סכמה תת סכמה סכמה סכמה פנימית נתונים נתונים נתונים ספר עמ 32

  18. הגדרה: סכמה פיזית סכמה פיזית: תאור המבנה הפיזי של הנתונים באנגלית:Physical Schema כלומר: • איפה נמצאים הנתונים (Storage Devices) • קבצים בהם נמצאים הנתונים/מיקום על הדיסק • צורת הארגון של הנתונים • שימוש באינדקסים

  19. סכמה פיזית סכמה פיזית:

  20. הגדרה: אינדקס אינדקס: מבנה נתונים המאפשר גישה מהירה למבנה נתונים אחר לפי שדה/ות מסוים/ים • נאמר: A הוא אינדקס של טבלה B לפי שדה F • אינדקס לטבלת הסטודנטים לפי מספר תעודת זהות • אינדקס לטבלת הסטודנטים לפי מספר סטודנט • אינדקס לטבלת הסטודנטים לפי שם משפחה ושם פרטי • צורה פנימית של אינדקס: עץ בינרי, עצי 2-3, Hash Table • מאפשר גישה מהירה = במקום N גישה ב Log2(N) • למשל • חיפוש בטבלה של 1000 איש ללא אינדקס בממוצע 500 צעדים • חיפוש בטבלה של 1000 איש עם אינדקס בממוצע 10 צעדים • חיפוש בטבלה של מיליון איש ללא אינדקס בממוצע חצי מליון צעדים • חיפוש בטבלה של מיליון איש עם אינדקס בממוצע 20 צעדים

  21. אינדקס - מבנה פיזי 545 789 321 845 567 212 932 811 278 178

  22. הגדרה: סכמה סכמה: התיאור הפורמלי המלא של כל הנתונים, הקשרים ביניהם והאילוצים הקיימים עליהם. באנגלית: Schema, Conceptual Schema, Global View • התיאור – "נתונים על הנתונים" נמצא גם בבסיס הנתונים • הפורמלי – לא כפוף לסכמה הפיזית (למשל: אוסף של טבלאות) • מלא – טבלאות, שדות קשרים, אילוצים וכל הפרטים עליהם. • כל – אין מקום אחר לחפש בו הגדרות ... • קשרים (Relations) – מאפשרים הוצאת מיידע • אילוצים (Constraints) – למשל: איזה ערכים מותרים בשדות, קיום ישויות, פרוצדורות פנימיות לשמירה על שלמות הנתונים (Stored Procedures)

  23. הגדרה: תת סכמה תת סכמה: תאור ייחודי של סכמת הנתונים באנגלית: Local View, Sub Schema, External View • תאור ייחודי • טבלאות • טבלאות וירטואליות ("ככה אני רוצה לראות את זה") • איחוד נתונים ממספר טבלאות • מבט חלקי: חלק מהטבלאות, חלק מהשדות • שדות בפועל (שם אחר) או שדות מחושבים (Computed) • של סכמת הנתונים - בנוי על טבלה/הטבלאות הקיימות למשל תוכנית לטיפול בספר הטלפונים של החברה: • טבלה עם שם העובד, מספר חדר, מספר טלפון פנימי • בסכמה: טבלת עובד עם הרבה שדות, טבלה של מספרי טלפונים

  24. תהליך ההגדרה הגדרת סכמה הגדרת תת סכמה הגדרת הסכמה הפיזית הגדרת הנתונים סכמות תת סכמות אינדקסים הרשאות ספר עמ 38

  25. הגדרה: קטלוג הנתונים קטלוג הנתונים: כל מרכיבי התיאור של בסיס הנתונים באנגלית: Data Catalog, Meta-Data, אפשר גם: I2: Information about the Information ואפשר גם:I3 מאפשר לתוכנה לגשת • נתונים (I1) • לתיאור הנתונים(I2) – • דוקומנטציה של המערכת • הגדרות (למשל כלי Case שייצר את ההגדרות "אוטומטית") • שינוים: כותרות, גודל, מבנה • על מנת שהתוכנה תדע לקרוא את תיאור הנתונים(I2) • הגישה לתיאור הנתונים(בדרך כלל) היא כמו לנתונים רגילים • היא צריכה לדעת כיצד הם בנויים (I3) • אומרים ש: בסיס הנתונים מגדיר את עצמו (Self-defined)

  26. עקרון הפעולה של DBMS תוכנת בקרה יישום שטח תקשורת שטח עבודה FMS מערכת ניהול הקבצים Buffer קטלוג נתונים נתונים ספר עמ 41

  27. הגדרה: אי תלות פיזית אי תלות פיזית: היכולת לבצע שינויים במבנה הפיזי של הנתונים מבלי לשנות את תכניות היישום • העברת הנתונים לדיסקים אחרים • מבנה הקבצים והגישה לרשומות • יצירת אינדקסים חדשים • קבוץ (Clustering) רשומות לגושים (Blocks) • ביזור (distributed database) הנתונים, שיכפול (Duplication) ספר עמ 46

  28. הגדרה: אי תלות לוגית אי תלות לוגית: היכולת לבצע שינויים במבנה הלוגי של הנתונים מבלי לשנות את תכניות היישום • הוספת שדות • שינוי סדר השדות • הוספת טבלאות • יצירת קשרים בין טבלאות • נאמר:"המערכת תומכת באי תלות פיזית/לוגית אם אפשר לבצע שינויים במבנה הפיזי/לוגי של הנתונים מבלי לשנות את תכניות היישום" • התיאורים (סכמות) +התוכנה =מערכת ה DBMS --- אלו שמאפשרים את ה"קסם" הזה • יש לזה מחיר בביצועים (מהירות החישוב) "יעני מסורבל" • אם המערכת לא נותנת אי תלות אז יש לזה מחיר כבד בתחזוקה !!! ספר עמ 46

  29. יתרונות המערכת • שיתוף הנתונים (Data Sharing) • אמינות הנתונים (Data Integrity) • זמינות הנתונים (Data Availability) • סטנדרטיזציה • גמישות • אבטחת הנתונים (Data Security) • עבודה בו זמנית (Concurrent Access) • עבודה מבוזרת ספר עמ 68

  30. חסרונות המערכת • סיבוכיות (Complexity) • "בעיה“של יצרני המערכת – Oracle, Microsoft, IBM • ביצועים (performance) • מחיר יקר לעבודה עם התיאורים השונים:פיזי, לוגי, מבט • ביישומים רגישים לזמן (Time-Critical) יתכן ונבנה משהוא מיוחד (מאוד יקר) • עלות • רכישה, יישום, הטמעה, תחזוקה • משאבי חומרה • דורש הרבה זמן חישוב • לא תמיד יעיל באחזקת הנתונים על הדיסק • רגישות לתקלות • בימים אלה לא ממש... • מורכבות שחזור ספר עמ 68

  31. נושא ===== ניתוח ועיצוב מודל הנתונים פרק ב בספר

  32. כיצד נגיע לסכמה? צריך תהליך של ניתוח ועיצוב (הבנת הבעיה ותכנון הפתרון)

  33. תהליך הבניה של בסיס נתונים ניתוח ועיצוב מודל הנתונים: • הבנת הדרישות (Requirements) • סיפור מעשה (בלשון פשוטה / מובנת ללקוחות) • יצירת המודל תפישתי (Conceptual Model) • של מנתח המערכת • מובן לבני אדם (אפשר להציג ללקוחות) • ללא תלות בסכמה הלוגית (מערכת מסוימת) ובסכמה הפיזית • תכנון הסכמה הלוגית (עיצוב) • תכנון הסכמה הפיזית

  34. תהליך הבניה של בית מה עושה הארכיטקט? • מבין את דרישות הלקוח • מכין מודל ממוחשב/קרטון/שרטוט • אייך יראה הבניין • מה יהיה בכל חדר • לוודא ש: • אני מבין מה הלקוח רוצה • הלקוח מבין שאני מבין מה הוא רוצה • מכין שרטוטים לקבלן • יסודות / קורות / חשמל / מיים

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

  36. הגדרה: מודל (בעברית "דגם") "תאור מקורב של ישות" • תאור – • פיסי – קרטון, שולחן חול, מפה, אב טיפוס • מסמך – הסבר, שרטוט • מקורב – • יותר קרוב = יותר פרטים, קשה לבנות, קשה להבין • יותר רחוק = ... • ישות – עצם פיסי, תהליך • פיסי: מחשב, בית, שטח, מכונית • תהליך – מערכת, כיצד עובד המחשב, כיצד נוסעת המכונית

  37. הגדרה:מודל נתונים מודל נתונים מורכב משלושה חלקים M(S,C,O): • Structure מבנה הנתונים • קבוצות של עצמים / ישויות • כולל התכונות של כל ישות • קשרים בינם • Constraints אילוצים • לכל סטודנט מספר מזהה יחיד • ציונים תמיד בין 0 ל 100 • Operators פעולות על הנתונים • להפקת מיידע (Information) ספר עמ 81

  38. הגדרה:קבוצה קבוצה:אוסף של עצמים, כל עצם מיוצג על ידי שורה (Tuple)של ערכים תיאורטית Tuple: (a1,a2,a3,a4) מעשית שורה בטבלה: (17887,Moshe, Levy,178,79,) ספר עמ 87

  39. מושגים והגדרות • קבוצה סופית / אין סופית • חבר בקבוצה • קבוצה ריקה • תת קבוצה / קבוצה חלקית • זיהוי החברים בקבוצה על פי • תנאי לוגי • קריאה בשם (Enumeration) • קבוצות זרות ספר עמ 87

  40. פעולות על קבוצות קבוצה A וקבוצה B • איחוד – אלו ב A יחד עם אלו ב B • חיתוך – רק אם נמצא גם ב A וגם ב B • הפרש – אלו ב A שלא נמצאים ב B • משלים Ac (Complement) ביחס לכל העצמים • כל אלו שאינם ב A • קבוצת המכפלה:A x B (או מכפלה קרטזית) • יצירת קבוצה מסוג חדש ובה זוגות = אחד מ A והשני מ B ספר עמ 87

  41. יחסים בין קבוצות • יחס – מושג מתורת הקבוצות • "יחס בממד N" הוא כאשר מכפילים N קבוצות • יחס 1:1 מגדיר תת קבוצה של המכפלה • לכל אחד מ A יש קשר רק לאחד מ Bולהפך • "חלקי" אם לא לכל אחד ב B יש "חבר" ב A • יחס 1:N מגדיר תת קבוצה של המכפלה • לכל אחד ב A יש מספר "חברים" ב B, להפך רק אחד • יחס N:M מגדיר תת קבוצה של המכפלה • לכל אחד ב A או B יש מספר "חברים" בקבוצה השניה ספר עמ 87

  42. מה בין מודל נתונים לתורת הקבוצות? מודל נתונים מורכב משלושה חלקים M(S,C,O): • Structure מבנה הנתונים • קבוצות של עצמים / ישויות • כולל התכונות של כל ישות • קשרים בינם • Constraints אילוצים • קשרים:לכל סטודנט מספר מזהה יחיד • ציונים תמיד בין 0 ל 100 • Operators פעולות על הנתונים • פעולות על קבוצה בודדת ובין קבוצות ספר עמ 81

  43. שלב בבניה: הבנת הדרישות סיפור המעשה מכסה את הנושאים הבאים: • הלקוח / החברה • הפעילות בחברה • תפקיד המערכת הבעיות שהיא צריכה לפתור • משתמשי במערכת, וכיצד ישתמשו בה (כללי) • הישויות במערכת והקשרים בינן • השימוש (פירוט) במערכת (Use Cases) לזכור:זה סיפור (טקסט) שממנו נרצה להמשיך הלאה

  44. ספר טלפונים –דרישות סיפור פשוט של מערכת פרטית: • הלקוח:אני • הפעילות – קשר עם החברים • תפקיד המערכת הבעיות שהיא צריכה לפתור • לזכור את כל הפרטים על החברים • לרכז את הכל במקום אחד • לאפשר לי למצוא במהירות כתובות וטלפונים • חיפוש לפי קריטריונים שונים:פרטים אישים • משתמשי במערכת, וכיצד ישתמשו בה (כללי) • רק אני אשתמש, כיצד (ראה "תפקיד המערכת")

  45. ספר טלפונים –דרישות – ישויות • הישויות במערכת והקשרים בינן המערכת צריכה לזכור את פרטי האנשים: שם פרטי, שם משפחה, מין, הערה, כתובת ומספרי טלפון. השמות יכולים להיות בעברית או באנגלית ואורכם לא יעלה על 20 תווים. לכל אדם כתובת אחת הכתובת כוללת את שם העיר, שכונה, רחוב, מספר בית, מספר דירה, קומה, זיפ-קוד לכל אדם כמה מספרי טלפונים כוללים:טלפון, סלולארי, זימונית כל מספר כולל קידומת והמספר

  46. ספר טלפונים –דרישות – שימוש א • פרוט השימושים במערכת (Use Cases) • עדכון אנשים • הכנסה ועדכון של רשימות האנשים עם כל הפרטים שלהם, המערכת תבדוק אם יש כבר אדם כזה ותאפשר להכניס מספר אנשים עם אותו שם. • לכל בן אדם אפשרות לרשום טלפון אחד או יותר

  47. ספר טלפונים –דרישות – שימוש ב • פרוט השימושים במערכת (Use Cases) • חיפוש נתונים של אדם • חיפוש לפי שפה (עברית או אנגלית) ואחר כך אלפון (לפי אות) שיראה את האנשים ששם משפחתם מתחיל באות מסוימת או טווח של אותיות. • חיפוש לפי ארץ ועיר • חיפוש לפי קריטריון כללי על ערכים: פירטי האדם, פירטי הכתובות והטלפונים • התשובה לחיפוש יכולה להיות קבוצה של אנשים

  48. ספר טלפונים מורכב –דרישות סיפור פשוט של מערכת פרטית: • הלקוח:אני • הפעילות – קשר עם החברים/לקוחות שלי • תפקיד המערכת הבעיות שהיא צריכה לפתור • לזכור את כל הפרטים על החברים • לרכז את הכל במקום אחד • לאפשר לי למצוא במהירות כתובות וטלפונים • חיפוש לפי קריטריונים שונים:פרטים אישים, סוג הקשר • משתמשי במערכת, וכיצד ישתמשו בה (כללי) • רק אני אשתמש, כיצד (ראה "תפקיד המערכת")

  49. ספר טלפונים מורכב –דרישות – ישויות • הישויות במערכת והקשרים בינן המערכת צריכה לזכור את פרטי האנשים: שם פרטי, שם משפחה, מין, הערה, כתובות ומספרי טלפון. עם כל אדם יש לי קשר:חבר, לקוח, ספק, עובד השמות יכולים להיות בעברית או באנגלית ואורכם לא יעלה על 20 תווים. לכל אדם בדרך כלל כתובת אחת אבל לפעמים יותר:פרטי, שכירות, הורים, משרד הכתובת כוללת את שם העיר, שכונה, רחוב, מספר בית, מספר דירה, קומה, זיפ-קוד לכל אדם כמה מספרי טלפונים בארץ ובעולם וכוללים:טלפון בכתובת, סלולארי, זימונית כל מספר כולל את הארץ, קידומת עיר, המספר, מספר השלוחה מספרי טלפון יכולים לכלול ספרות, אותיות, סימני פיסוק ורווחים הייתי רוצה לתחזק ברשימות את: הארצות, הערים והקידומות שלהם כדי ש בזמן השימוש אוכל לבחור ולהימנע מתקתוק כל פעם מחדש

  50. ספר טלפונים מורכב – שימוש א • פרוט השימושים במערכת (Use Cases) • עדכון רשימות • הכנסת רשימות של ארצות, ערים וקידומות – אני רוצה לראות איזה כבר יש לי ולהכניס רק חדשים. אני רוצה שיהיו ממוינים לפי הארץ ואחר כך להכניס עיר ולעדכן קידומת • הכנסת רשימות ("פענוח" Decoding)של סוגי אנשים וסוגי כתובת • עדכון אנשים • הכנסה ועדכון של רשימות האנשים עם כל הפרטים שלהם, המערכת תבדוק אם יש כבר אדם כזה ותאפשר להכניס מספר אנשים עם אותו שם.

More Related