КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Индексирование и хеширование
Для ускоренного доступа к данным базы по запросам пользователей используется индексирование и хеширование. Вначале рассмотрим суть индексирования.
Пусть в базе данных содержатся сведения о продажах автомобилей в таблице ПРОДАЖИ
Данные этой таблицы хранятся в файле ПРОДАЖИ. Предполагается, что пользователи будут составлять запросы на поиск менеджеров, продавших тот или другой автомобиль. При необходимости поиска менеджеров, продавших, например, Опель-Вектра, нужно просмотреть весь файл ПРОДАЖИ и найти все записи, у которых марка автомобиля есть «Опель- Вектра». Возможен и другой подход. Создается файл АВТОМОБИЛИ с расположением в нем марок автомобилей в алфавитном порядке, в другом поле записывается порядковый номер записи данного автомобиля в таблице ПРОДАЖИ, как показано в таблице. Записи файла АВТОМОБИЛИ
В этом файле просматриваются записи со значением поля Марка автомобиля «Опель-Вектра» и соответственно указателям номера записи в файле ПРОДАЖИ извлекаются из него записи об искомых менеджерах.
Файл АВТОМОБИЛИ называют индексным файлом, поле Марка автомобиля – индексом, а файл ПРОДАЖИ – индексированным. Индекс – это средство ускорения операций поиска в таблице базы данных, а также других операций, требующих поиска: извлечения, корректировки, сортировки и т.д. Индексный файл – это файл, в котором хранится информация об индексе.
В нем записи состоят из двух значений: 1) данного из индексированного файла; 2) указателя номера записи индексированного файла, в котором хранится информация об этом данном. Файл данных может иметь несколько индексов. Так, если предполагается составлять запросы на поиск менеджеров, продавших то или другое количество автомобилей, то для файла ПРОДАЖИ можно создать индексный файл ОБЪЕМЫ с записями как в таблице.
Записи индексного файла ОБЪЕМЫ
Индексы МА и ОБ могут использоваться как раздельно, так и совместно для более эффективного доступа к данным, например, на случай поиска менеджеров, продавших пять Опель- Вектра. По индексу МА буду найдены записи с указателями 4, 6, а по индексу ОБ – записи с указателями 3, 4. После сравнения двух наборов полученных указателей будет установлено, что условию запроса удовлетворяет запись файла ПРОДАЖИ с порядковым номером 4, и только тогда эта запись будет извлечена. Индексы могут создаваться на основе комбинации двух и более полей. Таким образом, цель использования индексирования – это ускорение извлечения данных за счет уменьшения количества дисковых операций ввода-вывода. Другим распространенным способом упорядочения записей и доступа к данным является хеширование (от hash – смешивать, перемалывать). Это технология быстрого прямого доступа к записи базы данных на основе заданного значения некоторого поля записи, как правило, ключевого. Каждая запись базы данных размещается по адресу, который вычисляет СУБД с помощью хеш-функции на основе значения ключевого поля этой записи (хеш-поля). Вычисленный адрес называется хеш-адресом.
Дата добавления: 2015-05-26; Просмотров: 907; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |