Оптимизированные цепочки элементов

 

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

Например, основной список представлен таблицей 27. Индексы модифицированы и показаны в таблицах 32 – 34 (дополнительные поля показаны заливкой). Значения полей Длина цепочки– это количество элементов основного списка с соответствующим значением вторичного ключа.

 

Таблица 32 Таблица 33

№ п/п Шифр учебной группы Ссылка Длина цепочки   № п/п Дисциплина Ссылка Длина цепочки
01-АС   Информатика
01-ИЭ   Программирование
02-ВТ   Физика

 

Таблица 34

№ п/п Оценка Ссылка Длина цепочки

 

Пример 14. Пусть надо просмотреть список студентов группы 01-ИЭ, сдававших экзамен по Физике, т.е. qпросмотр = (Шифр учебной группы= 01-ИЭ, Дисциплина =Физика, ФИО студента), где Кдоступ = 01-ИЭ, Физика.

Задача решается следующим образом:

1. в индексахдля вторичных ключей Шифр учебной группы и Дисциплинаищутся элементы со значениями полей 01-ИЭи Физика: это, соответственно, элементы с номерами 2 и 3 (см. таблицы 32 и 33);

2. анализируется, для какого индекса Длина цепочкиимеет минимальное значение: очевидно, длина цепочки для ключа со значением Физикакороче, чем для ключа со значением 01-ИЭ, поэтому для поиска в основном списке определяется ключ Дисциплина со значением Физика;

3. в соответствии со значением поля Ссылкавыбранного ключа доступа осуществляется обращение к элементу с номером 5 основного списка;

4. у выбранного элемента анализируется поле Шифр учебной группы: его значение равно 01-ИЭ, поэтому данный элемент удовлетворяет обоим условиям доступа, а потому фамилия и инициалы студента Яковлев Я.Я. выводятся в качестве первого результата;

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

 

Рассмотрим, как решается задача добавления.

 

Пример 15. Пусть в основной список таблицы 27 надо добавить элемент со структурой:

 

ФИО студента Шифр учебной группы Дисциплина Оценка
Ковалев К.К. 02-ВТ Программирование

 

т.е. qдобавление = (ФИО студента= Ковалев К.К., Шифр учебной группы = 02-ВТ, Дисциплина = Программирование, Оценка = 2), где Кдоступ = Ковалев К.К.

Модифицированный основной список идентичен таблице 28, а три индекса показаны в таблицах 35 – 37. Измененные значения ссылок, длин цепочек, а также новый элемент в одном из индексов выделены заливкой; новый элемент в основном списке выделен полужирным шрифтом:

 

Таблица 35 Таблица 36

№ п/п Шифр учебной группы Ссылка Длина цепочки   № п/п Дисциплина Ссылка Длина цепочки
01-АС   Информатика
01-ИЭ   Программирование
02-ВТ   Физика

 

Таблица 37

№ п/п Оценка Ссылка Длина цепочки







Дата добавления: 2015-03-03; просмотров: 668;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.