Скачиваний:
10
Добавлен:
01.03.2022
Размер:
380.32 Кб
Скачать

Санкт-Петербургский государственный университет

телекоммуникаций им. проф. М. А. Бонч-Бруевича»

Кафедра Безопасности информационных систем

ИНФОРМАЦИОННЫЕ

ТЕХНОЛОГИИ

Технологии использования типовых моделей данных

Лекция 10

Организация Баз Данных на физическом уровне

Кривцов Александр

Николаевич

an.krivtsov@gmail.com

План лекции

Способы адресации данных

Организация индексов данных

Алгоритмы хеширования

2

1. Способы адресации данных

5 задач логической организации БД на физическом уровне:

1.Как найти требуемую запись в массе

хранимых данных? («желтые страницы»)

2.Каким образом должны быть организованы данные, чтобы обеспечить возможность поиска по

нескольким ключам? (расписание всех рейсов, с

конкретного вокзала, в конкретное время)

3

Способы адресации данных

3. Как организовать добавление или

удаление данных? (в электронном телефонном

справочнике данные могут быть упорядочены в алфавитном порядке названий организаций и при этом располагаться последовательно. Удаление-«пустоты», Добавление–«сдвиг»)

4.Как организовать физическое размещение данных с максимальной плотностью?

5.Как обеспечить минимальное время ответа на запросы к БД?

4

Способы адресации данных

Принятие компромиссных решений при

выборе критериев физической

организации:

высокая плотность данных или

скорость их выборки (время на сжатие и

распаковку)

скорость выборки данных или

стоимость аппаратных средств

(технические средства хранения данных)

гибкость средств поиска или

скорость выборки данных (поиск по

нескольким ключам)

5

Способы адресации данных

Одна из важнейших задач выбор способов адресации требуемых данных.

На логическом уровне записи

идентифицируются при помощи первичного ключа.

На физическом уровне возникает

задача поиска по ключу нужной записи.

6

Способы адресации данных

Методы решения задачи поиска записи по ключу

1. Последовательный поиск

(«пузырек»)

Как показывает статистика, в среднем для

поиска нужной записи необходимо просмотреть примерно половину записей.

Этот способ не связан с какими-либо требованиями к организации данных и

характеризуется очень большим временем

поиска

7

Способы адресации данных

Методы решения задачи поиска нужной записи по ключу

2. Блочный поиск

записи упорядочены по возрастанию первичного ключа записей и распределены по блокам. Поиск осуществляется путем сравнения искомого ключа Кл с ключом первой записи i-го блока Кi. Если

Кл > Кi, то производится переход к следующему блоку. При этом пропускается сразу N записей, входящих в состав i-го блока. Таким образом, блочный поиск выполняется в N раз быстрее по сравнению с последовательным поиском.

Способы адресации данных

Методы решения задачи поиска нужной записи по ключу

3. Двоичный поиск

(деление отрезка пополам)

В первом цикле все записи воспринимаются как нулевой диапазон записей (i=1). В нем производится сравнение искомого ключа Кл с ключом записи Кi, находящейся в середине (центре) диапазона. Если требуемая запись найдена, то поиск завершается. В противном случае все записи делятся на два новых диапазона – левый Li и правый Ri. Если Кл > Кi, то в дальнейшем поиск продолжается в правом диапазоне Ri; в противном случае для поиска используется левый диапазон Li

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

Способы адресации данных

Методы решения задачи поиска нужной записи по ключу

4. Поиск с помощью адреса,

эквивалентного физическому

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

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

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

Ai = Af + D*i,

где Af – адрес начала файла, D – размер каждой записи.

10

Соседние файлы в папке Лекции