Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаб6

.docx
Скачиваний:
0
Добавлен:
31.08.2025
Размер:
32.09 Кб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования

«Московский технический университет связи и информатики»

Кафедра «Сетевые информационные технологии и сервисы»

Практическая работа №6

по дисциплине

«Принципы построения систем управления базами данных и знаний»

Вариант 17

Выполнил:

студент гр. БСТ2202

Овчинников П.А.

Проверил:

Гадасин Д. В.

Москва, 2024

Задача 6

B-дерево используется как составная часть структуры БД. Пусть дисковый блок способен хранить А записей данных либо (В-1) ключей и В указателей, и блок вершины В-дерева заполнен в среднем на С% (если В = 100, а С = 70, то блок максимально может содержать 69 ключей и 70 указателей). Полагая, что никакая информация изначально в оперативную память не загружена и ключ поиска является одновременно первичным ключом записей данных, определить:

1. Общее количество блоков, требуемых для хранения файла с 1 000 000 записей.

2. Число операций, необходимых для извлечения записи, обладающей заданным значением ключа поиска.

Для случаев:

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

2. То же, что и в п.п. 1, но В-дерево является разреженным.

3. Листья В-дерева содержат не указатели на записи данных, а записи как таковые. Блок способен вместить A записей, блок-лист заполнен в среднем на С%, (если A = 10 C = 70, то блок данных хранит 7 записей).

4. Файл данных является последовательным, а В-дерево – разреженным, но каждому основному блоку данных поставлен в соответствие блок переполнения. Каждый основной блок в среднем полон, а область блока переполнения используется на 50%.

Исходные данные – вариант 24:

Вариант

A

B

C

17

16

80

90

Решение задачи 6

Случай 1:

Сперва найдём количество блоков данных. Так как A – число записей данных в 1 блоке, количество блоков данных:

блоков данных.

Чтобы посчитать количество блоков в дереве, нужно определить сколько в нем уровней и сколько блоков на каждом из них. Так как блоки с указателями на блоки данных находятся только на последнем уровне, на этом уровне должно хватить места для указателей на 1 000 000 записей. Блок содержит B указателей, заполненных на C процентов – следовательно, для адресации используется:

индекса для адресации.

Определим число уровней B-дерева через неравенство :

. (Число уровней: X+1=5)

Таким образом, для хранения файла с 1 000 000 записей потребуется общее количество блоков:

блоков.

Чтобы найти число операций, нужно значит число уровней дерева – X+1=5 уровней. Можно использовать бинарный поиск для поиска ключа на каждом уровне дерева. Тогда число операций, необходимых для извлечения записи, обладающей заданным значением ключа поиска, равно:

операций.

Ответ: 27 314 861 блоков, 35 операций.

Случай 2:

Сперва найдём количество блоков данных. Так как A – число записей данных в 1 блоке, количество блоков данных:

блоков данных

Из-за неплотного индекса потребуется меньше указателей. Разряженный индекс содержит только по одному указателю на каждый блок данных. Блок содержит B указателей, заполненных на C процентов – следовательно, для адресации используется:

индекса для адресации.

Определим число уровней B-дерева через неравенство :

. (Число уровней: X+1=5)

Таким образом, для хранения файла с 1 000 000 записей потребуется общее количество блоков:

блоков.

Чтобы найти число операций, нужно значит число уровней дерева – X+1=5 уровней. Можно использовать бинарный поиск для поиска ключа на каждом уровне дерева. Так как индекс разряженный, после нахождения блока данных с нужным ключом, необходимо найти в нем нужную запись из A записей. Тогда число операций, необходимых для извлечения записи, обладающей заданным значением ключа поиска, равно:

операций.

Ответ: 27 377 361 блоков, 39 операций.

Случай 3:

Сперва найдём количество блоков данных. В данном случае на уровне «листьев» находятся сами данные. Так как блок хранит записей, для хранения 1 000 000 записей потребуется:

блоков данных.

Блок содержит B указателей, заполненных на C процентов – следовательно, для адресации используется:

индекса для адресации.

Определим число уровней B-дерева через неравенство :

. (Число уровней: X+1=4)

Таким образом, для хранения файла с 1 000 000 записей потребуется общее количество блоков:

блоков.

Чтобы найти число операций, нужно значит число уровней дерева – X+1=4 уровня. На первых трех уровнях блоки содержат по 72 записей, а на последнем уровне – блок содержит 8 записей. Можно использовать бинарный поиск для поиска ключа. Тогда число операций, необходимых для извлечения записи, обладающей заданным значением ключа поиска, равно:

операции.

Ответ: 27 247 177 блоков, 24 операции.

Случай 4:

Сперва найдём количество блоков данных. Так как A – число записей данных в 1 блоке, количество блоков данных:

блоков данных.

Разряженный индекс содержит только по одному указателю на каждый блок данных. Блок содержит B указателей, заполненных на C процентов – следовательно, для адресации используется:

индекса для адресации.

Определим число уровней B-дерева через неравенство :

. (Число уровней: X+1=4)

Таким образом, для хранения файла с 1 000 000 записей потребуется общее количество блоков вместе с блоками переполнения:

блоков.

Чтобы найти число операций, нужно значит число уровней дерева – X+1=4 уровня. Можно использовать бинарный поиск для поиска ключа на каждом уровне дерева. Так как индекс разряженный, после нахождения блока данных с нужным ключом, необходимо найти в нем нужную запись из A записей. . Так как у основного блока есть область переполнения в среднем заполненная на 50%, для её просмотра также понадобится некоторое число операций. Тогда число операций, необходимых для извлечения записи, обладающей заданным значением ключа поиска, равно:

операции.

Ответ: 27 439 861 блоков, 34 операции.

Соседние файлы в предмете Принципы построения систем управления базами данных и знаний