Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
METODIChKA_-_OBDZ_II_semestr.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
905.22 Кб
Скачать
  1. Непідпорядковані файли

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

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

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

  1. Підпорядковані файли

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

В загальному випадку бінарний пошук ефективніший за лінійний, однак цей метод найчастіше застосовується для пошуку даних в первинній (оперативній), а не в вторинній пам’яті (зовнішній).

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

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

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

Контрольні питання:

  1. Які існують головні типи організації файлів?

  2. Що таке метод доступу до файлу?

  3. За яким принципом організовані непідпорядковані файли?

  4. За яким принципом організовані підпорядковані файли?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]