**Цель:** Ознакомиться с целями и механизмом обратного проектирования Процесс генерации физической схемы базы данных из логической модели данных называется прямым проектированием (Forward Engineering). Когда Вы генерируете физическую схему, ERwin позволяет Вам включать триггеры ссылочной целостности, хранимые процедуры, индексы, ограничения и другие возможности, доступные при определении таблиц в Вашей СУБД. Аналогично, процесс генерации логической модели из физической базы данных называется обратным проектированием (Reverse Engineering). ERwin позволяет Вам быстро создать модель данных путем обратного проектирования имеющейся базы данных. После того как Вы создали модель ERwin, Вы можете произвести обратное проектирование структуры базы данных, а затем легко перенести его в другой формат базы данных. Объемлющий механизм генерации схемы в ERwin, удобные возможности синхронизации с базой данных, способность подсоединяться ко всем ведущим источникам данных - SQL и РС-ориентированным - облегчают проектирование, управление и перенос физических баз данных. Обратное проектирование, то есть восстановление информационной модели по существующей базе данных, используется при выборе оптимальной платформы (rightsizing) для существующей настольной (desktop) базы данных или базы данных на mainframe, а также при расширении (или модификации) существующей структуры, которая была построена без необходимой сопроводительной документации. После завершения процесса восстановления модели ERwin автоматически "раскладывает" таблицы на диаграмме. Теперь можно выполнять модификации уже с использованием логической схемы - добавлять сущности, атрибуты, комментарии, связи и т.д. По завершении изменений одна команда - синхронизировать модель с базой данных - актуализирует все проведенные изменения. Построение модели может быть выполнено как на основании данных каталога базы данных, так и на основании пакета операторов SQL, с помощью которого была создана база данных. **Синхронизация с базой данных:** В процессе разработки информационной системы может возникнуть ситуация, когда структура базы данных и информационная модель не соответствуют друг другу. ERwin предоставляет возможность привести их в соответствие. Для этого предусмотрена функция синхронизации с базой данных. После подключения к СУБД предлагается список несоответствий между существующей структурой данных и моделью. Например, если в базе данных создана новая таблица, то ERwin предложит провести включение ее в модель. Если в модель добавлена новая таблица, ERwin предложит создать ее в реальной базе данных. Аналогично, при добавлении колонок в базе данных или в модели ERwin предлагает провести соответствующие операции по синхронизации. Процедура выбора синхронизируемых таблиц: ![Выбор синхронизируемых таблиц](../../Pictures/ЛБ03_01.%20Выбор%20синхронизируемых%20таблиц.png) ERwin "знает" о таких особенностях хранения данных в отдельных СУБД, как сегменты (в Sybase) и табличное пространство (в Oracle). Информация о физическом размещении может быть включена в модель и использована при прямом и обратном проектировании. ## Задания 1. Выполните все этапы обратного проектирования для исходной базы данных семейства dBase 2. Выполните аналогичные действия для базы данных Access ## Контрольные вопросы 1. Охарактеризуйте цели обратного проектирования. 2. Какой порядок действий при осуществлении обратного проектирования?