
- •2 Модели и типы данных
- •2.1 Иерархическая модель данных
- •2.2. Сетевая модель данных
- •2.3. Реляционная модель данных
- •2.4. Многомерная модель данных
- •2.5. Объектно-ориентированная модель данных
- •2.6. Объектно- реляционная модель данных
- •2.7. Типы данных
- •2.8. Выбор моделей данных
- •2.9. Вопросы реализации баз данных на физическом уровне
- •2.9.1 Методы физического доступа
- •2.9.2 Сравнение методов последовательного и прямого доступа
- •2.9.3Поиск в файлах с помощью хэша
- •2.9.3.1 Сущность метода хэширования
- •2.9.3.2Стратегия разрешения коллизий с областью переполнения
- •2.9.3.3Разрешения коллизий при стратегии свободного замещения
- •2.9.4Поиск с помощью индексных файлов
- •2.9.4.1Типы индексных файлов
- •2.9.4.2 Файлы с плотным индексом или индексно-прямые файлы
- •2.9.4.2 Файлы с неплотным индексом или индексно-последовательные файлы
- •2.9.5 Организация данных на основе использования в-деревьев
- •2.9.5.1 Терминология и разновидности графов типа «дерево»
- •2.9.5.2 Индексирование на основе в-деревьев
- •2.9.5.3 Индексирование и поиск на основе использования двоичных деревьев
- •2.10 Выводы по итогам обзора моделей данных и методов доступа
2.9. Вопросы реализации баз данных на физическом уровне
2.9.1 Методы физического доступа
Метод физического доступа — совокупность программных средств, обеспечивающих возможность хранения и выборки данных, расположенных на физических устройствах.
Пользователи стандартных СУБД обычно не проводят проектирование физической БД. Однако в большеразмерных и распределенных СУБД (например, Oracle) ведется распределение областей памяти. В силу этого знание характеристик физического расположения данных полезно.
Выделяют три основных режима работы приложений, связанных с использованием баз данных.
Режим 1. Получить все данные (последовательная обработка).
Режим 2. Получить уникальные данные (например, одну запись), для чего используют произвольный доступ (хэширование, идентификаторы), индексный метод (первичный ключ), последовательный доступ (бинарное, В- и В+-дерево).
Режим 3. Получить некоторые данные (группу записей), для чего применяют вторичные ключи, мультисписок, инвертированный метод, двусвязное дерево.
Для физической БД следует различать методы размещения данных (запись и хранение) и методы доступа к данным (поиск).
К физической модели БД предъявляются два основных противоречивых требования: 1) высокая скорость доступа к данным; 2) простота обновления данных. Еще одним относительно новым требованием является: 3) объем дополнительно используемой (вторичной) памяти.
Разработано достаточно много разных методов физической организации (размещения) и доступа к данным. Файлы и файловые структуры, используемые для хранения информации на ВЗУ, по методам физического доступа к данным можно классифицировать следующим образом (см. рис. 2.11).
Рис. 2.11. Классификация файлов, используемых в системах баз данных
Введем необходимые дополнительные термины.
Для ускорения процесса поиска и упорядочения данных создаются индексные файлы. В качестве индексов могут выступать отдельные поля, прежде всего — ключи. Индексный файл меньше по размеру, и потому скорость поиска увеличивается. «Платой» за этоявляется дополнительная, вторичная память. Индекс может быть многоуровневым (В+-деревья). Часто в качестве индексов используют числа.
Если одно и то же поле используется в индексе и для упорядочения записей файла, то индекс называют основным, а файл — индексно-последовательным. В противном случае индекс называютвторичным.
Если используется хотя бы один вторичный индекс, файл называют инвертированным.
Если вторичные индексы существуют для всех возможных полей, файл —полностью инвертированный.
Основными методами хранения и поиска являются физически последовательный, прямой, индексно-последовательный и индексно-произвольный. Для их сравнительной оценки используются два критерия [12].
Эффективность хранения — величина, обратная среднему числубайт вторичной памяти, необходимому для хранения одного байта в основной памяти.
Эффективность доступа — величина, обратная среднему числу физических обращений, необходимых для осуществления логического доступа.
Применительно к иерархической МД основные методы получили свои названия и аббревиатуры (рис. 2.12):
1) иерархически последовательный метод доступа (Hierarchical Sequential Access Method — HSAM);
2) иерархический прямой метод (Hierarchical Direct Access Method — HDAM);
3) иерархический индексно-последовательный метод (Hierarchical Indexed Sequential Access Method — HISAM);
4) иерархический индексно-произвольный метод (Hierarchical Indexed Direct Access Method — HIDAM).