Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lektsii_BD.doc
Скачиваний:
12
Добавлен:
14.04.2019
Размер:
1.55 Mб
Скачать
      1. Этапы доступа к бд

Опишем последовательность действий при доступе к БД (см. рис. 2.7):

  1. Сначала в СУБД определяется искомая запись, а затем для ее извлечения запрашивается диспетчер файлов (ДФ).

  2. Диспетчер файлов одним из рассмотренных способов адресации определяет страницу, на которой находится искомая запись, а затем для ее извлечения запрашивается диспетчер дисков (ДД).

  3. Диспетчер дисков определяет физическое положение искомой страницы на диске и посылает запрос на ввод – вывод данных (страница уже может находиться в ОЗУ).

С точки зрения СУБД база данных выглядит как набор записей, которые могут просматриваться с помощью ДФ. С точки зрения ДФ БД выглядит как набор страниц, которые могут просматриваться с помощью ДД.

ДД часто бывает компонентом ОС, с помощью которого выполняются все операции ввода/вывода, используя физические адреса записей. Однако ДФ не обязательно знать физические адреса записей, достаточно рассматривать диск как набор страниц фиксированного размера с уникальным идентификатором набора страниц.

запрос хранимых записей

запрос хранимых страниц

дисковые операции ввода/

вывода

Рисунок 2.7 Схема доступа к БД

Страница внутри набора обладает уникальным идентификационным номером страницы. Соответствие физических адресов на диске и номера станиц достигается с помощью ДД.

Преимущества страничной организации - все компоненты высокого уровня не зависят от конкретного диска.

Диск – это набор хранимых файлов. Файл – хранимый набор однотипных записей. В общем случае хранимый файл может храниться в памяти различными способами:

  • на одном томе памяти (диске);

  • на нескольких томах;

  • физически упорядоченным в соответствии со значением некоторого хранимого поля;

  • упорядоченным с помощью одного или нескольких индексов;

  • упорядоченным с помощью цепочек указателей;

  • к нему может быть обеспечен доступ методом хэш-адресации;

  • хранимые записи могут быть объединены в блоки (несколько логических записей в одной физической записи).

Набор страниц может содержать несколько хранимых файлов. Каждый хранимый файл имеет имя или идентификационный номер (file ID), уникальный в данном наборе страниц. А каждая хранимая (логическая) запись обладает идентификационным номером (record ID).

ДФ выполняет следующие операции с файлами:

  1. извлечь хранимую запись r из хранимого файла f;

  2. заменить хранимую запись r в хранимом файле f;

  3. удалить хранимую запись r из хранимого файла f;

  4. добавить новую хранимую запись r в хранимый файл f;

  5. создать новый хранимый файл f;

  6. удалить хранимый файл f.

В одних СУБД ДФ – компонент ОС, а в других – СУБД.

Все страницы диска делятся на несвязанные наборы. Один из наборов, набор пустых страниц, - свободное пространство на диске.

Операции, выполняемые ДД с наборами страниц:

  1. извлечь страницу P из набора S;

  2. заменить страницу P из набора S;

  3. добавить новую страницу в набор S (извлечь ее из набора пустых страниц и добавить в набор S);

  4. удалить страницу P из набора S (поместить ее в набор пустых страниц).

Пример 2.1 Рассмотрим БД «Заказы деталей», которая содержит таблицы ПОСТАВЩИКИ (Р1, Р2, Р3, Р4, Р5); ДЕТАЛИ (Д1, Д2, Д3, Д4, Д5, Д6); ПОСТАВКИ (РД1, РД2, РД3, РД4, РД5, РД6). Для размещения БД будет создан набор страниц:

0

1 Р1

2 Р2

3 Р3

4 Р4

5 Р5

6 Д1

7 Д2

8 Д3

9 Д4

10 Д5

11 Д6

12 РД1

13

РД2

14 РД3

15 РД4

16 РД5

17 РД6

18

19 пустые станицы на диске

На странице с номером 0 хранится информация о структуре БД: количестве записей в таблице; их распределении по страницам; о номерах и количестве пустых страниц. Выполним действия по модификации БД.

Добавить запись о поставщике Р6. Для этого ДФ вставляет новую хранимую запись, а ДД ищет первую пустую страницу (18), а затем добавляет ее к набору страниц поставщиков.

Удалить запись о поставщике Р2. ДФ удаляет запись, а ДД возвращает страницу 2 в набор пустых страниц.

Добавить новую запись о детали Д7. Для этого ДФ вставляет новую хранимую запись, а ДД ищет первую пустую страницу (2), а затем добавляет ее к набору страниц о деталях.

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

Для некоторого хранимого файла всегда можно осуществить последовательный доступ ко всем хранимым записям обычно в порядке возрастания RID (под термином «последовательный» понимаем доступ согласно последовательности записей внутри страницы и последовательности страниц внутри набора страниц). Такая последовательность называется физической, хотя она не всегда соответствует физическому расположению данных на диске. Это наиболее простой способ доступа к данным - последовательное сканирование.

Для ускорения поиска используются технологии хеширования, индексирования, поиска с использованием В-деревьев.

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