Корпоративные базы данных - статьи

Архивирование модели и модификация структуры данных



Интересно и очень эффективно реализован механизм модификации структуры данных на основе
архивной копии модели данных. Архивная копия - сохраненная в специальном формате модель
данных.

Суть механизма заключается в следующем. После окончания проектирования первой редакции
модели данных, ее можно заархивировать. При изменении модели данных, эти изменения необходимо
внести и в структуру таблиц базы данных. Если к этому моменту в таблицах уже есть данные, их
желательно сохранить. В S-Designor для этого необходимо только выполнить команду
"Модифицировать БД". В результате, на основе архивной копии S-Designor
автоматически модифицирует структуру таблиц БД, сохранив данные в таблицах вне
зависимости от типа изменений.

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

Примечательно также то, что S-Designor очень "чувствителен" к изменениям модели данных.
Даже такое, на первый взгляд, незначительное изменение как допустимость значений null для
отдельной колонки будет "опознано" и структура данных будет автоматически модифицирована. На
pис.4 приведен пример пакета SQL-предложений, выполняющий
модификацию структуры таблицы hourly_employee при изменении допустимости значения
null для колонки hours_per_week(первоначально было null, модифицировано на
not null).





Содержание раздела