מערכות מידע ניהוליות

Download Report

Transcript מערכות מידע ניהוליות

‫עקרונות מערכות לניהול‬
‫בסיס נתונים‬
‫‪1‬‬
‫מערכות בסיסיות לניהול נתונים‬
‫• תו‪ ,‬שדה‪ ,‬רשומה‪,‬קובץ‬
‫• ארגון קבצים‪:‬‬
‫סדרתי‪ ,‬אינדקס סידרתי‪ ,‬אקראי‬
‫• סוג הגישה לקובץ‪:‬‬
‫גישה סדרתית‪ ,‬גישה ישירה‬
‫‪2‬‬
3
‫מערכות בסיסיות לניהול נתונים‬
‫• כל תוכנית יישום מטפלת בקובץ אחד או יותר‬
‫• לתוכנית היישום תלות מוחלטת בצורת האיחסון‬
‫הפיסית של הנתונים‪ ,‬הניהול והטיפול בהם‪.‬‬
‫• שיתוף נתונים בין יישומים שונים ‪ -‬כמעט בלתי אפשרי‬
‫• גורם לכפילות בנתונים‬
‫‪4‬‬
‫מערכות לניהול קבצים ‪-‬‬
‫‪File Management System‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪5‬‬
‫משחררת את המפתח מטיפול במבנה הפיסי של‬
‫הנתונים‬
‫מספקת כלים ליצירת הקובץ ואחזקתו‬
‫שגרות סטנדרטיות לגישה לנתונים אשר מהוות חלק‬
‫מהמערכת לניהול קבצים‬
‫דוגמא‪ :‬מערכת ‪ VSAM‬של ‪IBM‬‬
‫מערכות לניהול קבצים ‪-‬‬
‫‪File Management System‬‬
‫• תוכניות היישום מכירות את התכונות הפיזיות של‬
‫הקובץ (מבנה רשומה‪ ,‬מפתחות‪ ,‬שיטת הגישה לקובץ)‬
‫• שינוי בתכונות פיזיות אלה מחיבות שינוי מקביל‬
‫בתוכנית היישום‬
‫‪6‬‬
7
‫מערכות לניהול קבצים ‪-‬‬
‫‪File Management System‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪8‬‬
‫‪ 3‬תוכניות יישום ניגשות לאותו קובץ‪ ,‬ולכן ‪-‬‬
‫כל אחת מכילה את הגדרת רשומת הקובץ‬
‫כל תוכנית יישום מקבלת עותק נפרד של תוכנת‬
‫המערכת לניהול קבצים‬
‫המערכת לניהול קבצים אינה מטפלת בקשרים בין‬
‫הקבצים אלא בקובץ הבודד בלבד‬
‫מערכות לניהול קבצים ‪-‬‬
‫‪File Management System‬‬
‫• חסרונות ‪-‬‬
‫• אמינות הנתונים‪ :‬ניתן לבטל רשומת מרצה מבלי‬
‫לעדכן בהתאם את כל רשומות הקורס בהם הוא‬
‫מלמד‬
‫• רמת תמיכה נמוכה לשינויים במבנה הנתונים‪:‬‬
‫כל שינוי במבנה הרשומה דורש שינוי בהגדרת‬
‫הרשומה בכל תוכניות היישום הניגשות אליה ‪ -‬דבר‬
‫המצריך הידור מחדש‬
‫‪9‬‬
‫מערכת לניהול בסיסי נתונים‬
‫• בסיס נתונים‪ :‬אוסף של טבלאות הקשורות ביניהם‬
‫בקשרים לוגיים המאפשרים את שיתוף הנתונים בין‬
‫היישומים השונים‬
‫• בנוסף לטבלאות המכילות את הנתונים מכיל בסיס‬
‫הנתונים גם אוסף טבלאות המתארות את מבנה בסיס‬
‫הנתונים עצמו‪.‬‬
‫‪10‬‬
‫מערכת לניהול בסיסי נתונים‬
‫• בד”כ כל טבלה מאוחסנת בקובץ פיזי נפרד‬
‫• ניתן לאחסן מספר טבלאות באותו קובץ פיזי‬
‫• ואפילו את כל הטבלאות בקובץ פיזי אחד‬
‫‪11‬‬
‫מערכת לניהול בסיסי נתונים‬
‫• אי‪-‬תלות פיזית ולוגית בין תוכניות היישום לבין מבנה‬
‫בסיס הנתונים‬
‫• שלא כבמערכת לניהול קבצים ‪ -‬תיאור הנתונים הנו‬
‫חלק אינטגרלי מבסיס הנתונים ולא מהווה חלק‬
‫מתוכנית היישום‬
‫‪12‬‬
‫מערכת לניהול בסיסי נתונים טבלאיים ‪RDBMS‬‬
‫‪Relational Data Base Management System‬‬
‫• תוכנה ייעודית המאפשרת לתוכנית יישום לגשת‬
‫בנוחות וביעילות אל הטבלאות ולבצע את הפעילויות‬
‫הדרושות‬
‫• תומכת ב‪ 3 -‬פונקציות בסיסיות‪:‬‬
‫(‪)Data Definition‬‬
‫הגדרת הנתונים‬
‫טיפול בנתונים (‪)Data Manipulation‬‬
‫(‪)Data reliability‬‬
‫אבטחת אמינות‬
‫‪13‬‬
‫טיפול בנתונים ‪Data Manipulation‬‬
‫• גישה לבסיס הנתונים מתוך תוכניות היישום או באופן‬
‫ישיר ע”י המשתמש וביצוע‪:‬‬
‫שליפת נתונים‬
‫הצגת נתונים לפי חתכים שונים‬
‫עדכון טבלאות‬
‫הוספת שורות חדשות לטבלה‬
‫ביטול שורות קימות‬
‫‪14‬‬
‫אבטחת אמינות‬
‫• הבטחת אמינות בסיס הנתונים‪:‬‬
‫ברמת הטבלה הבודדת‬
‫ברמת הקשרים בין הטבלאות‬
‫• התוצאה‪:‬‬
‫הגדלת אמינות המידע‬
‫‪15‬‬
16
17
‫סכימה גלובלית ‪Global Schema‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪18‬‬
‫מתארת את הטבלאות‬
‫עמודות בכל טבלה‬
‫טיפוס הנתונים (‪ )Data Type‬של כל עמודה‬
‫מפתח עיקרי ()‪Primary Key‬‬
‫קשרים לוגיים בין טבלאות‬
‫אילוצים על ערכים בטבלה‬
‫שפה להגדרת נתונים ‪DDL‬‬
‫‪Data Definition Language‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪19‬‬
‫אוסף פקודות להגדרת הסכימה הגלובלית‬
‫השפה מאפשרת‪:‬‬
‫הגדרת טבלאות‪ ,‬עמודות‪ ,‬טיפוס נתונים‪ ,‬מפתח עיקרי‬
‫תחומי ערכים מותרים‬
‫קשרים לוגיים‬
‫כללי הגנה‬
‫מזניקים (‪ )Triggers‬המופעלים בתנאים מסוימים ומבצעים‬
‫פעולות מסוימות‬
‫אוסף פקודות להגדרת סכימה‬
‫‪20‬‬
‫תת‪-‬סכימה (‪/ )Sub Schema‬‬
‫טבלאות מדומות ()‪View‬‬
‫• חלק מבסיס הנתונים הנגזרים על פי הצרכים המיוחדים של‬
‫המשתמש או של תוכנית היישום‬
‫• מאפשרת ליצור לכל משתמש נקודת מבט (‪ )View‬ייחודית‬
‫המותאמת לצרכיו‬
‫• הטבלה המדומה‪:‬‬
‫יכולה להכיל רק חלק מהשורות או העמודות‪,‬‬
‫מאפשרת שינוי שמות סימבוליים של העמודות‪,‬‬
‫מאפשרת כללי הרשאה שונים‬
‫מאפשרת הכלת עמודות מחושבות‬
‫‪21‬‬
‫סכימה פנימית ‪Physical Schema‬‬
‫• תיאור המבנה הפיזי של הטבלאות כפי שהן מאוחסנות‬
‫ביחידות ההחסנה השונות‬
‫• מכילה פרטים על‪:‬‬
‫צורת האחסון של הטבלאות‬
‫שיטות הגישה לשורות הטבלה‬
‫(ע”י אינדקס או מנגנון ‪)Hashing‬‬
‫מספר שורות בגוש (‪)Block‬‬
‫סוג יחידת האחסנה של הטבלה‬
‫‪22‬‬
23
‫מילון נתונים ‪Data Dictionary‬‬
‫• קובץ מערכת המכיל את כל ההגדרות של‪:‬‬
‫הסכימה הגלובלית‬
‫והסכימה הפנימית‬
‫• נותן תשובות לשאלות‪:‬‬
‫אילו טבלאות מנוהלות בבסיס הנתונים‬
‫אלו עמודות מנוהלות בטבלה מסוימת‬
‫מהו תחום הערכים המותר לגבי עמודה מסוימת‪ ,‬ועוד‬
‫‪24‬‬
‫שפה לטיפול בנתונים ‪DML‬‬
‫‪Data Manipulation Language‬‬
‫• תוכניות היישום המבקשות לגשת אל הנתונים חייבות‬
‫להשתמש בשפה לטיפול בנתונים‬
‫• ‪ - SQL‬שפה לאחזור ושינוי תוכן הנתונים‪:‬‬
‫אחזור שורות מטבלאות‪ ,‬עדכון שורות‪ ,‬ביטול שורות‪,‬‬
‫והוספת שורות‬
‫• ‪ - Embedded SQL‬שיבוץ פקודות ‪ SQL‬סטטיות‬
‫או דינמיות בתוך שפת תכנות מארחת הדורשת שירותי‬
‫קדם‪-‬מהדר‬
‫‪25‬‬
‫שפה לטיפול בנתונים ‪DML‬‬
‫‪Data Manipulation Language‬‬
‫• קדם מהדר ‪ -‬יודע לתרגם פקודות ‪ SQL‬לאוסף של‬
‫פקודות ‪ CALL‬לתוך השפה המארחת‬
‫• לדוגמא‪ Oracle :‬תומך בעבודה עם קדם מהדר‬
‫בשפות התכנות‪Cobol, Pascal, PL/1, Ada :‬‬
‫וכן בממשק תכנות יישומים ‪( API -‬יוסבר בהמשך)‬
‫‪26‬‬
‫שיבוץ פקודות ‪ SQL‬בתוך שפת תכנות מארחת‬
‫‪27‬‬
‫אפשרויות הגישה לבסיסי נתונים‬
‫טבלאיים מתוך תוכנית היישום‬
‫• מהנדס היישום‪:‬‬
‫* משבץ את פקודות ה‪ SQL -‬לתוך השפה המארחת‬
‫הדורשת שירותי קדם מהדר‬
‫* משתמש בממשק תכנות יישומים ‪API -‬‬
‫‪:‬‬
‫‪SQL Application Programming‬‬
‫‪ - Interface‬כאן אין דרישה לקדם מהדר‬
‫ היישום בונה את כל הפניות ע”י שימוש בפקודה ‪CALL‬‬‫ יצרן בסיס הנתונים מפרסם את כל השירותים שהמערכת‬‫מסוגלת לספק וכיצד יש להפעילם‬
‫‪28‬‬
‫אפשרויות הגישה לבסיסי נתונים‬
‫טבלאיים מתוך תוכנית היישום‬
‫• לדוגמא ‪:‬‬
‫* ‪ Sybase‬ו‪ SQL Server -‬תומכות רק בממשק‬
‫‪API‬‬
‫* מערכת ‪ Informix‬תומכת בעבודה עם קדם מהדר‬
‫בשיטה הסטטית והדינמית בשפות ‪Cobol, C, Ada‬‬
‫‪29‬‬
‫עקרון ההפעלה של מערכות ‪RDBMS‬‬
‫‪30‬‬
‫עקרון ההפעלה של מערכות ‪RDBMS‬‬
‫‪31‬‬
‫עקרון ההפעלה של מערכות ‪RDBMS‬‬
‫• פקודות ‪ SQL‬מממשות תפישה לא פרוצדורלית‬
‫לעומת התפישה הפרוצדורלית של מערכות לניהול‬
‫קבצים ‪ /‬מערכות ‪ DBMS‬ישנות‬
‫‪32‬‬
33
‫דורות של שפות תכנות‬
C, ADA, PASCAL, JAVA, COBOL PL/1 - 3 ‫• דור‬
,‫של חברת משוב‬
,Insight ‫של חברת‬
,‫של מיקרוסופט‬
,Oracle ‫של‬
Sybase ‫של‬
- 4 ‫• דור‬
MAGIC ‫שפת‬
DELPHI ‫שפת‬
Visual Basic ‫שפת‬
Developer ‫שפת‬
Power Builder ‫שפת‬
34
‫שפות דור ‪4‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪35‬‬
‫מאופיינות ב‪-‬‬
‫פיתוח מהיר של יישומים‬
‫פקודות חדשות לטיפול בתפריטים וחלונות‬
‫פקודות התומכות בעבודה עם בסיסי נתונים טבלאיים‬
‫אין צורך בשירותי קדם‪-‬מהדר‬
‫מחולל שאילתות ודוחות‬
:‫דוחות‬/‫• מחולל שאילתות‬
‫ של‬Discoverer
Business
Oracle
Business Objects ‫ של‬Objects
36
‫גישה משרת ‪WEB‬‬
‫‪37‬‬
‫מודל גישה לבסיסי נתונים ‪-‬‬
‫גישה משרת ‪WEB‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪38‬‬
‫דפדפן (‪ )Browser‬מציג טופס כדף במבנה ‪HTML‬‬
‫הזנת פירטי קלט‬
‫קלט מגיע לשרת ‪ WEB‬באמצעות פרוטוקול ‪HTTP‬‬
‫הפעלת יישום הבונה שאילתת ‪SQL‬‬
‫היישום נשלח לשרת בסיס הנתונים‬
‫ביצוע פקודות ‪SQL‬‬
‫החזרת תוצאות השאילתא לשרת ‪WEB‬‬
‫בניית דף ‪ HTML‬עם הפלט‬
‫שיגור ברשת האינטרנט בפרוטוקול ‪ HTTP‬אל הדפדפן‬
‫יתרונות טכנולוגיית בסיסי הנתונים‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪39‬‬
‫שיתוף נתונים ‪ - Data Sharing‬שיתוף נתונים בין היישומים‬
‫השונים (שיתוף נתונים בין יחידות הארגון השונות)‬
‫אמינות הנתונים ‪ - Data Integrity‬ניהול קשרים‪ ,‬בדיקת‬
‫תקינות באופן מרכזי‬
‫זמינות הנתונים ‪ - Data Availability‬כלים מתוחכמים‬
‫לשליפה ועדכון‬
‫סטנדרטיזציה ‪ - Standartization‬כל הנתונים מוגדרים‬
‫ומנוהלים ע”י מנהל בסיס הנתונים ולא ע”י כל תוכנית יישום‬
‫בנפרד‪.‬‬
‫מביא לאחידות בהגדרת שמות נתונים ובבדיקת תקינות‬
‫יתרונות טכנולוגיית בסיסי הנתונים‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪40‬‬
‫גמישות לשינויים (‪ - )Flexibility to Changes‬קלות‬
‫בהתאמת בסיס הנתונים ותוכניות היישום לשינויים בארגון‬
‫אבטחת נתונים (‪ - )Data Security‬הגדרה ברורה למי‬
‫מותר לעשות מה ועל איזה נתונים‬
‫תמיכה בעיבוד תנועות (‪- )Transaction Processing‬‬
‫כשל במהלך ביצוע תנועה או אי השלמתה גורם לשחזור‬
‫המצב‬
‫תמיכה בעדכון בו‪-‬זמני (‪- )Concurrent Update‬‬
‫אפשרות לעדכון בו‪-‬זמני של הנתונים ע”י מספר משתמשים‬
‫(שירותי נעילה ושחרור)‪.‬‬
‫חסרונות טכנולוגיית בסיסי הנתונים‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫סבוכיות ‪ -‬תוכנה מורכבת הדורשת מיומנות בהפעלתה‬
‫ואחזקתה‬
‫עלות ‪ -‬מאות דולרים לתחנת עבודה פרטית‪ ,‬עשרות אלפי‬
‫דולרים לשרתים מחלקתיים ועד מאות אלפי דולרים‬
‫למערכות מחשב גדולות‬
‫משאבי חומרה ‪ -‬יותר זיכרון‪ ,CPU ,‬ושטחי עבודה בדיסק‬
‫רגישות לתקלות ‪ -‬תקלה יכולה לגרום להשבתה של חלק‬
‫גדול מפעילות הארגון‬
‫מורכבות בשחזור ‪ -‬בגלל הקשרים בין הנתונים‪ ,‬תיקון‬
‫ברשומה אחת גורר תיקונים רבים נוספים בטבלאות הקשורות‬
‫‪41‬‬
‫תרגילים‬
‫•‬
‫‪ .1‬בחן את מערכות המידע השונות הפועלות בארגון בו הנך לומד או עובד‪:‬‬
‫ בדוק האם מערכות מידע אלו משתמשות במערכות ניהול קבצים או במערכות ניהול‬‫בסיסי נתונים‪.‬‬
‫ באיזה שפות תכנות משתמשים בארגון?‬‫ האם מערכות אלו מנהלות מילון נתונים מרכזי‪ ,‬או שהגדרת הנתונים נמצאת בכל‬‫תוכנית יישום?‬
‫ לגבי מערכת ‪ ,RDBMS‬כיצד מתבצעת הגישה לבסיס הנתונים מתוך תוכנית‬‫היישום‪ .‬האם קיימות פקודות ‪ SQL‬בתוך השפה המארחת הדורשות שירותי קדם‪-‬‬
‫מהדר או שהיישום משתמש בממשק ‪?API‬‬
‫•‬
‫‪ .2‬עליך לבנות יישום באינטרנט‪:‬‬
‫ היישום מאפשר לתושבי העיר לגשת לאתר של הספרייה העירונית ולבדוק אם יש‬‫בספריה ספר מסוים‪ ,‬והאם הוא זמין להשאלה‪.‬‬
‫ תאר את מרכיבי היישום ואת שלבי העבודה שלו‪.‬‬‫הערה‪ :‬תוכל לבצע תרגיל זה באופן תיאורטי אך רצוי לבדוק היכן קיימת ספריה‬
‫שברשותה אתר שניתן לפנות אליו באמצעות האינטרנט‪.‬‬
‫‪42‬‬