מערכת ניהול מסדי הנתונים (DBMS)
הוצג| English | משמעות |
|---|---|
| DBMS/ˌdiː biː em ˈes/ | מערכת ניהול בסיסי נתונים |
| view/vjuː/ | מראה |
| backup/ˈbækʌp/ | גיבוי |
| data management/ˈdeɪtə ˈmænɪdʒmənt/ | ניהול נתונים |
| data dictionary/ˈdeɪtə ˈdɪkʃənəri/ | מילון נתונים |
| data modelling/ˈdeɪtə ˈmɒdəlɪŋ/ | מודל נתונים |
| logical schema/ˈlɒdʒɪkl ˈskiːmə/ | סקימה לוגית |
| data integrity/ˈdeɪtə ɪnˈteɡrɪti/ | שלמות נתונים |
| data security/ˈdeɪtə sɪˈkjʊərɪti/ | אבטחת נתונים |
| transaction/trænˈsækʃn/ | עסקה |
| concurrent access/kənˈkʌrənt ˈækses/ | גישה מקבילה |
| concurrency control/kənˈkʌrənsi kənˈtrəʊl/ | בקרת מקבילות |
| developer interface/dɪˈveləpə ˈɪntəfeɪs/ | ממשק למפתחים |
| query processor/ˈkwɪərɪ ˈprəʊsesə/ | מעבד שאלות |
שני אנשים, מושב אחד
- בשנת 1960 American Airlines הפעילה את Sabre, מערכת ההזמנות המחשבית הראשונה. סוכנים בעשרות ערים יכלו למכור מושבים באותו טיסה בו-זמנית, והמשימה החשובה ביותר של המערכת הייתה שמעולם לא נמכר אותו מושב פעמיים.
- קובץ משותף אינו יכול לעשות זאת: שני תוכניות קוראות "מושב 14C פנוי", שתיהן כותבות "נמכר", ושני נוסעים מגיעים לדלת היריד. מישהו צריך לשמש כגשר בין כל תוכנית לבין הנתונים ולשמש כמגשר.
- הגשר הזה הוא DBMS. כל תכונה בשיעור זה היא דבר שקובצים שטוחים לא יכלו לבצע: לתאר את עצמם, לשמור על עקביות במבט של כל משתמש, להטיל את הכללים, לעמוד בפני תקלה, ולאפשר לצוות אחת לבנות אפליקציות בעוד צוות אחר מעלה שאלות.
- שיעור זה עוסק בתכונות שהסילבוס מציין ובשתי כלי התוכנה שהוא מבקש שתתארו.
מהו DBMS
- מערכת ניהול מסדי נתונים (DBMS) היא התוכנה המנהלת את מסד הנתונים בצורה מרכזית. כל תוכנית ומשתמש נגישים לנתונים רק דרכה.
- היא פותרת כל מגבלה הקשורה לקובצים: העתק יחיד לכל עובדה, לכן אין חפיפה או אי-עקביות; עצמאות נתונים, כך שתוכניות אינן קשורות לאופן האחסון; אינטגרציה, ביטחון, גיבוי ואיכות נגישות מרכזיים עבור משתמשים רבים בו-זמנית.
- הסילבוס מציין חמש תכונות ושני כלים. למדו כל אחד מהם כדבר ש-DBMS עושה.
מעבדת שירות בסיסי נתונים
צפה כיצד DBMS הופך שאלה לגישה במוגנת לשיתוף נתונים.
התאם כל שירות של DBMS לפעולה שהוא מבצע.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
מערכת ניהול מסדי נתונים מאגדת שירותים אלו כך שתוכניות לעולם לא פוגעות בתיקי הארכיון הגולמיים ישירות.
ניהול נתונים ומילון הנתונים
- ניהול נתונים הוא הבקרה של ה-DBMS על אופן אחסון, ארגון, השבתה ועדכון הנתונים, כך שתוכניות לעולם אינן פוגעות בקובצים ישירות.
- היא שומרת על מילון נתונים: תיאור של כל טבלה, שדה, סוג נתונים, מפתח, יחס ואתחול, בנוסף למי רשאי לגשת למה. זוהי מידע על המידע.
- תוכניות מבצעות שאלות על המילון במקום להכניס את המבנה באופן קשיח, כך ששינוי בטבלה אינו שובר אותן. הוא גם מה שה-DBMS בודק כאשר הוא מאמת רשומה חדשה.
מילון נתונים במערכת ניהול מסדי נתונים מכיל:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
מילון הנתונים מתאר את מבנה מסד הנתונים, ולכן תוכניות מבצעות חקירה עליו במקום לקודד את המבנה באופן קשיח.
דגום נתונים והסקימה הלוגית
- דגום נתונים הוא הגדרת המבנה של הנתונים: האובייקטים, המאפיינים שלהם, המפתחות והיחסים, כמו בדיאגרמת E-R.
- התוצאה היא הסקימה הלוגית: העיצוב הלוגי הכולל של מסד הנתונים, הטבלאות והיחסים שלו, המתואר ללא קשר לאופן אחסון הבייטים על הכונן.
- מכיוון שהסכמה הלוגית נפרדת מאחסון הפיזי, האחסון יכול להיות אורגן מחדש, מוארך או מועבר והתוכניות עדיין רואות את אותו טבלאות.

