Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
экзамен / BD_konspekt_lektsiy.doc
Скачиваний:
31
Добавлен:
06.02.2018
Размер:
142.34 Кб
Скачать

3. Физическая организация бд

3.1. Основы физической организации бд

Факторы, влияющие на выбор физической организации БД

При выборе того или иного метода доступа учитываются следующие факторы:

  1. Скорость поиска данных (главный фактор).

  2. Скорость модификации данных.

  3. Общий объем БД.

  4. Реализация ограничений целостности на данные.

  5. Обеспечение многопользовательского доступа к данным.

Перечисленные требования к физической организации БД являются противоречивыми (требуется компромисс).

Классификация методов доступа.

Выбор метода доступа зависит от пользовательских запросов.

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

1. Получить все или многие записи. При ответе на запрос требуется просмотреть от X % до 100 % записей. Величина X зависит от класса СУБД (Oracle: X  25 %) (осуществяется последовательный просмотр файлов БД без использования поиска по ключам). Методы доступа, соответствующие этому классу, должны реализовать эффективную последовательную обработку (физически смежный последовательный файл, связанные списки).

2. Получить уникальную запись. Требуется одна запись по значению первичного ключа. Для решения этой задачи ориентированы практически все индексные методы доступа: индексно-последовательный, индексно-произвольный, иерархические индексные файлы, Б-дерево). А также прямой метод доступа и хеширование.

3. Получить некоторые записи (0 % – X %). Для реализации таких запросов используются инвертированные файлы, мультисписки, индексы-соединения.

29.Факторы, влияющие на выбор физической организации БД

При выборе того или иного метода доступа учитываются следующие факторы:

1. Скорость поиска данных (главный фактор).

2. Скорость модификации данных.

3. Общий объем БД.

4. Реализация ограничений целостности на данные.

5. Обеспечение многопользовательского доступа к данным.

Перечисленные требования к физической организации БД являются противоречивыми (требуется компромисс).

30.Классификация методов доступа.

Выбор метода доступа зависит от пользовательских запросов.

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

1. Получить все или многие записи. При ответе на запрос требуется просмотреть от X % до 100 % записей. Величина X зависит от класса СУБД Методы доступа, соответствующие этому классу, должны реализовать эффективную последовательную обработку (физически смежный последовательный файл, связанные списки).

2. Получить уникальную запись. Требуется одна запись по значению первичного ключа. Для решения этой задачи ориентированы практически все индексные методы доступа: индексно-последовательный, индексно-произвольный, иерархические индексные файлы, Б-дерево). А также прямой метод доступа и хеширование.

3. Получить некоторые записи (0 % – X %). Для реализации таких запросов используются инвертированные файлы, мультисписки, индексы-соединения.

31. Структура данных в индексно-последовательном методе доступа.

Основное назначение этого метода – поиск уникальных записей по значению ключа (2-й класс запросов). Однако, в отличие от других индексных методов, реализуется достаточно эффективно последовательный доступ (1-й класс запросов).

Все записи в основном файле упорядочены по возрастанию первичного ключа. Основной файл разбит на блоки фиксированной длины, содержащие целое количество записей. Для каждого блока формируется запись в индексном файле, содержащая значение ключа последней записи блока (так как упорядочены по возрастанию – наибольшее значение в блоке) и адрес начала блока. Индексный файл имеет аналогичную блочную структуру.

Поиск записи

Поиск в индексном файле: последовательный просмотр блоков индексного файла со сравнением искомого значения ключа с ключами в индексном файле. После обнаружения ключа в файле больше искомого – переход на соответствующий блок основного файла и поиск записи в блоке.

Индексно-последовательная организация является эффективной по памяти (короткий индекс). Использование метода доступа ISAM для IBM 360-370 позволяет сделать эффективным поиск данных. Один блок – одна дорожка устройства, последовательность друг за другом идущих блоков – цилиндр устройства, то есть последовательный просмотр осуществляется без перемещения считывающих головок.

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

Дополнение записей

