А   Б  В  Г  Д  Е  Є  Ж  З  І  Ї  Й  К  Л  М  Н  О  П  Р  С  Т  У  Ф  Х  Ц  Ч  Ш  Щ  Ю  Я 


Файл - індекс

Файл індексів дозволяє здійснювати прямий доступ до записів даних основного файлу за допомогою термінів класифікації.

Нехай файл індексу зберігається у відомій сукупності блоків і потрібно знайти запис (у2 Ь), таку, що иапокриває задане значення ключа Vi. Цей метод доцільно застосовувати лише для невеликих індексів, оскільки весь індекс повинен викликатися в основну пам'ять.

Сортований індексований файл динозаврів. За допомогою файлу індексу визначаємо місце розташуваннячетвертого блоку файлу динозаврів і виявляємо, що цей блок також заповнений. Тому створюємо новий блок, спочатку містить тільки запис платеозаврів, і поміщаємо його між третім і четвертим блоками.

У певному сенсі файл індексу подібний будь-якому іншомуфайлу з ключем, і фактично ми можемо скористатися тим, що у файлі індексу записи ніколи не є закріпленими покажчиками з іншого місця.

При використанні для адресації файлу індексу пошук в основному виробляється в ньому, а не у файлі. У системах пакетноїобробки, як правило, використовуються тільки основні індекси, так як численні групи запитів можуть бути зібрані і відсортовані таким чином, щоб у процесі одного послідовного перегляду записів можна було отримати потрібну інформацію.

Щобвстановити зв'язок або відновити пропущені файли індексів або заміток, виконайте описані нижче дії.

Комплекс файлів тезауруса складається з файлу індексів, файлу посилань і файлу структур і містить сукупність елементів тезауруса, а саме: дескриптори,синоніми, нотації систематики, а також зв'язки між елементами тезаурусу.

Сортований індексований файл динозаврів. Далі вставляємо запис для нового блоку в файл індексу. Вона заміщає запис птеродактиля в першому блоці файлу індексу. В результаті цей записстає зайвою. Pассматрівая таблицю блоків індексу, знаходимо наступний блок індексу. Переконуємося в тому, що в ньому є місце, і включаємо запис індексу для птеродактиля перед записом трайсератопса.

Запити зазначеного типу виключають деякі способиорганізації файлів індексу. Наприклад, було б незручно використовувати для них організацію хешірованних файлів, розглянуту в розд.

Існує, однак, важлива відмінність між файлами індексу і обговорюваними звичайними файлами. Ймовірно, крім виконання операціївключення, видалення та модифікації над файлами індексу, нам буде потрібно отримувати відповіді на запити наступного виду: при заданому значенні ключа D. Таким способом ми знаходимо блок Ь головного файлу, що містить запис зі значенням ключа vlt оскільки файл індексу з гарантієює сортувати.

Записи головного файлу можуть бути закріпленими, але запису файлу щільного індексу ніколи такими не є.

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

Щоб знайти,модифікувати або видалити деяку запис головного файлу, потрібно здійснити спочатку пошук у файлі щільного індексу, який вказує блок головного файлу, МДД - знаходиться необхідна запис. Далі слід читати цей блок головного файлу і пере. Таким чином,виконуються ще два доступу до блоків на додаток до доступам, необхідним для пошуку у файлі щільного індексу.

Таким чином, описуючи операції над головним файлом, ми передбачаємо виконання тих же самих операцій над файлом індексу, припускаючи, щочитач знає, як реалізувати ці операції над індексом. Оскільки файл індексу не має індексу і стратегії пошуку для нього вже описані вище, ми не будемо тут докладно обговорювати це питання.

Зазвичай ці файли носять те ж ім'я, що й файл таблиці, і мають розширення,характерне для файлу індексів або заміток.

Якщо ви можете відкрити таблицю, але не можете модифікувати її значення, то або файл таблиці, або один з файлів індексів чи заміток відкритий тільки для читання.

У певному сенсі файл індексу подібний будь-якому іншомуфайлу з ключем, і фактично ми можемо скористатися тим, що у файлі індексу записи ніколи не є закріпленими покажчиками з іншого місця.

Якщо ви не можете відкрити таблицю, яку пов'язали з базою даних dBASE, MicrosoftVisual FoxPro або Paradox, можливо, що таблиця чиодин з відповідних файлів, такий як файл індексів, були переміщені або видалені. Access створив, коли ви встановлювали зв'язок з таблицею, був переміщений або видалений.

Таким чином, описуючи операції над головним файлом, ми передбачаємо виконання тих же самихоперацій над файлом індексу, припускаючи, що читач знає, як реалізувати ці операції над індексом. Оскільки файл індексу не має індексу і стратегії пошуку для нього вже описані вище, ми не будемо тут докладно обговорювати це питання.

Сортованийіндексований файл динозаврів. Тепер додамо запис апатозавра. Знайдемо у файлі індексу, що ключ апатозавр покривається ключем аллозавр.

