змінити структури даних так, щоб вилучити посилання на
неіснуючий запис.
10.3. Підміна покажчиків
Часто структура записів налічує покажчики або адреси. Подібну
ситуацію не можна назвати типовою для записів, які представляють
кортежі відношень, однак вона достатньо поширена, якщо йдеться
про об’єкти. Окрім того, сучасні об’єктно-реляційні системи баз
даних дають змогу використовувати атрибути типу покажчика (які
називають посиланнями), так що необхідність опису покажчиків у
контексті записів виникає навіть у реляційному середовищі.
Зрештою, на основі блоків, взаємозв’язаних між собою за
допомогою покажчиків, формуються структури індексів
(детальніше про це у розділі 3). Отож обговоримо проблему
керування покажчиками при переміщенні блоків із вторинних
сховищ даних в ОП, і навпаки.
Як ми згадували раніше, кожен блок, запис, об’єкт чи інший
адресований елемент даних володіє адресами двох типів.
1. Адреса в базі даних – адреса у просторі адрес сервера бази
даних, яка містить, зазвичай, близько восьми байтів і задає
місцерозташування елемента даних у вторинному сховищі.
2. Адреса пам’яті – адреса у віртуальному адресному
просторі після буферизації елемента у віртуальній пам’яті,
яка налічує, зазвичай, чотири байти.
Якщо елемент розташовано у базі даних, посилатися на нього
необхідно, використовуючи адресу в базі даних. Якщо ж елемент
зчитано в ОП, то він допускає можливість звертання до нього як за
адресою в базі даних, так і за адресою пам’яті. Застосовуючи для
посилання на елемент, який є у віртуальній пам’яті, покажчик,
зручніше використовувати адресу пам’яті, оскільки переміщатися
за значенням такого покажчика вдається за допомогою єдиної
машинної інструкції.
Використання адрес у базі даних, навпаки, вимагає значних
обчислювальних витрат, які полягають у використанні таблиці
трансляції. За допомогою цієї таблиці «базові» адреси всіх елемен-
тів, які перебувають у цей час у віртуальній пам’яті, транслюються
в адреси пам’яті. Таблиця трансляції, яку схематично зображено на
92