На этом шаге мы рассмотрим обновление базы данных.
Основной принцип обновления базы данных таков: рекомендуется сосредоточить обновление базы в нескольких определенных вами предикатах. Это облегчает изменение базы данных и/или добавление новых В+ деревьев, а также способствует созданию корректных систем баз данных, т. к. ваша программа будет содержать лишь маленький участок, во время исполнения которого база данных незащищена.
Следующий пример показывает обновление двух различных отношений, объекты кoторых являются строками:
person(firstname,lastname,street,zipcode,code) city(zipcode,cityname)
Обновление происходит с помощью следующих ключей, соответствующих отношений person и city:
Person's Name........Last Name plus First Name Person's Address....Street Name City Number...........Zip Code
В этом примере мы подразумеваем, что В+ деревья уже открыты, и их bt_selector установлены в предикате indices.
Перед тем как программа начинает обновление, она исключает возможность ситуации break с помощью предиката break. По окончании обновления программа заполняет базу данных с помощью db_flush. Хотя db_flush делает обновление довольно медленно, но обеспечивает сохранность файла.
На следующем шаге мы рассмотрим использование внутреннего указателя B+ дерева.