(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

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

Источник: Interface Ltd.
Сергей Маклаков

Моделирование данных представляет собой сложную и ответственную задачу, поскольку от качества модели данных зависит, в конечном счете, эффективность и производительность информационной системы. На рынке CASE- средств давно известен инструмент моделирования данных Erwin ERX. Это средство позволяет значительно облегчить процесс моделирования за счет построения графической модели данных и автоматической генерации схемы данных для выбранной СУБД. Однако, Erwin ERX не в состоянии обеспечить процесс поверки качества данных. Хотя графическое представление данных облегчает такую проверку, все же до недавнего времени эта работа не была автоматизирована.

В октябре 2000 года компания Computer Associates выпустила новый программный продукт серии ER win - ERwin Examiner . Этот основанный на базе знаний инструмент позволяет анализировать структуру баз данных с целью выявления недочетов и ошибок проектирования. ER win Examiner дополняет функциональность Erwin ERX, автоматизируя трудоемкую задачу поиска и исправления ошибок, и одновременно повышая квалификацию модельщиков данных благодаря встроенной системе обучения. Принципиальная схема работы ER win Examiner показана на рис.1.

ER win Examiner может использовать в качестве источника метаданных готовую модель Erwin ERX, DDL - скрипт или провести обратное проектирование базы данных. Выбор источника метаданных можно сделать в диалоге Select Project Type (рис.2), возникающем при создании нового проекта.

ER win 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 драйвер).

ER win Examiner позволяет проанализировать модель, полученную из разных источников или разработанную вручную в среде ER win Examiner.

Для визуального представления импортированной модели ER win Examiner имеет несколько окон. В левой части главного окна имеются три закладки - Tables, Relationships и Diagnostics.

Закладка Tables содержит иерархический список (рис. 3), первый уровень которого содержит список открытых в ER win Examiner моделей, второй- список таблиц, другие - список колонок и первичных ключей. Кнопка "i" слева от имени колонки вызывает диалог с подробной информацией об объекте.

Закладка Relationships содержит информацию о связях (рис. 4). Первый уровень списка на закладке Tables содержит список моделей, второй- список таблиц, третий - связей Paternt to Child, четвертый - список ключей и связей нижнего уровня.

Закладка Diagnostics содержит информацию об ошибках и недостатках модели данных (рис. 5). Первый уровень списка на закладке Tables содержит список моделей, второй - категорий ошибок. Подробное описание ошибки можно получить, щелкнув левой кнопкой мыши по кнопке "i" слева от имени ошибки.

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

  • Inconsistent Definition. Название колонки встречается в различных таблицах, но при этом колонки (или их синонимы) имеют разные определения. Это может привести к сохранению неверных данных.
  • Groups with Inconsistent Definition. Группа колонок, нарушающих первую нормальную форму имеет противоречивое взаимное определение.
  • Duplicate Table. Имя таблицы неуникально в модели.
  • Table with No Columns. Таблица не имеет колонок.
  • Data Names Conflict with SQL Keywords. Имя является резервированным словом.

Вторая категория объединяет ошибки проектирования индексов и ограничений(Indexes and Constraints). В эту группу входят следующие ошибки:

  • Incorrectly Defined Foreign Keys. Некорректное определение внешнего ключа, не обеспечивающее правила ссылочной целостности.
  • Candidate Keys with All Nullable Columns. Уникальные индексы или/и первичные ключи содержат колонки null, что может привести к дублированию строк.
  • Improperly Defined Indexes. По меньшей мере один индекс имеет аномалии.
  • Undefined Alternate Keys. Таблица имеет суррогатный первичный ключ и не имеет альтернативного ключа.
  • Different CHECK Constraints. Несколько колонок определены в разных таблицах, но имеют разные ограничения CHECK.
  • Tables without a Candidate Key. Таблица не имеет ограничений, гарантирующих уникальность записи (PK, Unique Constraint или Unique Index).
  • Disabled Constraints. Неверное ограничение.
  • Tables with No Clustered Index. Таблица должна иметь кластеризованный индекс.
  • Primary Key with Columns Allowing Decimals. Колонка первичного ключа содержит числовую колонку с десятичными знаками, например, типа REAL.
  • Unnecessary CHECK Constraints. Ненужные ограничения, например, ограничения на внешнем ключе дочерней таблицы вместо ограничения на первичном ключе родительской.
  • Unnecessary Indexes. Ненужные индексы.
  • Unnecessary Foreign Keys. Ненужные внешние ключи, например, если целостность уже поддерживается другими внешними ключами.
  • Missing Indexes. Отсутствие индексов, например на внешнем ключе.
  • Tables with Too Many Indexes. Таблица содержит слишком много индексов.
  • Indexes with Too Many Columns. Индекс содержит слишком много колонок.
  • Primary Keys with Too Many Columns. Первичный ключ содержит слишком много колонок.
  • Indexes with Variable Length Columns. Индекс содержит колонки переменной длины VARCHAR (только для DB2).
  • Conflicting Indexes. Конфликтующие индексы.
  • Tables with No Relationships. Таблица не имеет связей.
  • Delete Cascade/Restrict Conflicts. Ограничение ссылочной целостности для внешнего ключа определено как ON DELETE CASCADE, а дочерняя таблица имеет по крайней мере один внешний ключ без этой опции, поэтому автоматическая ссылочная целостность не может поддерживаться для "внучатой" таблицы.

