Обратное проектирование

Инструментальные средства для разработки баз данных существуют достаточно давно, но их применение в практическом проектировании началось совсем недавно (примерно в начале XXI в.), но также не всегда в полном объеме. Это привело к тому, что сегодня много баз данных работает без наличия соответствующих им моделей баз данных, что вызывает серьезные сложности в их сопровождении и модификации. С учетом этой проблемы в инструментальных средствах реализуется возможность восстановления структуры базы данных (модели) из физической базы данных, что называется обратным проектированием (Reverse Engineering). Принцип работы данного инструмента в IBM InfoSphere Data Architect идентичен процедуре перехода от модели одного уровня к модели другого уровня.

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

Рис. 4.99. Указание модели назначения


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

Рис. 4.100. Выбор источника объектов модели


Если выбирается DDL script, то разработчику необходимо указать, где физически находится данный скрипт на магнитном носителе (рис. 4.101). Стоит обратить внимание, что при формировании скрипта (программного кода) создания базы данных он сохраняется в проекте и на магнитном носителе в папке проекта. Когда же требуется обратное проектирование, то для выбора предлагается вся файловая структура магнитного носителя. Поэтому важно точно знать, где размещен нужный для выполнения действия файл программного кода.

Рис. 4.101. Указание программного кода для восстановления


В случае, когда разработчик выполняет обратное проектирование из физической базы данных, необходимо соединение с этой базой данных, что обеспечивается через механизм организации источника данных. Этот механизм вызывается автоматически, когда выбирается тип обратного проектирования "Database" (База данных).

В окне установления источников данных в области "Connections" отображается набор ранее сформированных источников данных по уже существующим физическим базам данных на текущем компьютере или в сети (рис. 4.102). Если среди указанных источников данных есть тот, база данных которого нужна для восстановления в виде модели, то достаточно его выбрать и перейти к процедуре создания модели.

Если среди указанных источников нужного нет, то его необходимо создать, что обеспечивается с помощью кнопки "New..." и соответствующим диалоговым окном настроек соединения (рис. 4.103). Эти настройки определяют целый комплекс параметров, среди которых:

• Database — имя базы данных, к которой необходимо подключиться;

• Host — местоположение базы данных в сети, что может быть указано сетевым именем компьютера, IP-адресом или адресом в сети Интернет;

• Port number — номер порта соединения, через который на соответствующем сервере обеспечен доступ к СУБД и базе данных;

• User name — имя пользователя, с которым необходимо подключиться к базе данных;

• Password — пароль доступа к базе данных;

• Default schema — схема по умолчанию, где размещены необходимые объекты базы данных.

Рис. 4.102. Выбор соединения с базой данных


В результате указания этих характеристик в поле "Connection URL" будет сформирован адрес доступа к базе данных, а с помощью кнопки "Test connections" можно проверить правильность указанных характеристик.

Рис. 4.103. Настройка соединения с базой данных


Набор соответствующих настроек определяется выбранной СУБД и драйвером подключения к ней. СУБД может быть выбрана в области "Select a database manager" (Выбор менеджера базы данных), а драйвер — в поле "JDBC driver", где указываются доступные для СУБД драйверы. Если необходимо использование не представленных в выборе драйверов и СУБД, то необходимо эти драйверы проинсталлировать в инструментальном средстве, если они существуют в соответствующем виде.

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