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


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


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

Различаются два представления среды - начальное, определяемое пользователем, и рабочее, вырабатываемое в ходе активизации среды или заранее. Начальное определение среды состоит из трех разделов. Первый раздел включает прямо указываемые соответствия объектов проектирования и их версий в данной среде. Номер версии может указываться явно, либо с употреблением идентификаторов LF (последняя замороженная версия) или C (текущая версия). Второй раздел содержит пары вида <идентификатор ОП, имя среды>. При этом понимается, что соответствие должно быть установлено на основе информации из именованной среды. Наконец, третий раздел содержит список включения ранее определенных сред с указанием их приоритетов, т.е. указывает на необходимость использования соответствий (если они не определены явно в первых двух разделах) из именованных сред в соответствии с их приоритетами.

Имеется средство преобразования начальной среды в рабочую, которая содержит только список пар, задающих явные соотствия объектов проектирования и их версий. При активизации среды можно использовать начальное представление (и тогда будет каждый раз происходить преобразование начальной среды в рабочую) или сформированную раньше и сохраненную в базе данных рабочую среду (тогда преобразования при активизации не потребуются).

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


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