Третья категория объединяет ошибки нормализации (Normalization). Находятся некорректно определенные функциональные зависимости и ошибки первой, второй и третьей нормальной формы.

В четвертую категорию входят ошибки связей (Relationships):

  • Incorrect Recursive Relationships. Некорректно определенная рекурсивная связь. Внешний ключ рекурсивной связи должен включать по крайней мере одну колонку NULL, в противном случае возникает коллизия при вставке.
  • Disabled Relationships. Недоступная связь - ссылочный ключ связи недоступен.
  • Non-Enforceable Relationships. Связи, не имеющие определения внешнего ключа.
  • Mismatched Foreign Keys. Имеются аномалии во внешних ключах.
  • Infinite Loops. Бесконечные циклы. Существует цикл между таблицами и внешние ключи не имеют свойства NULL. При этом вставка данных невозможна.
  • Tables with Too Many Relationships. Таблица имеет слишком много связей, это может привести к потере производительности.
  • Cross Linked Relationships. Между таблицами существует цикл и внешние ключи не имеют свойства NULL. Вставка данных невозможна.
  • Incompatible Relationships. Связь, основанная на колонке с разными типами или определениями.

В правом окне ER win 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

);

Ключевой возможностью ER win Examiner является возможность обучения модельщиков данных. При вызове описания ошибки (кнопка "i" слева от имени ошибки в закладке Diagnostics) появляется диалог с описанием ошибки, содержащий кнопку Teach Me. Щелчок по этой кнопке вызывает справку по данной проблеме, включая примеры и описание путей решения проблемы. Следовательно, модельщики данных обучаются в первую очередь тем темам, которые они плохо знают.

Помимо выявления ошибок, ER win Examiner позволяет также сравнивать модели данных и сливать модели. Для работы с большими моделями предусмотрена удобная навигация по модели и работа с подмоделями, причем диагностика может быть проведена в рамках отдельной подмодели.

В целом, применение ER win Examiner для моделирования данных позволяет решить следующие задачи:

  • Предельно сократить время обучения модельщиков данных.
  • Минимизировать или устранить проблемы целостности данных.
  • Повысить общую производительность информационной системы.
  • Улучшить взаимодействие разработчиков, входящих в рабочую группу.
  • Уменьшить время разработки и повысить качество приложений.
  • Уменьшить стоимость разработки и сопровождения базы данных

Текущая версия ER win Examiner 1.0 совместима с операционными системами Windows NT, Windows 95, Windows 98 и Windows 2000.



 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 21.02.2001 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
erwin Data Modeler Workgroup Edition r9.7 - Product plus 1 Year Enterprise Maintenance Commercial
erwin Data Modeler Standard Edition r9.7 - Product plus 1 Year Enterprise Maintenance Commercial
erwin Data Modeler Navigator Edition r9.7 - Product plus 1 Year Enterprise Maintenance Commercial
WinRAR 5.x 1 лицензия
Zend Server with Z-Ray Developer Edition - Standard
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
CASE-технологии
СУБД Oracle "с нуля"
Мир OLAP и Business Intelligence: новости, статьи, обзоры
Программирование на Visual С++
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100