Припустимо, що у файл додається запис про еласмозавре. У результаті перегляду файлу індексу, наприклад, за допомогою лінійногопошуку з'ясовуємо, що значення ключа Еласмозавр покривається значенням Диплодок. Слідуючи за вказівником в запису диплодока у файлі індексу, приходимо в третій блок файлу динозаврів.

Доступ до інформації, що зберігається на магнітних стрічках, проводиться за допомогою спеціальногофайлу, який розташовується на магнітному диску і містить керуючу інформацію про місцезнаходження відомостей на магнітних стрічках у вигляді так званих індексів. При виконанні операції пошуку за допомогою файлу індексів можна звернутися прямо до тієї стрічці, на якійзнаходиться потрібна інформація і шляхом автоматично керованої перемотування досягти необхідної частини фонду.

Сортований індексований файл динозаврів. Далі вставляємо запис для нового блоку в файл індексу. Вона заміщає запис птеродактиля в першому блоці файлуіндексу. В результаті ця запис стає зайвою. Pассматрівая таблицю блоків індексу, знаходимо наступний блок індексу. Переконуємося в тому, що в ньому є місце, і включаємо запис індексу для птеродактиля перед записом трайсератопса.

Оскільки на кожному етапічисло блоків зменшується вдвічі, то не більше ніж за flog2 (n 1) 1 наш пошук локалізується до одного блоку. Таким чином, при двійковому пошуку у файлі індексу потрібно викликати в основну пам'ять приблизно Iog2 n блоків.

Істотну особливість АІДОС для ОС EG являєнакопичення інформації в комплексах файлів. Комплекс файлів складається в загальному випадку з трьох файлів: файл індексів, основний файл і файл структур.

Існує, однак, важлива відмінність між файлами індексу і обговорюваними звичайними файлами. Ймовірно, крім виконанняоперації включення, видалення та модифікації над файлами індексу, нам буде потрібно отримувати відповіді на запити наступного виду: при заданому значенні ключа D. Таким способом ми знаходимо блок Ь головного файлу, що містить запис зі значенням ключа vlt оскільки файл індексу згарантією є сортувати.

У комплексі відомостей знаходяться відомості у вигляді сегментів відомостей і посилання між ними. До комплексу управління відносяться файли описів введення і виведення, комплекс файлів опису фонду, комплекс файлів тезауруса, файл індексіввиведення, інверсний файл і такі допоміжні файли, як файл одиниць вимірювання та валютних одиниць.

Неважко довести наступне твердження. Якщо відомо передбачуваний розподіл значень ключа, то можна очікувати, що буде розглянуто близько 1 - flog a Iog2 n блоківфайлу індексу.

Приклад атрибутного індексу. Пошук по атрибутного індексу виконується швидше, ніж по інвертувати матричному індексу, але має значно менше пошукових можливостей. Однак Атрібутний індекс дозволяє знаходити інформацію, яка не єскладовою частиною тексту документа. Крім того, файли атрібутних індексів значно менше за розміром файлів інвертованих матричних індексів з повним текстом, оскільки в цьому випадку з кожним документом пов'язано набагато менше збереженої інформації.

Якщо блок Bi iне існує, оскільки ik, або існує, але повний, необхідно отримати новий блок, який буде слідувати по порядку за Bt. Помістимо зайву запис з Bt в новий блок. Включимо далі запис в файл індексу для нового блоку, використовуючи ту ж стратегію, що й для включеннязаписи в головний файл.

З цієї причини за допомогою індексу знаходимо запис бронтозавра і видаляємо її з другого блоку файлу динозаврів. Після цього модифікуємо запис у файлі індексу для блоку 2 файли динозаврів, змінюючи значення її ключа Бронтозавр на Компсогнат.Зауважимо, що, хоча поле ключа змінилося, порядок цього запису не змінився, і здійснювати видалення і включення у файлі індексу не потрібно.

Припустимо, що у файл додається запис про еласмозавре. У результаті перегляду файлу індексу, наприклад, за допомогою лінійногопошуку з'ясовуємо, що значення ключа Еласмозавр покривається значенням Диплодок. Слідуючи за вказівником в запису диплодока у файлі індексу, приходимо в третій блок файлу динозаврів.

Оскільки записи індексу не закріплені, будемо припускати, що всі заповнені субблокизнаходяться лівіше вільних в будь-якому блоці. На рис. 2.10 значення ключа є цілими числами. Вони заповнені в первісному файлі, а також у файлах індексу, наскільки це було можливо зробити.

Існує, однак, важлива відмінність між файлами індексу і обговорюванимизвичайними файлами. Ймовірно, крім виконання операції включення, видалення та модифікації над файлами індексу, нам буде потрібно отримувати відповіді на запити наступного виду: при заданому значенні ключа D. Таким способом ми знаходимо блок Ь головного файлу, що містить запис зізначенням ключа vlt оскільки файл індексу з гарантією є сортувати.

Щоб знайти, модифікувати або видалити деяку запис головного файлу, потрібно здійснити спочатку пошук у файлі щільного індексу, який вказує блок головного файлу, МДД - знаходитьсянеобхідна запис. Далі слід читати цей блок головного файлу і пере. Таким чином, виконуються ще два доступу до блоків на додаток до доступам, необхідним для пошуку у файлі щільного індексу.

