אינדקס (מחשב)
במחשב, אינדקס (באנגלית: Index) הוא טבלה המאפשרת גישה ישירה לרשומות על-פי מפתח, מבלי שיהיה צורך לסרוק את הקובץ, באמצעות התאמה בין המפתח של הרשומה לבין כתובתה באמצעי האחסון (בעיקר דיסק קשיח).
המפתח של הרשומה יכול להיות שדה כלשהו בתוכה המזהה אותה באופן יחיד ומאפשר את אחזורה (לדוגמה מספר זהות ברשומה העוסקת באדם, מספר קטלוגי ברשומה העוסקת בפריט במלאי וכדומה).
האינדקס ממוין לפי המפתח. באופן הזה, גישה לרשומה ספציפית דרך המפתח של אותה רשומה דורשת רק חיפוש ברשימה ממוינת (האינדקס), לכך קיימים אלגוריתמים יעילים מאוד, בניגוד לחיפוש הרשומה עצמה באמצעי האחסון עצמו שעשוי להיות מאוד לא יעיל כאשר כמות הרשומות המאוחסנות הוא גדול. בנוסף, האינדקס מאפשר לאחסן את המידע עצמו באופן מאוד "לא מסודר" בלי שהדבר ישפיע כמעט על מהירות הגישה אליו.
בניית האינדקס נעשית בדרך כלל על ידי מערכת ההפעלה או מערכת לניהול מסד נתונים, לאחר שבעת הגדרת הרשומה נקבעו שדות המפתח שלה.
בעת אחזור מידע, ניתן לבקש רשומה לפי מפתחה. מסד נתונים טבלאי מבצע את סריקת האינדקס לאיתור כתובת הרשומה ולאחר מכן מאתר את הרשומה הפיזית בקובץ. אם לא אותרה הרשומה יציגו מסדי נתונים שונים הודעות שגיאה או שיחזירו תוצאה ריקה.
אם מספר רשומות האינדקס גדול ניתן לשפר את יעילות הגישה על ידי בניית מספר רמות אינדקס (multiple level index).
ישנם סוגים שונים של אינדקסים :
- אינדקס ממצה, המכיל רשומת אינדקס אחת עבור כל רשומת נתונים. רשומת האינדקס תכיל את ערך המפתח ואת כתובת הרשומה.
- אינדקס סלקטיבי, המכיל רשומת אינדקס אחת עבור קבוצת רשומות נתונים. האינדקס מכיל את המפתח של הרשומה בעלת הערך הגבוה ביותר (או הנמוך ביותר) הדרוש לאיתור קבוצת רשומות הנתונים.
מימושים שונים של אינדקסים למידע שמאוחסן במסדי נתונים עושים שימוש במגוון מבני נתונים שמבוססים על טבלאות גיבוב, עצי +B, עצי R, ועוד.
ראו גם
[עריכת קוד מקור | עריכה]לקריאה נוספת
[עריכת קוד מקור | עריכה]- רז הייפרמן, ארגון נתונים וניהול קבצים, הוצאת הוד עמי, הרצליה, 1995.