Развитие идей и приложений реляционной СУБД System R


Управление версиями объектов в XSQL - часть 2


В этот момент версия замораживается, после чего не допускаются ее удаление и модификации до тех пор, пока ее явно не разморозит пользователь. Средства замораживания и размораживания версий доступны пользователям, и ими следует пользоваться осторожно. Замороженная версия ОП с максимальным номером идентифицируется парой <идентификатор ОП, LAST FROZEN> (последняя замороженная версия).

Диалект SQL, используемый в XSQL, включает следующие средства управления объектами проектирования и версиями:

- операторы создания и уничтожения объектов проектирования;

- операторы создания и уничтожения версий (допускается уничтожение указанной версии; текущей версии; всех версий, более "молодых", чем последняя замороженная; всех незамороженных версий; версий с номерами из указанного интервала);

- операторы замораживания и размораживания версий;

- операторы выборки объектов проектирования и их версий;

- операторы выборки мета-информации по поводу объектов проектирования и их версий (например, число существующих версий).

Следующий существенный аспект управления версиями связан с тем, что в одном объекте проектирования могут находиться ссылки на другие объекты проектирования. Пусть, например, существуют два объекта проектирования ОП1 и ОП2, и имеются ссылки из ОП1 на ОП2. Оказывается неудобным хранить в версиях ОП1 ссылки на версии ОП2. Это влечет накладные расходы и не позволяет разным пользователям ОП1 использовать в одной версии ОП1 разные версии ОП2.

Для решения этой проблемы предлагается техника, основанная на понятиях родовых ссылок и среды. Родовая ссылка - это ссылка на объект проектирования, в которой не уточняется, какая версия будет использвана.

Среда - это именованное бинарное отношение, состоящее из пар <идентификатор ОП, номер версии>. Каждая пара специфицирует номер версии, которая должна быть использована при разрешении родовой ссылки на соответствующий объект проектирования. Если для некоторого объекта проектирования среда не содержит такой пары, при разрешении родовой ссылки используются правила умолчания, которые также специфицируются (можно указать, что по умолчанию выбирается текущая версия или последняя замороженная версия объекта проектирования).


Начало  Назад  Вперед