התוכניות רואות טבלאות; ה-DBMS רואה דיסקים
הסקמה הלוגית של מסד נתונים מתארת:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
העיצוב הלוגי מופרד מאחסון פיזי, וזהו בדיוק מה שמאפשר שינוי באחסון ללא תחושת התוכנה.
שלמות נתונים ובטיחות נתונים
- שלמות נתונים: ה-DBMS שומר על נכונות וקונסיסטנטיות הנתונים על ידי הפעלת כללים במרכז: מקדמים ראשיים ייחודיים ולא ריקים, שלמות ייחוס בכל מקדם זר, סוגי נתונים וצמצומי אימות כמו טווח או ערך מרשימה.
- בטיחות נתונים: ה-DBMS שולט מי רשאי לראות ולשנות מה. זכויות גישה ניתנות למשתמשים בודדים או לקבוצות, טבלה לפי טבלה, כקריאה בלבד, קריאה וכתיבה, או ללא גישה; סיסמאות מאמתות כל משתמש; נתונים מאובנים יכולים להיות מוצפנים.
- בטיחות כוללת גם תהליכי גיבוי: העתקים תקופתיים של מסד הנתונים, עם יומן שינויים מאז, כך שהנתונים יוכלו לשקום לאחר תקלה.
אילו מהם מאפייני אבטחת נתונים של מערכת ניהול מסדי נתונים? סמן את כולם החלחלים.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
מי יכול לגשת, ושחזור לאחר אובדן, הם נושאי אבטחה. נורמליזציה היא צעד עיצוב למניעת כפילות.
דוגמה פותרת: כיצד ה-DBMS שומר על בטיחות הנתונים
- הסבר כיצד ה-DBMS מספק בטיחות נתונים. [4]
- למשתמש יש חשבון וסיסמה, כך רק אנשים מורשים נכנסים. המנהל מעניק למשתמש או לקבוצה כלשהם זכויות גישה לכל טבלה: קלרק יוכל לקרוא מחירים אך לא לשנות אותם; לקוח לא יוכל לראות את טבלת העובדים כלל. תצוגה יכולה להציג למשתמש רק את השדות שהוא צריך.
- ה-DBMS מפעיל תהליכי גיבוי: העתק תקופתי של מסד הנתונים לתווך נפרד, עם יומן עסקאות מאז ההעתקה, כך שתקלה או התקפה לא יאבדו נתונים.
- בטיחות עוסקת ב-מי רשאי לגשת; שלמות עוסקת בנתונים being נכונים. שמור עליהם נפרד כאשר השאלה מציינה אחד מהם.
הרבה משתמשים בו-זמנית
- גישה מקבילה: הרבה משתמשים עובדים על מסד הנתונים באותו זמן. בקרת קונקוררנטיות משתמשת בנעילות כדי ששני משתמשים לא יוכלו לעדכן את אותו רישום בו-זמנית ולהפסיד אותו: השני מחכה עד שהראשון סיים.
- עסקה היא קבוצת פעולות שאחת מהן מצליחות או כולן נכשלות, כך שביקוע באמצע העברה לעולם לא ישאיר כסף חסר משני החשבונות.
- תצוגה היא טבלה וירטואלית, שנבנתה מתוך שאילתה, המציגה למשתמש כל אחד רק את החלק שלו מהנתונים.
עסקת מאגר נתונים היא:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
עסקאות הן הכל או כלום, ולכן מאגר הנתונים לעולם לא נשאר חצי-מעודכן.
בקרת תחרותיות (נעילה) נדרשת כדי ש:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
נעילות מונעת שתי עדכונים מקבילים מתנגשות ומפגעות בנתונים משותפים.
עסקה היא הכל או כלום: היא או מסתיימת במלואה (commit) או מביטלת את עצמה במלואה (rollback), ולכן מאגר הנתונים לעולם לא נשאר חצי-מעודכן.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
אטומיות זו היא הסיבה לכך שפיצוי בנקאי לעולם לא יזכה לחייב חשבון אחד בלי לה credited את השני.
טבלה וירטואלית (לרוב שאלה שמורה) המציגה למשתמש רק את החלק הרלוונטי שלו מהנתונים נקראת ______.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
View מציג פרוסת נתונים מותאמת אישית, ולרוב מוגבלת, ללא העתקתה.
סדר את אירועי העדכון של שני משתמשים ל同一个 רשומה תחת בקרת סנכרון.
Difficulty 3/5 · 200 coins + a small bonus on first completion today
הנעילה משרטלת את שני העדכונים כך שאף אחד לא יעלה על השינוי של השני.
כלי התוכנה
- ממשק המפתח הוא סט הכלים וממשקי התכנות לבניית אפליקציות על מסד הנתונים: בונה טפסים להקלטת נתונים, יוצר דוחות, בונה שאילתות, עורך SQL, עורך מילון נתונים, ו-APIs שמאפשרים לתוכנית ב-Python או Java לשלוח SQL ולקבל תוצאות.
- מעבד השאילתות לוקח שאילתה שכתובה ב-SQL, בודק אותה מול מילון הנתונים, מחשב את הדרך היעילה ביותר לביצועה, מבצע אותה ומחזיר את קבוצת התוצאות.
- המשתמש שמקליד שאילתה והמפתח שבונה את טופס ההזמנה משתמשים בשנייהם ב-DBMS; האחד דרך מעבד השאילתות, והשני דרך ממשק המפתח.
התאם כל רכיב במערכת ניהול הנתונים למשימה שלו.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
הרצה של שאילתות, בניית אפליקציות, תיאור המבנה ועיצוב עצמו: ארבע דברים שונים שהמבחן מפרד ביניהם.
דוגמה מופת: שני הכלים בשימוש
- מאגר הנתונים של חנות משמש את המנהל, הזקוק לסכומי מכירות, ואת מתכנת שכותב אפליקציית ניהול מלאי. הסבר כיצד מעבד השאלות והממשק למפתחים משמשים.
- המנהל כותב או בונה שאלה עבור סכומי המכירות; מעבד השאלות פרסם אותה, השתמש במילון הנתונים לבדיקת קיום הטבלאות והשדות, בחר בדרך המהירה ביותר לביצועה, ביצע אותה והחזיר תוצאות.
- המתכנת משתמש בממשק למפתחים: יוצר הטפסים והדוחות כדי ליצור מסכי מלאי, ואת ה-API כך שהקוד באפליקציה יכול לשלוח SQL ל-DBMS ולקבל את הרקوردים בחזרה.
- ציון אחד לכל כלי, וציון אחד על מה שאותו אדם עושה עם הכלי.
סימונים נופלים מהיד
- ה-DBMS הוא התוכנה, לא הנתונים. הביטוי "ה-DBMS מחזיק את רקורדי הלקוחות" שגוי; הוא מנהל אותם.
- מילון הנתונים אחראי על נתונים על הנתונים: מבנים, סוגים, מקדים, זכויות. לא על הרקורדים עצמם.
- הסקימה הלוגית היא העיצוב הנפרד מאחסון פיזי. אמור ביטוי זה.
- אבטחה היא מי רשאי לגשת; שלמות היא הנכונות של הנתונים. גיבוי שייך לאבטחה.
הבנתך מושלמת
- DBMS הוא התוכנה שכל תוכנית עוברת דרכה: העתקה אחת לכל עובדה, עצמאות נתונים, כללים מרכזיים
- ניהול נתונים עם מילון נתונים (נתונים על הנתונים) · מודל נתונים המייצר את הסקימה הלוגית (העיצוב הנפרד מאחסון) · שלמות נתונים (כללים שנכופפים) · אבטחת נתונים (זכויות גישה למשתמשים ולקבוצות, סיסמאות, הצפנה, גיבויים)
- בקרת תחרותיות עם נעילה, עסקאות שיכולות להיות או כולן או כלום, תצוגות שמציגות למשתמש את החלק שלו
- כלים: הממשק למפתחים לבניית אפליקציות, מעבד השאלות לריצת SQL