ІНДЕКСАЦІЯ БАЗИ ДАНИХ

Ще раз розглянемо дані про постачальників Припустимо, що одним з найважливіших (тобто часто виконуваних і тому вимагають високої продуктивності) є запит: Визначити всіх постачальників з міста з (Де с – формальний параметр) З урахуванням такої вимоги адміністратор бази даних може вибрати збережене уявлення, показане на рис Г9 У цьому поданні застосовуються два файлу – файл постачальників і файл міст (можливо, певні в різних наборах сторінок) файл міст, який передбачається зберігати в послідовності міст (оскільки CITY – первинний ключ), включає покажчики (ідентифікатори записів) на файл постачальників Тепер, щоб визначити всіх постачальників (скажімо) з Лондона, в СУБД можна застосувати одну з двох стратегій, описаних нижче

Рис Г9 Індексація файлу постачальників по атрибуту CITY

1 Виконати пошук у всьому файлі постачальників, відбираючи ті записи, в яких значення міста

одно London

2 Знайти в файлі міст елементи зі значенням London і після виявлення кожного такого елемента перейти за вказівником до відповідної записи у файлі постачальників

Якщо відносна кількість постачальників з Лондона в порівнянні з іншими невелика, то друга з цих стратегій, мабуть, буде більш ефективною, ніж перша, оскільки, по-перше, в СУБД є інформація про фізичну впорядкування файлу міст (і пошук у цьому файлі може бути припинений відразу після виявлення міста, який слідує за Лондоном в алфавітному порядку), і, по-друге, навіть якщо і доведеться виконати пошук у всьому файлі міст, цей пошук все одно, швидше за все, зажадає в цілому меншої кількості операцій введення-виведення, оскільки файл міст має менші фізичні розміри, ніж файл постачальників (у звязку з тим, що записи в ньому коротше)

У даному прикладі файл міст може розглядатися як індекс (індекс CITY) до файлу постачальників рівним чином цю думку можна виразити так, що файл постачальників проіндексований за допомогою файлу міст Таким чином, індекс являє собою файл особливого роду А саме, індекс – це файл, кожен елемент (тобто кожна запис) якого складається точно з двох значень: значення даних і покажчика (ідентифікатора запису) значенням даних є значення деякого поля індексованого файлу, а покажчик визначає запис в цьому файлі, що має таке ж значення цього ж поля Відповідне поле індексованого файлу називають індексованих полем або іноді ключем індексу (Але автор не використовує останній термін)

Примітка Індекси отримали таку назву за аналогією зі звичайними індексами (предметними покажчиками), передбаченими в книгах, які також складаються з елементів, що містять покажчики (Номери сторінок), для полегшення процесу вибірки інформації з індексованого файлу (Тобто з основного обсягу книги) Але слід зазначити, що, на відміну від індексу CITY, показаного на рис Г9, предметні вказівники є ієрархічно стислими (тобто елементи зазвичай містять посилання на кілька номерів сторінок, а не тільки на один номер) Див розділ Г7

Додаткова термінологія Індекс на первинному ключі (наприклад, у разі постачальників індекс на поле S #) іноді називають первинним індексом Індекс на будь-якому іншому полі (тобто в даному прикладі індекс CITY) іноді називають вторинним індексом Крім того, індекс на первинному ключі або, взагалі кажучи, на будь-якому потенційному ключі часто називають унікальним індексом

Джерело: Дейт К Дж, Введення в системи баз даних, 8-е видання: Пер з англ – М: Видавничий дім «Вільямс», 2005 – 1328 с: Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*