Проверка качества модели данных с помощью ERwin Examiner

Сергей Маклаков

Моделирование данных представляет собой сложную и ответственную задачу, поскольку от качества модели данных зависят в конечном счете эффективность и производительность информационной системы. На рынке 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