|
פרק 1 - מבוא לבסיסי נתונים באינטרנט
המודל ההיררכיכפי שהדבר משתמע מהשם, בבסיס נתונים זה הנתונים מסודרים לפי היררכיה. הדרך האינטואיטיבית להבנת מבנה זה של בסיס נתונים היא אנלוגיה לעץ הפוך של נתונים. במודל זה, יחס (יחס בתורת בסיסי הנתונים זה בעצם המונח שפירושו טבלה של נתונים ) אחד משמש שורש, ושאר היחסים מסתעפים ממנו. שיטה זו מוכרת לך בודאי, משום שכל המערכות לניהול קבצים שמבוססות על מערכת ההפעלה חלונות בנויות לפי המודל הזה. הקשרים במודל הנ"ל הם קשרי אב-בן, ז"א לבן יתכן רק אב אחד ואילו לאב יתכנו כמה וכמה בנים. אבות ובנים מקושרים ביניהם בעזרת קשרים המכונים "מצביעים" (שמיוצגים במערכת הקבצים בעזרת כתובות פיסיות למשל). לכל אב רשימת מצביעים לכל בניו. כללי האב-בן מבטיחים גישה שיטתית לנתונים. כדי להגיע לטבלה מהרמה התחתונה צריך להתחיל בשורש לרדת לאורך הרמות של העץ עד שמגיעים למטרה. לכן אחת הבעיות עם השיטה היא שעל המשתמש לדעת את מבנה העץ על מנת להיות מסוגל למצוא בו משהו. בכל זאת המודל ההיררכי יעיל בהרבה מהמודל של הקבצים עליו דיברנו מקודם, משום שאין בו צורך כה גדול בנתונים שחוזרים על עצמם. אם משנים משהו, יתכן ונצטרך לבצע את השינוי במקום אחד בלבד. לממשל בדוגמא שבה השתמשנו בפרק הראשון "מה זה בסיס נתונים":
כפי שהזכרנו בעבר, במקרה שבסיס נתונים זה יהיה בנוי בשיטת הקבצים, נאלץ לשמור בקבצים השונים הרבה נתונים שחוזרים על עצמם. אם נממש את אותו בסיס הנתונים במודל ההיררכי, נקבל הרבה פחות חזרות: אך למרות השיפור, יש במודל ההיררכי בעיות רבות. למשל אי אפשר להוסיף רשומה לטבלת בן עד שזו לא הוכלה בטבלת האב. זה עלול לגרום לבעיות, אם לדוגמה רוצים להוסיף סטודנט שעדיין לא נרשם לאף קורס. מה שגרוע יותר הוא שבסיס הנתונים ההיררכי עדיין יוצר חזרות על נתונים. דמיין לעצמך שבבסיס הנתונים שבדוגמה יש רמה גבוהה יותר שכוללת קורסים מרובים. במקרה כזה תיוצרנה כפילויות, שכן פרטיו של סטודנט הרשום למספר קורסים יחזרו על עצמם ב"עץ" של כל קורס. הכפילויות קיימות בגלל שהמודל ההיררכי מסוגל לתאר היטב קשרים מסוג יחיד-לרבים, אך לא רבים-לרבים, כי לבן יתכן רק אב אחד. אבל במקרים רבים תרצה שהבן יהיה מקושר לכמה אבות. למשל הקשר בין סטודנט לקורס הוא מסוג רבים-לרבים. כל סטודנט יכול להירשם למספר קורסים, ובכל קורס לומדים מספר סטודנטים. כיצד תוכל לממש קשרים כאלו בצורה פשוטה ויעילה בעזרת בסיס הנתונים ההיררכי? התשובה היא שלא תוכל. למרות שהבעיה ניתנת לפתרון ע"י ריבוי בסיסי נתונים ויצירת קשרים לוגיים בין בנים, פתרון זה הוא מאולץ ומסורבל. בכדי לפתור בעיה רצינית זו, המציאו את המודל הרשתי, עליו מדבר הפרק הבא. פרק 1 -> פרק 2 -> פרק 3 -> פרק 4 -> פרק 5 -> |