Моделирование данных представляет собой сложную и ответственную задачу, поскольку от качества модели данных зависят в конечном счете эффективность и производительность информационной системы. На рынке CASE-средств давно известен инструмент моделирования данных ERwin ERX. Это средство позволяет значительно облегчить процесс моделирования за счет построения графической модели данных и автоматической генерации схемы данных для выбранной СУБД. Однако ERwin ERX не в состоянии обеспечить автоматический процесс поверки качества данных, хотя графическое представление данных и облегчает такую проверку.
В октябре 2000 года компания Computer Associates выпустила новый программный продукт серии ERwin — ERwin Examiner. Этот основанный на базе знаний инструмент позволяет анализировать структуру баз данных с целью выявления недочетов и ошибок проектирования. ERwin Examiner расширяет функциональность ERwin ERX, автоматизируя трудоемкую задачу поиска и исправления ошибок и одновременно повышая квалификацию специалистов по моделированию данных благодаря встроенной системе обучения. Принципиальная схема работы ERwin Examiner показана на рис. 1.
ERwin Examiner может использовать в качестве источника метаданных готовую модель ERwin ERX, DDL-скрипт или провести обратное проектирование базы данных. Выбор источника метаданных можно сделать в диалоге Select Project Type (рис. 2), который появляется при создании нового проекта.
ERwin Examiner поддерживает работу со следующими СУБД:
ORACLE 7 и 8 (SQL*NET или NET 8).
DB2 версии DB2 for OS390 версий 4 и 5 (DB2 Connect).
DB2 Universal Database версий 4, 5 и 6.
Microsoft SQL Server версий 6 и 7 (32-разрядный ODBC-драйвер).
Sybase версий 10 и 11 (32-разрядный ODBC-драйвер).
ERwin Examiner позволяет анализировать модели, полученные из разных источников или разработанные вручную в среде ERwin Examiner.
Для визуального представления импортированной модели ERwin Examiner имеет несколько окон. В левой части главного окна находится три закладки: Tables, Relationships и Diagnostics.
Закладка Tables содержит иерархический список (рис. 3), первый уровень которого содержит список открытых в ERwin Examiner моделей, второй — список таблиц, остальные — список колонок и первичных ключей. Кнопка «i» слева от имени колонки вызывает диалог с подробной информацией об объекте.
Закладка Relationships содержит информацию о связях (рис. 4). Первый уровень списка на закладке Tables содержит список моделей, второй — список таблиц, третий — связей «один-ко-многим» (Parent to Child), четвертый — список ключей и связей нижнего уровня.
Закладка Diagnostics содержит информацию об ошибках и недостатках модели данных (рис. 5). Первый уровень списка на закладке Tables содержит список моделей, второй — список категорий ошибок. Подробное описание ошибки можно получить, щелкнув левой кнопкой мыши по кнопке «i» слева от имени ошибки.
Ошибки объединены в четыре категории. В первую категорию (Columns) входят ошибки проектирования колонок. Ниже приведен фрагмент списка ошибок этой категории:
Вторая категория объединяет ошибки проектирования индексов и ограничений (Indexes and Constraints). В эту группу входят следующие ошибки:
Третья категория объединяет ошибки нормализации (Normalization). Находятся некорректно определенные функциональные зависимости и ошибки первой, второй и третьей нормальной формы.
В четвертую категорию входят ошибки связей (Relationships):
В правом окне ERwin Examiner отображаются отчеты, в том числе отчет по ошибкам модели или графическое представление модели (рис. 6).
По умолчанию связи таблиц показываются нетрадиционным образом в виде ссылок (рис. 6), однако существует возможность представления связей более привычным способом — в виде линий. Ссылки на диаграмме служат для навигации — щелчок по ссылке переключает окно на дочернюю или родительскую таблицу. Диаграмма таблиц весьма информативна: в графическом виде показываются не только таблицы и колонки, но и ограничения, индексы, найденные ошибки. Из контекстного меню (Legend) можно легко вызвать справку по системе обозначений диаграммы (рис. 7).
Результатом диагностики ошибок может стать отчет или SQL-скрипт, корректирующий ошибки моделирования. Ниже приведен фрагмент корректирующего кода, сгенерированного для Oracle:
Corrective Oracle SQL Scripts for model: ORADEMO --Including implied foreign keys. --Sat Oct 28 14:59:07 2000 -- Enable disabled constraint in table ITEM ALTER TABLE ITEM ENABLE CONSTRAINT ENOUGH_STOCK; -- Create secondary index in table EMPLOYEE -- to achieve better performance in joins with EMPLOYEE CREATE INDEX IX1EMPLOYEE_EMPLOYEE ON EMPLOYEE ( MANAGER_ID ); -- Create secondary index in table SALESMAN -- to achieve better performance in joins with STATE CREATE INDEX IX1SALESMAN_STATE ON SALESMAN ( COUNTRY_ID, ASSIGNED_STATE ); -- Create secondary index in table SALESMAN -- to achieve better performance in joins with EMPLOYEE CREATE INDEX IX1SALESMAN_EMPLOYEE ON SALESMAN ( EMPLOYEE_ID );
Ключевой функцией ERwin Examiner является возможность обучения специалистов по моделированию данных. При вызове описания ошибки (кнопка «i» слева от имени ошибки в закладке Diagnostics) появляется диалог с описанием ошибки, содержащий кнопку Teach Me. Щелчком на этой кнопке вызывается справка по данной проблеме, включающая примеры и описание путей решения проблемы. Таким образом, пользователи ERwin Examiner обучаются в первую очередь тем темам, которые они плохо знают.
Помимо выявления ошибок ERwin Examiner позволяет сравнивать и объединять модели данных. Для работы с большими моделями предусмотрена удобная навигация по модели и работа с подмоделями, причем диагностика может быть проведена в рамках отдельной подмодели.
В целом применение ERwin Examiner для моделирования данных позволяет решить следующие задачи:
Текущая версия ERwin Examiner 1.0 совместима с операционными системами, Windows 95/98/2000/NT.
КомпьютерПресс 1'2001