סכימה קונספטואלית

Download Report

Transcript סכימה קונספטואלית

‫מבוא למערכות מידע‬
‫מנהל עסקים שנה א‬
‫הרצאה ‪:4‬‬
‫תשתיות מידע (‪ - )3‬מסד הנתונים‬
‫נערך ע"י ד"ר דיצה ביימל‬
‫‪1‬‬
‫‪Spring 2005‬‬
‫‪Specification and Analysis of Information Systems‬‬
‫סיכום השיעור הקודם‬
‫• חומרה – קלט‪/‬פלט‪ ,‬יחידות אחסון‪CPU ,‬‬
‫• תוכנה – מערכת הפעלה‪ ,‬אפליקציות‬
‫‪2‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫איפה אנחנו בציר הזמן‬
‫פיתוח‬
‫ויישום‬
‫תשתיות‬
‫מידע‬
‫תשתיות‬
‫מידע‬
‫תשתיות‬
‫מידע‬
‫פיתוח‬
‫ויישום‬
‫מעבדה‬
‫מעבדה‬
‫מבוא‬
‫מעבדה‬
‫אינטרנט‬
‫‪14‬‬
‫‪3‬‬
‫‪13‬‬
‫‪12‬‬
‫‪11‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫‪10‬‬
‫‪9‬‬
‫‪8‬‬
‫‪7‬‬
‫‪6‬‬
‫‪5‬‬
‫‪4‬‬
‫‪3‬‬
‫‪2‬‬
‫‪1‬‬
‫תוכן ההרצאה‬
‫• מוטיבציה‪ ,‬הגדרה‪ ,‬ותכונות של מסד הנתונים‬
‫• סכימה קונספטואלית‬
‫• עיצוב מסד הנתונים‬
‫• סיכום‬
‫‪4‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫מוטיבציה‬
‫• בארגון מודרני‪ ,‬נוסף למשאבים קלאסיים כמו עבודה‪ ,‬הון‬
‫ונכסים‪ ,‬קיים משאב חשוב נוסף – המידע‪.‬‬
‫• מידע על פעילויות‪ ,‬מוצרים‪ ,‬מתחרים‪ ,‬לקוחות‪ ,‬מצב פיננסי‬
‫ועוד‪.‬‬
‫• שימוש יעיל במידע זמין ואמין עוזר לארגון בהשגת מטרותיו‪.‬‬
‫• אנשי מ"מ עוסקים בארגון וניהול הנתונים‪ ,‬לשם אבטחת גישה‬
‫נוחה ומהירה‪ ,‬לאחסנה‪ ,‬לעדכון‪ ,‬ולאחזור הנתונים‪.‬‬
‫• המידע הוא תוצאה של עיבוד וניתוח הנתונים‬
‫• מידע של משתמש אחד יכול לשמש נתון למשתמש אחר על‬
‫מנת להפיק מידע נוסף‪.‬‬
‫‪5‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫ניהול מידע ‪ -‬כיצד?‬
‫פעם‪....‬‬
‫תוכניות יישום‬
‫שיווק‬
‫תוכניות יישום‬
‫משאבי אנוש‬
‫תוכניות יישום‬
‫ייצור‬
‫כל מחלקה ניהלה את נתוניה שלה‪,‬‬
‫באמצעות תוכניות נפרדות ונתונים נפרדים לכל מחלקה‪.‬‬
‫מהן הבעיות העולות מניהול כזה?‬
‫‪6‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫חסרונות השימוש‬
‫• תלות בין תוכנית היישום לנתונים‬
‫– על כל תוכנית לנהל מטא נתונים על כל הקבצים בהם היא משתמשת‬
‫• כפילות נתונים‬
‫– מערכות‪/‬תוכניות שונות מחזיקות עותקים שונים של אותם נתונים‬
‫• שיתוף נתונים מוגבל‬
‫– אין בקרה מרכזית של הנתונים‬
‫• זמני פיתוח ארוכים יותר ואחזקה יקרה של התוכניות‬
‫– תכנתים חייבים לתכן ולממש את פורמטי הקבצים שלהם‬
‫– ‪ 80%‬מתקציב מערכת המידע‬
‫התלות הרבה בין הנתונים לבין תהליכי עיבוד הנתונים חייבו‬
‫פיתוח טכנולוגיה חדשה לניהול נתונים ‪DBMS -‬‬
‫‪7‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫מערכת לניהול מסד נתונים‬
‫‪DBMS – DataBase Management System‬‬
‫היום‪:‬‬
‫מערכת לניהול מסד נתונים‬
‫מסד‬
‫נתונים‬
‫ייצור‬
‫מנהל‬
‫מסד‬
‫נתונים‬
‫משאבי‬
‫אנוש‬
‫שיווק‬
‫מענה טכנולוגי לדרישות של שילוב קבצי נתונים למערכת משולבת אחת‪,‬‬
‫המאפשר נגישות גבוהה ומהירה לנתונים במגוון חתכים נרחב‪.‬‬
‫‪8‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫העיקרון החשוב ביותר במסד נתונים!‬
‫היכולת להשתמש בנתונים המאוחסנים בבסיס הנתונים מבלי להכיר‬
‫את פרטי שיטת אחסונם‪ ,‬ולבצע שינויים מסוימים בבסיס הנתונים‬
‫מבלי שתוכניות היישום יושפעו מכך‪.‬‬
‫• הפרדה ברורה בין המבנה הלוגי והמבנה הפיזי של מסד הנתונים‬
‫• המבנה הלוגי מיוצג באמצעות מודל נתונים‬
‫• ישנם מספר מודלים שמיושמים במערכות לניהול מסדי נתונים‬
‫– מודל הנתונים ההיררכי‬
‫– מודל הנתונים הרשתי‬
‫– מודל הנתונים הרלציוני (טבלאי)‬
‫‪9‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫המודל הרלציוני (טבלאי) ‪Relational Model‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪10‬‬
‫הוצג לראשונה ע"י ‪ Codd‬בשנת ‪( 1970‬זוכה פרס טיורינג‬
‫ב‪)1981 -‬‬
‫מערכות מבוססות המודל הרלציוני הוצגו לראשונה ב ‪1975‬‬
‫ע"י יב"מ ואוניברסיטת ברקלי‬
‫כיום‪ ,‬הרוב המוחלט של המערכות מבוסס על המודל הרלציוני‪.‬‬
‫המודל מציג את מסד הנתונים כאוסף של רלציות‪ ,‬כאשר כל‬
‫רלציה היא בעצם טבלה עם שורות ועמודות‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫המודל הרלציוני (טבלאי) ‪Relational Model‬‬
‫• האלמנט המרכזי במודל הוא הרלציה )‪(Relation‬‬
‫• רלציה מורכבת מסכימה )‪ (Schema‬ומופעים )‪(Instances‬‬
‫• סכימה של רלציה‪ :‬שם הרלציה‪ ,‬אוסף השמות של העמודות‬
‫של הרלציה‪ ,‬וסוגיהם‬
‫• מופע של רלציה (טבלה)‪ :‬אוסף של רשומות (שורות בטבלה)‬
‫‪Students‬‬
‫‪sname‬‬
‫‪sid‬‬
‫‪year‬‬
‫‪3‬‬
‫‪white‬‬
‫‪240‬‬
‫‪3‬‬
‫‪jones‬‬
‫‪202‬‬
‫‪adams‬‬
‫‪450‬‬
‫‪1‬‬
‫‪11‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫מהי הסכימה‬
‫של הרלציה?‬
‫דוגמא לטבלאות במסד נתונים טבלאי‬
‫פרויקטים‬
‫מספר פרויקט‬
‫עובדים‬
‫שם פרויקט‬
‫‪P1‬‬
‫שמיים‬
‫‪P2‬‬
‫אוקיינוס‬
‫‪P3‬‬
‫אדמה‬
‫‪P4‬‬
‫אש‬
‫תאריך‬
‫פתיחה‬
‫שם עובד‬
‫מספר עובד‬
‫‪E1‬‬
‫חיים‬
‫‪E2‬‬
‫דליה‬
‫‪E3‬‬
‫רינה‬
‫‪E4‬‬
‫משה‬
‫עובדים בפרויקט‬
‫מספר פרויקט‬
‫מה הרווחנו?‬
‫‪12‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫שעות עבודה‬
‫בחודש ינואר‬
‫מספר עובד‬
‫‪P1‬‬
‫‪E1‬‬
‫‪100‬‬
‫‪P1‬‬
‫‪E2‬‬
‫‪70‬‬
‫‪P3‬‬
‫‪E1‬‬
‫‪100‬‬
‫‪P2‬‬
‫‪E2‬‬
‫‪50‬‬
‫משכורת‬
‫מבנה לוגי‬
‫הדרך שבה המפתחים והמשתמשים רואים את הנתונים ומתייחסים אליהם‬
‫חברת הנוטע‬
‫טבלת לקוחות‬
‫מסד הנתונים‬
‫טבלה‬
‫טבלה‬
‫לקוח‪" :‬חיים"‪" ,‬כהן"‪" ,‬חיפה"‬
‫רשומה‬
‫שם פרטי‪" :‬חיים"‬
‫"ח"‪" ,‬י"‪" ,‬י"‪",‬ם"‬
‫‪13‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫רשומה‬
‫שדה‬
‫תו‬
‫שדה‬
‫תו‬
‫מבנה פיזי‬
‫מטופלים ע"י המערכת ושקופים למפתח ולמשתמש‬
‫קובץ‬
‫גוש‬
‫גוש‬
‫מילה‬
‫מילה‬
‫מה הרווחנו?‬
‫בית‬
‫סיבית‬
‫‪14‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫בית‬
‫סיבית‬
‫הגדרה ל ‪DBMS‬‬
‫מערכת תוכנה ייעודית המאפשרת את ניהול הנתונים תוך‬
‫תמיכה במגוון רחב של שירותים‪.‬‬
‫המערכת תומכת בשלוש פונקציות בסיסיות‪:‬‬
‫הגדרת נתונים‪ ,‬טיפול בנתונים‪ ,‬אילוצי אמינות‬
‫‪15‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫תכונות מערכת לניהול מסד הנתונים‬
‫היכולת להשתמש בנתונים המאוחסנים בבסיס הנתונים מבלי להכיר‬
‫את פרטי שיטת אחסונם‪ ,‬ולבצע שינויים מסוימים בבסיס הנתונים‬
‫מבלי שתוכניות היישום יושפעו מכך‪.‬‬
‫‪ ‬אי תלות בנתונים‬
‫(הפרדת הנתונים מהתוכניות)‬
‫‪ ‬מניעת כפילות נתונים‬
‫‪ ‬שירותי גיבוי והתאוששות‬
‫‪ ‬אמינות‪ ,‬שלמות ואיכות‬
‫‪16‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫‪ ‬בטיחות הנתונים‬
‫‪ ‬שיתוף הנתונים‬
‫‪ ‬סיוע בעיבוד הנתונים‬
‫והפקת דוחות‬
‫תוכן ההרצאה‬
‫• מוטיבציה‪ ,‬הגדרה‪ ,‬ותכונות של מסד הנתונים‬
‫• סכימה קונספטואלית‬
‫• עיצוב מסד הנתונים‬
‫• סיכום‬
‫‪17‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫סכימה קונספטואלית ‪Conceptual Scheme -‬‬
‫התיאור הפורמאלי והמלא של כל הנתונים המנוהלים במסד‬
‫• אחד מהמאפיינים העיקריים של מערכת ה ‪RDBMS‬‬
‫• תכונות‪:‬‬
‫– מתארת את כל היחידות הלוגיות המרכיבות את מסד הנתונים‬
‫• טבלאות‪,‬‬
‫• אטריבוטים‪,‬‬
‫• קשרים לוגיים‪,‬‬
‫• אילוצים‪ ,‬ועוד‬
‫– היחידות הלוגיות מקבלות שמות סימבוליים המאפשרים למשתמשים‬
‫לפנות אל הנתונים באופן לוגי‪:‬‬
‫• "הצג שם סטודנט מתוך טבלת סטודנטים"‬
‫‪18‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫סכימה קונספטואלית ‪ -‬המשך‬
‫• כל מערכת ‪ RDBMS‬מספקת אוסף של פקודות מיוחדות‬
‫להגדרת הסכימה‬
‫–‬
‫–‬
‫–‬
‫–‬
‫–‬
‫–‬
‫–‬
‫–‬
‫‪19‬‬
‫הגדרת הטבלאות (למשל‪)Students ,‬‬
‫הגדרות העמודות בטבלה (‪)StudentID, StudentName‬‬
‫טיפוסי הנתונים (‪)String‬‬
‫מפתח עיקרי (‪)StudentID‬‬
‫תחומי ערכים מותרים‬
‫קשרים לוגיים בין הטבלאות‬
‫כללי הגנה‬
‫‪Create Table Students‬‬
‫ועוד‪..‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫‪(StudentID Char(5) NOT NULL,‬‬
‫‪Name Char (30),‬‬
‫‪City Char (40),‬‬
‫))‪Primary Key (StudentID‬‬
‫תוכן ההרצאה‬
‫• מוטיבציה‪ ,‬הגדרה‪ ,‬ותכונות של מסד הנתונים‬
‫• סכימה קונספטואלית‬
‫• בניית מסד הנתונים‬
‫• סיכום‬
‫‪20‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫שלושת השלבים בתהליך בניית מסד הנתונים‬
‫מתיאור מילולי של מערכת מידע‬
‫להגדרה של סכמה של מסד טבלאי ‪:‬‬
‫‪ .1‬בנית מודל מופשט של הבעיה‪ -‬שימוש במודל ניתוח הנקרא מודל‬
‫ישויות‪-‬קשרים ‪ERD‬‬
‫‪ .2‬בניית מודל לוגי‪ :‬המרת מודל ‪ ERD‬למודל הטבלאי‬
‫‪ .3‬ממודל לוגי למימוש‪ :‬שימוש ב‪( DBMS -‬לדוגמא‪)Access :‬‬
‫‪21‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫‪ .1‬דיאגראמת ישויות‪-‬קשרים‬
‫• דיאגראמת ישויות‪-‬קשרים )‪ERD (Entity Relationship Diagram‬‬
‫– מתעדת את מבני הנתונים והקשרים ביניהם‬
‫– מרכיבי הדיאגראמה הבסיסיים‪:‬‬
‫• ישויות ‪ -‬דבר שניתן לזהות בסביבת העבודה‬
‫• תכונות ‪ -‬מידע שנרצה לאסוף אודות הישות‬
‫• קשרים ‪ -‬היחסים בין הישויות השונות‬
‫‪22‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫תרשים ישויות ‪ -‬קשרים‬
‫שם‬
‫מס זיהוי‬
‫רחוב‬
‫עיר‬
‫תלמיד‬
‫לומד ב ‪-‬‬
‫‪ERD‬‬
‫שם הכיתה‬
‫מס' מחנך‬
‫שכבה‬
‫כיתה‬
‫•מלבנים ‪ -‬לייצוג קבוצות של ישויות‬
‫•מעוינים ‪ -‬לייצוג קשר בין קבוצות הישויות‬
‫•אליפסות ‪ -‬לייצוג תכונות‬
‫‪23‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫יצירת קשרי גומלין‬
‫• יחיד אל רבים‬
‫– הקשר הנפוץ ביותר‪.‬‬
‫– קשר בין שתי קבוצות של ישויות כך שלכל ישות מקבוצה אחת יכול להיות‬
‫קשר עם הרבה ישויות מהקבוצה השנייה‪.‬‬
‫• יחיד אל יחיד‬
‫– קשר בין שתי קבוצות של ישויות כך שלכל ישות מקבוצה אחת יש קשר‬
‫לישות אחת בלבד בקבוצה השנייה‪.‬‬
‫– מקובל להשתמש אם יש צורך להפריד את המידע לחלק גלוי וחלק חסוי‪.‬‬
‫• רבים אל רבים‬
‫– קשר בין שתי קבוצות של ישויות כך שלכל ישות מקבוצה אחת יכול‬
‫להיות קשר להרבה ישויות בקבוצה השנייה‪ ,‬וגם לכל ישות בקבוצה‬
‫השנייה יכול להיות קשר להרבה ישויות בקבוצה הראשונה‪.‬‬
‫‪24‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫סוגי קשרים‬
‫קשר אחד‪-‬לאחד‬
‫מור ה‬
‫‪1‬‬
‫מחנך של‬
‫‪1‬‬
‫כיתה‬
‫קשר אחד‪-‬לרבים‬
‫כיתה‬
‫‪1‬‬
‫קשר רבים‪-‬לרבים‬
‫מורה‬
‫‪25‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫‪N‬‬
‫לומד ב‪-‬‬
‫‪N‬‬
‫תלמיד‬
‫יום ושעה‬
‫מלמד ב‪-‬‬
‫‪M‬‬
‫כיתה‬
‫‪ .2‬כללים להמרת ‪ ERD‬לסכימה‬
‫• כל קבוצת ישויות מומרת לסכימה‬
‫– קבוצת ישויות המורים לטבלה מורים‬
‫• התכונות הפשוטות הן תכונות של סכימה‬
‫– שם המורה הוא תכונה בטבלת מורים‬
‫• המרת קשרים‪:‬‬
‫– קשר ‪1:1‬‬
‫• מורה מחנך כתה – כיתה הופכת לתכונה בטבלת מורים או להיפך‬
‫– קשר ‪- N:1‬‬
‫• מורה מחנך תלמידים ‪ -‬מורה הופך לתכונה בטבלת תלמידים‬
‫– קשר ‪– N:M‬‬
‫• טבלה נוספת המורכבת מנתונים על שתי קבוצות הישויות‪ :‬מורים‬
‫מלמדים בכיתות – טבלה נוספת של "מורים בכיתות"‪ .‬תכונות‬
‫הקשר – הן שדות בטבלה‬
‫‪26‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫דוגמא – הספרייה הממוחשבת‬
‫• בונים מודל של ספריה קטנה‪:‬‬
‫• שלוש טבלאות מינימאליות‬
‫– טבלת 'ספרים'‬
‫– טבלת 'מנויים'‬
‫– טבלת 'מעקב אחרי השאלות הספרים'‪.‬‬
‫• מבנה היררכי‬
‫– בראש המבנה‪' :‬ספרים' ו‪'-‬מנויים'‪.‬‬
‫– טבלאות אלו מזינות נתונים לטבלת 'מעקב אחרי השאלות הספרים '‪.‬‬
‫• טבלאות נוספות (אופציונאליות)‬
‫– 'הוצאה לאור'‬
‫– 'קטגוריה'‬
‫– 'אמצעי תשלום'‬
‫‪27‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫סיכום ‪ :‬תהליך עיצוב מסד הנתונים‬
‫‪ .1‬יצירת ‪ – ERD‬על פי המידע שנאסף מהלקוח (משתמש המסד)‪.‬‬
‫‪ .2‬ארגון המידע לתוך טבלאות‬
‫– הגדרת כל טבלה בנפרד‪ :‬מהם השדות‪ ,‬מהם סוגי הנתונים‪ ,‬המאפיינים‬
‫– הגדרת קשרי העבודה (קשרי גומלין) בין הטבלאות‪.‬‬
‫‪ .3‬בנייה אל תוך המחשב (למשל ב ‪)Access‬‬
‫– בניית הטבלאות במחשב‪ :‬בניית מסד הנתונים‪ ,‬הגדרות הטבלה ומפתחות‬
‫ראשיים ובניית הקשרים שביניהם‪.‬‬
‫– הגדרת השאילתות‪ :‬תכנון ובניית השאילתות‪ ,‬הגדרת פילוחים וחתכים שונים‪,‬‬
‫חישובים ועוד‪.‬‬
‫– הגדרת טפסים‪ :‬יש להגדיר ולבנות את טפסי הטבלאות‪ ,‬טפסים משניים‪ ,‬מערכות‬
‫אוטומציה של המסד ועוד‪.‬‬
‫– בניית הדוחות‪ :‬דוחות שונים להדפסה הנשענים על טבלאות‪ ,‬שאילתות או‬
‫טפסים‪.‬‬
‫‪28‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫תוכן ההרצאה‬
‫• מוטיבציה‪ ,‬הגדרה‪ ,‬ותכונות של מסד הנתונים‬
‫• סכימה קונספטואלית‬
‫• עיצוב מסד הנתונים‬
‫• סיכום‬
‫‪29‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫סיכום‬
‫• עקרון הפרדת הנתונים‬
‫– מכתיב מבנה לוגי ומבנה פיזי‬
‫• המודל הטבלאי מאפשר את התכונה הזו והוא גאוני בפשטותו‬
‫• בניית מסד הנתונים‬
‫–‬
‫–‬
‫–‬
‫–‬
‫‪30‬‬
‫מתחיל בהקשבה ללקוח‬
‫ממשיך בדיאגראמת ישויות‪-‬קשרים‪,‬‬
‫בניית המודל הלוגי‬
‫ולבסוף ‪ -‬יישום במערכת‪.‬‬
‫מבוא למערכות מידע‪2010 ,‬‬
‫מסד הנתונים הוא‬
‫לב מערכת המידע‬