![]() |
+7 (495) 229-0436 | ![]() |
shopadmin@itshop.ru | 119334, г. Москва, ул. Бардина, д. 4, корп. 3 | ![]() |
![]() |
![]() |
|
|
База данных на основе Б+дерева27.07.2012 11:24
Kest
рограмма Bplus управляет базой данных на основе Б+дерева с помощью двух
Чтобы упростить управление этими двумя файлами данных, программа Bplus использует два различных типа записей для представления записи в каждом файле. Тип данных TBucket представляет запись в индексном файле Б+дерева - Gusts . idx. Первая запись в Custs. idx содержит заголовок, который описывает текущее состояние Б+дерева. В заголовок входит число сегментов, содержащихся в Custs . dat, количество записей данных Gusts . dat, указатели на первый пус- той блок в каждом файле и т.д. Остальные записи в файле Custs . idx содержат ключи и индексы. Перемен- ная NumKeys возвращает число реально используемых в записи ключей. TBucket = record Тип данных TCustomer представляет запись в файле данных В+дерева - Gusts. dat. Эта запись немного проще, чем тип данных TBucket. Каждая запись находится либо в связанном списке свободных ячеек файла, либо содержит дан- ные о клиентах. Свободные ячейки содержат только индекс следующей записи связанного списка. TCustomer = record При запуске программа Bplus запрашивает путь к базе данных, затем открыва- ет файлы данных Б+дерева Gusts. dat и Gusts . idx в указанном каталоге. Если файлы не существуют, программа создает их. Если они уже есть, программа счи- тывает заголовок с информацией о дереве из файла Gusts . idx. Затем она считы- вает корневой узел Б+дерева и кэширует его в памяти. Когда программа начинает исследовать дерево, чтобы вставить или удалить элемент, она кэширует все узлы, к которым обращается. При рекурсивном возвра- те эти узлы могут понадобиться снова, если произошло разбиение сегмента, слия- ние или другое переупорядочивание узлов. Поскольку программа кэширует узлы на пути вниз, они доступны и на пути вверх. Увеличение размера сегментов делает Б+дерево более эффективным, но при этом его сложнее проверить "вручную". Чтобы увеличить Б+дерево 11-го порядка на 2 уровня, вам необходимо добавить в базу данных 23 элемента. Чтобы высота дерева стала равной 3, необходимо добавить более 250 дополнительных элементов. Тестировать программу Bplus будет намного легче, если изменить порядок Б+дерева и сделать его равным 2. В файле BplusC. pas закомментируйте строку, которая определяет 11-й порядок, и снимите атрибут комментария со строки, за- дающей 2-й порядок. // ORDER = 11; Меню Data (Данные) программы Bplus содержит команду Create Data (Со- здать данные), которая позволяет быстро создать большое количество записей дан- ных. Введите число записей, которые вы хотите создать и порядковый номер пер- вого элемента. Программа организует записи и вставляет их в Б+дерево. Например, если вы задаете в программе создание 100 записей, начиная с номера 200, программа обра- зует записи с порядковыми номерами 200, 201,... ,299, которые будут выглядеть следующим образом: FirstName : FirSt_200 Вы можете использовать эти записи для экспериментов с достаточно больши- ми Б+деревьями. Ссылки по теме |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
О нас |
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.
На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям. Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе. В нашем магазине вы можете приобрести лицензионное ПО выбрав необходимое из широкого спектра и ассортимента по самым доступным ценам. Наши менеджеры любезно помогут определиться с выбором ПО, которое необходимо именно вам. Также мы проводим учебные курсы. Мы приглашаем к сотрудничеству учебные центры, организаторов семинаров и бизнес-тренингов, преподавателей. Сфера сотрудничества - продвижение бизнес-тренингов и курсов обучения по информационным технологиям.
|
119334, г. Москва, ул. Бардина, д. 4, корп. 3 +7 (495) 229-0436 shopadmin@itshop.ru |
|
© ООО "Interface Ltd." Продаем программное обеспечение с 1990 года |