Определяется местоположение дополняемой записи в соответствии с возрастание первичного ключа. Если она не помещается в найденный блок, то последние записи, не поместившиеся в блок, перемещаются в область переполнения: отдельное пространство на диске. Там они не сортируются, а связываются в цепочку в соответствии с возрастанием первичного ключа: перемещенные записи становятся первыми в цепочке, соответствующей данному блоку. В данном случае используется стандартный прием в методах доступа – организация области переполнения.

32. Отведенное свободное пространство и область переполнения.

Кроме того, используется метод отведенного свободного пространства: в каждом блоке при первоначальной загрузке файла резервируется пустое пространство в конце блока (примерно 30 %). Такая процедура дополнения требует операций сопровождения основного файла: его периодическую перезагрузку.

34.Специальные методы обработки переполнения.

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

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

Метод нелинейного поиска. В отличие от предыдущего метода адрес следующей просматриваемой записи вычисляется по формуле, аналогичной функции хеширования. Этот метод дает более равномерное распределение записей по файлу, однако требует хаотического обращения к файлу (неупорядоченное перемещение считывающих головок на диске). При открытой адресации этого нет.

35.Определение и структура В-дерева. Поиск в В-дереве

В-дерево – это сбалансированное многоходовое дерево. Особенностью В-дерева является то, что каждая вершина не должна содержать ровно N ключей; вершины В-дерева могут иметь свободное пространство, используемое для вставки новых элементов. Такая организация дерева упрощает операции вставки и удаления.

Название «В-дерево» можно объяснить двумя способами:

а) от слова Balanced – сбалансированное дерево, в котором все листья имеют один и тот же уровень;

б) от Bayer – автора данной структуры.

Определение:

В-деревом порядка n называется структура, обладающая следующими свойствами:

1. Все пути от корня до любых листьев имеют одинаковую длину h, называемую также высотой В-дерева.

2. В каждой вершине дерева, за исключением корня, должно располагаться минимум n, максимум 2n ключей.

3. В корне В-дерева может располагаться минимум 1, максимум 2n ключей.

4. Любая вершина дерева, за исключением листьев, имеющая j ключей, должна иметь j+1 подчиненную вершину.

Последнее условие означает, что промежуточные вершины В-дерева имеют от n+1 до 2n+1 указателей на подчиненные вершины, а корень дерева – от 2 до 2n+1 указателей.

Таким образом, порядок В-дерева определяет степень его «пустоты» (или заполнения) – минимальное количество включенных в В-дерево элементов (или максимальное количество свободных позиций). Нижняя граница гарантирует, что вершины В-дерева заполнены, по крайней мере, наполовину. Верхняя граница позволяет определить регулярную структуру каждой вершины В-дерева.

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

Структура вершины В-дерева

Обозначим записи, размещенные в одной вершине дерева, через R1, R2, …, Rj, а указатели на подчиненные вершины через P0, P1, P2, …, Pj.

Тогда структура вершины будет следующей: P0 R1 P1 R2 P2 … Pj-1 Rj Pj

Правила следования:

1. Ключи записей в текущей вершине упорядочены по возрастанию, т.е. ключ записи R1 меньше ключа записи R2, который, в сою очередь, меньше ключа записи R3, и т.д.

1. Записи в подчиненной вершине, на которую указывает P0, имеют ключи, меньшие, чем ключ записи R1.

2. Записи в подчиненной вершине, на которую указывает Pj, имеют ключи, большие, чем ключ записи Rj.

Записи в подчиненной вершине, на которую указывает Pi (0 < i < j), имеют ключи, большие, чем ключ записи Ri, и меньшие, чем ключ записи Ri+1.

Рис. Примеры В-деревьев

Механизм поиска в В-дереве аналогичен механизму поиска в бинарном дереве и не требует дополнительных пояснений.

Операции включения и удаления должны:

1. сохранять сбалансированность В-дерева и степень заполнения его вершин;

2. не нарушать упорядоченности записей;

3. свести к минимуму перемещение информации.

17

Соседние файлы в папке экзамен