Тому щоб уникнути копіювання всіх магнітних стрічок а файломвідомостей і забезпечити логічно зростаючу послідовність номерів, всі відомості вносяться в так званий файл переповнення, розташований на магнітний дисках. Відомості в цьому файлі запам'ятовуються послідовно. У файлі індексів автоматично виробляютьсявідповідні зміни.

З цієї причини за допомогою індексу знаходимо запис бронтозавра і видаляємо її з другого блоку файлу динозаврів. Після цього модифікуємо запис у файлі індексу для блоку 2 файли динозаврів, змінюючи значення її ключа Бронтозавр на Компсогнат.Зауважимо, що, хоча поле ключа змінилося, порядок цього запису не змінився, і здійснювати видалення і включення у файлі індексу не потрібно.

З метою включення запису зі значенням ключа vt застосуємо процедуру пошуку, щоб знайти блок Bt, в якому повинна була бзнаходитися такий запис. Помістимо новий запис у відповідне для неї місце в блоці BI, зберігши сортований порядок і перемістивши вправо записи зі значеннями ключа, більшими, ніж vlt щоб звільнити місце для нового запису. При наявності в блоці Bt принаймні одноговільного субблока в нього помістяться всі записи. Якщо v1 передує значенню ключа і2 першого запису BI (це може мати місце лише при i 1), необхідно модифікувати статтю файлу індексу для блоку Bit використовуючи тільки що описану процедуру модифікації.

При цьому виможете використовувати дані цієї таблиці у власних запитах. Якщо зовнішня таблиця містить файл індексів, то вкажіть його назву при необхідності. Якщо файлу індексів не існує, клацніть на кнопці Відміна.

Щоб знайти, модифікувати або видалити деякузапис головного файлу, потрібно здійснити спочатку пошук у файлі щільного індексу, який вказує блок головного файлу, МДД - знаходиться необхідна запис. Далі слід читати цей блок головного файлу і пере. Таким чином, виконуються ще два доступу до блоків на додатокдо доступам, необхідним для пошуку у файлі щільного індексу. При включенні запис поміщається в кінець головного файлу, а покажчик на неї - в файл щільного індексу. Ця операція знову вимагає на два доступу більше, ніж операція над файлом щільного індексу.

Прицьому ви можете використовувати дані цієї таблиці у власних запитах. Якщо зовнішня таблиця містить файл індексів, то вкажіть його назву при необхідності. Якщо файлу індексів не існує, клацніть на кнопці Відміна.

Поле, значення якого оновлюється, івираз, вказане в опції WITH, повинні мати один і той же тип даних. Для числових полів значення виразу, вказане в опції WITH може перевищувати довжину поля. У цьому випадку значення поля записується у форматі з плаваючою комою. При запису вмісту полів Memo в звичайні поля частину поля Memo, не вкладається в звичайне поле, обрізається. Опція ADDITIVE дозволяє не заміщати, а додавати текст, заданий опцією WITH до вмісту полів Memo. Оновлення значень проіндексованих полів файлу БД викликає автоматичне оновлення файлу індексів. Оновлена ??запис змінює своє положення в індексному файлі. Якщо в команді REPLACE задані кордони і опції WHILE, FOR, то можуть бути оновлені не всі записи. Наприклад, якщо виконується команда REPLACE ALL, то оновлюється тільки перший запис і записи, значення яких слідують за новим значенням цього запису. Це відбувається внаслідок того, що при оновленні виконуються зміни в індексі і покажчик запису встановлюється на наступну за оновленою запис.

Щоб знайти, модифікувати або видалити деяку запис головного файлу, потрібно здійснити спочатку пошук у файлі щільного індексу, який вказує блок головного файлу, МДД - знаходиться необхідна запис. Далі слід читати цей блок головного файлу і пере. Таким чином, виконуються ще два доступу до блоків на додаток до доступам, необхідним для пошуку у файлі щільного індексу. При включенні запис поміщається в кінець головного файлу, а покажчик на неї - в файл щільного індексу. Ця операція знову вимагає на два доступу більше, ніж операція над файлом щільного індексу.

Схема взаємодії із зовнішніми програмами Gopher - сервера. В інформаційній системі Gopher є два види стандартних серверів. Звичайні або загальні сервери забезпечують доступ до ресурсів файлової системи: файлів і директорій. Крім звичайних серверів є ще пошукові сервери, які виконують запити клієнтів. Пошуковий сервер використовується для обслуговування запитів, складених з ключових слів. У відповідь на такий запит він повертає список документів, що задовольняють запиту. Фактично відбувається генерація нового документа Gopher на льоту. При описі пошукових серверів часто використовують поняття пошук по повному тексту документа, що в загальному випадку не відповідає реальному стану речей. Зазвичай пошук здійснюється за допомогою файлів індексів. Індекси складаються спеціальною програмою для кожного файлу один раз. Індексний спосіб пошуку - процедура, досить відома і широко застосовувана в інформаційно-пошукових системах. Зазвичай індекс складається з слів і адрес документів, в які це слово входить.