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