Средства автоматизации проектирования и разработки информационных систем, в том числе и банков данных, появились относительно недавно (первая версия CASE-системы фирмы Oracle была представлена в 1989 г.) [ 3 ].
Термин «CASE» (Computer Aided Software Engineering) дословно переводится как разработка программного обеспечения с помощью компьютера. В CASE-системы входят программные средства, позволяющие выполнять анализ предметной области и построение ее модели, проектирование баз данных, разработку приложений, генерацию кодов, тестирование и т.д.
CASE-системы, применяемые для проектирования баз данных, могут не зависеть от СУБД или встраиваться в них. Независимые системы не входят в состав конкретной СУБД и обычно поддерживают несколько форматов баз данных через интерфейс ODBC. В качестве примеров таких систем можно привести S-Designor (PowerDesignor) (фирмы SDP, Powersoft), Erwin (LogicWorks), Silverrun (Computer Systems Advisers Inc.) [ 15 ]. Встроенные CASE-системы в основном поддерживают формат баз данных СУБД, составной частью которой они являются. Пример встроенной системы – Designer/2000 (СУБД Oracle одноименной фирмы) [ 15 ].
Рассмотрим некоторые CASE-системы.
S-Designor (PowerDesigner). Эта система позволяет с помощью графических средств в некоторой степени автоматизировать процесс проектирования реляционных баз данных. Система работает с СУБД Oracle, MS Access, Ingress, Informix, Sybase, MS SQL Server и т. д.
Предварительно создается концептуальная модель базы данных в виде ER-диаграммы (см. рис. 15). В рамках этого процесса можно задать некоторые ограничения целостности для полей таблиц (область допустимых значений, значение по умолчанию и т. д.).
На основе концептуальной модели базы данных строится концептуальная схема (логическая модель) базы данных. Имеющиеся сущности преобразуются в таблицы, идентификаторы сущностей становятся ключами таблиц. При наличии между двумя сущностями связи «многие ко многим», автоматически создается дополнительная таблица, связывающая исходные таблицы (см. пример в п. 7.3).
предыдущаяследующая