ERwin - трудно сделать только первый шаг

Евтеев Михаил
mike@anet.donetsk.ua

В предыдущей статье цикла, посвященного средствам моделирования, была описана система BPwin фирмы Logic Works. Процесс моделирования не завершается на моделирования деловых функций и процессов. Это только первый шаг. Следующим будет моделирование системы физического хранения данных. Фирма Logic Works со своей системой ERwin/ERX поможет Вам сделать его. Система и процесс моделирования будет кратко описан в этой статье.

Автор имел возможность работать с несколькими версиями системы и наблюдать процесс ее совершенствования и развития. В данной статье будут описаны возможности версии 2.5 ERwin/ERX, которая является базовым продуктом семейства. Также будут упомянуты особенности расширенных версий расширяющих другие продуктов (SQLWindows фирмы Gupta, PowerBuilder, Delphi, MS Visual Basic).

Достоинство системы ERwin состоит, по мнению автора в следующем - построив один раз полноценную модель базы данных Вы можете легко ее развивать, модифицировать и переносить с одного сервера базы данных на другой. Кроме того, с помощью удобного представления Вы имеете возможность донести до конечного разработчика все нюансы разрабатываемой базы. Используя стандарт IDEF1X, разработанный военно-воздушными силами США, ERwin позволяет создавать сложные документы в виде простом для понимания. Вы используете ERwin для рисования диаграмм, но это больше чем просто инструмент для рисования. Erwin не только позволяет Вам создать логическую модель, он также автоматически строит физические структуры данных по информации в Вашей диаграмме. Нет необходимости тратить время на создание скриптов, создающих базу. База теперь создается в считанные минуты. ERwin полностью поддерживает возможности FRE (forward and reverse engineering) с использованием каталогов целевого сервера. Учитывая приведенные выше замечания можно сказать, что система является незаменимым инструментом для разработчика баз данных.

Ниже описываются общие функциональные возможности программы, и рассказывается о процессе моделирования.

Стандарт IDEF1X регламентирует разработку структуры базы данных с нуля - прямое моделирование.

Под прямым моделированием понимается возможность описывать схему базы данных в графическом виде, а затем получить скрипт на языке SQL или готовую базу данных. При прямом моделировании используются понятия сущности и связи. Сами диаграммы соответственно так и называются - диаграммы сущность-связь. Сущность это объект реального мира, который должен быть реализован в системе. Связь представляет собой отношение сущностей, определяющееся взаимодействием объектов реального мира. Каждая сущность имеет множество признаков - атрибутов.
Перечисленные понятия являются базовыми и необходимыми для построения модели сущность-связь. Стандарт также описывает способы образования имен для сущностей и связей.

Поясню процесс моделирования на простом примере. В процессе изложения также будут раскрыты другие понятия стандарта, и показано как моделирование реализовано в системе ERwin.

Предположим, Вы желаете спроектировать систему управления прокатом видеокассет. В первой статье описано моделирования для нее модели потоков. Исследовав, предметную область с помощью моделирования процессов выясняете, что в реальной жизни и соответственно ее модели, существуют понятия потребитель, видеокассета, ее копии и т.п. При выдаче видеокассеты потребителю оформляется запись об этом действии. Дела идут, контора пишет…

Эти понятия и являются сущностями, которые будут моделироваться в системе. Воспользовавшись соответствующим инструментом, Вы должны создать моделируемые сущности. Сущности на диаграмме представляются прямоугольниками. Каждый прямоугольник может иметь различные визуальные атрибуты, о которых будет рассказываться по ходу изложения. Для каждой сущности должно быть задано уникальное имя. Несмотря на то, что сущности представляют собой таблицы, содержащие множество записей, имена принято давать в единственном числе. Это определяется тем, что система всегда оперирует отдельными экземплярами сущности. Экземпляры можно рассматривать как объекты, а сущность как класс объектов. Если вы описывали сущности при моделировании в BPwin, Вы можете их просто импортировать.

Итак, как Вы можете видеть, первый шаг все же не так труден, как его малюют.

Диаграмма с созданными сущностями.

Следующее действие заключается в задании атрибутов для каждой сущности. Как я уже говорил раннее атрибут – это, какое либо свойство сущности.

Диалог определения атрибутов сущности.

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

При определении атрибутов Вы можете использовать для наглядности логические имена. В последствии для каждого атрибута Вы можете определить, имя и тип, который он будет иметь в физической базе данных. Кроме понятия первичного ключа в теории существует понятие альтернативного ключа. Альтернативным ключом называется атрибут или набор атрибутов, которые однозначно идентифицируют экземпляр сущности, но по каким либо причинам не используются в качестве первичного ключа. Такой причиной может быть, например частое изменение этих атрибутов. Для того чтобы отметить атрибут, как ключевой, необходимо поставить рядом с именем атрибута в скобках код – АКn (альтернативный ключ номер). Точно также можно отметить атрибут, как входящий в индекс (код - IKn). На этом описание логическое сущности обычно заканчивается. Вы сразу же можете выполнить задание физических параметров сущности, таких как имена полей в базе, их типы, значения по умолчанию, и правила проверки.

Диалог задания физических параметров сущности и ее атрибутов.

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

Диалог описания домена.

Концепция домена имеет жизненно важное значение для обеспечения переносимости базы данных на различные целевые платформы. При изменении сервера или типа атрибута Вам не нужно будет править его описание повсеместно. За вас это сделает Erwin, используя для конвертирования типов описания домена.

Как уже отмечалось ранее, одним из основополагающих понятий в процессе моделирования базы данных является понятие связи. В теории реляционных баз данных связыванием называется нахождение записей из различных таблиц, у которых в полях связи значения равны. Таким образом возможно связать таблицы потребитель и запись о прокате кассеты. Для этого берется первичный ключ потребителя и находятся все записи о прокате у которых поле потребитель равняется первичному ключу, выбранного потребителя. Знаю, звучит это очень сложно, но на практике это означает всего на всего запись одинаковых значений в поля разных таблиц. Если значения не совпадают, связь нарушается. Основная работа любого сервера реляционной базы данных, это поддержание целостности базы данных, а именно связей между таблицами.

На диаграмме связи представляются линиями, идущими от одной таблицы к другой. Каждая связь как водится, имеет уникальное имя. Связанные таблицы соответственно бывают двух типов: родительские и дочерние. Родительские таблицы отображаются прямоугольниками с прямыми углами, дочерние со скругленными.

Диаграмма с определенными связями.

С понятием связи связано понятие внешнего ключа. Внешний ключ (Foreign Key) это атрибут, который может принимать только значения, описанные в первичном ключе другой таблицы. Для того чтобы связать две таблицы достаточно лишь провести линию от родительской к дочерней таблице. При этом первичный ключ родительской таблицы будет автоматически добавлен в список атрибутов дочерней таблицы. Для каждой связи можно задать такие параметры как кардинальность (тип отношения) и тип связи.

Диалог определения параметров связи.

Однако это далеко не все. Исторически сложилось так, что в мире реляционных баз данных существует два вида поддержания целостности связей : процедурный и декларативный. Декларативный тип реализуется ядром сервера базы данных и задается при создании таблиц соответствующими операторами. Сервер автоматически проверяет правильность добавления, удаления и модификации значений в связанных таблицах. При процедурном подходе обязанность проверять значения лежит на разработчике. Он должен самостоятельно написать процедуры на языке запросов для проверки значений для всех видов операций удаления, добавления и обновления родительской и дочерних таблиц. Это становится настоящим бедствием, если требуется перенести систему на другую целевую платформу.

Диалог описания процедурной целостности связи.

Хотелось бы еще раз отметить, что при проектировании базы Вы можете воспользоваться обширным инструментарием Erwin. Все понятия, которые известны Вам из теории реляционных баз данных, доступны для использования. Вы можете описывать атрибуты сущности как первичный, внешний и альтернативный ключи (индексы). В терминах диаграммы Erwin возможно реализовать описание связи типа "класс-подкласс". Система поддерживает оба типа целостности, что существенно облегчает проектирование.

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

Более подробно хочется оговорить универсальный инструмент – язык шаблонов.

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

Наличие стандартных шаблонов на все случаи жизни позволяет значительно сократить время разработки базы данных. Однако если имеющиеся шаблоны Вас не удовлетворяют, Вы можете отредактировать имеющиеся или создать новые. Кроме того, имеется возможность переназначать процедуры для каждой связи в отдельности.

Задав отношения между сущностями, Вы в целом уже можете завершить процесс моделирования.

Поскольку для того чтобы получить работающую базу данных вам необходимо только выбрать соответствующий пункт из меню. Все остальное за Вас опять таки сделает Erwin!!!

К сожалению, невозможно описать в короткой статье все возможности этой много сторонней, сложной программы.

Генерация базы данных.

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

Во первых расширено количество поддерживаемых серверов баз данных (см. ниже). Это касается в первую очередь новых версий серверов лидеров рынка баз данных - ORACLE, INFORMIX, MS SQL Server, SYBASE. Erwin всегда отличался тем, что поддерживал все особенности каждого сервера. Если Вы используете Erwin, Вы не будете ограничены общим подмножеством команд всех серверов.

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

С помощью Erwin все это делаться на доступном для каждого уровне. Все что Вам необходимо сделать это установить соединение с сервером и выбрать соответствующую команду из меню. Как правило, генерация базы данных происходит безболезненно. Однако при возникновении ошибки пользователь имеет возможность вмешаться и внести необходимые коррективы в процесс. Кроме того, Вы можете выполнять генерацию скриптов для создания базы данных. На взгляд автора их внимательное изучение позволяют многому научиться.

Обратное моделирование.

Под обратным моделированием понимается возможность восстановить схему по существующей базе данных. Это бывает просто необходимо, когда желаете перенести базу с одного сервера базы данных на другой. Erwin элегантно выполняет процесс обратного моделирования.

Операция проста до очевидного. Вы создаете пустую диаграмму, устанавливаете соединение с сервером базы данных и выбираете в меню пункт "Синхронизация с сервером базы данных". Далее процесс выполняется без Вашего вмешательства (если не возникло ошибки).

Качество обратного моделирования оправдало ожидания автора. Так, например около пятидесяти таблиц с MS SQL Server v. 6.5 были импортированы за несколько секунд. При этом не возникло никаких проблем. Импорт выполнялся с установка опций по умолчанию. Однако Вы можете при желании изменить их. Обратное моделирование при прямом доступе к серверу очень удобно если вы имеете соответствующее связующее ПО.

Так автору пришлось установить комплект драйверов ODBC и серверную библиотеку для MS SQL Server v. 6.0.

Кроме того, автор решил проверить и традиционный для обратного моделирования путь - импорт базы
посредством скрипта. Для этого был сгенерирован скрипт средствами сервера и импортирован в Erwin. Все происходило не так гладко как в первом случае, однако проблема была легко выявлена и преодолена. Заключалось она в том, что Enterprise Manager генерировал избыточную пару кавычек, которую не воспринимал Erwin.

Продолжая эксперименты, автор попробовал выполнить импорт файлов локальных баз данных - Access и PARADOX. В случае с Access потребовалась настройка прав доступа, поскольку Erwin требует наличия полномочий для доступа к системным таблицам. При этом Erwin не смог восстановить отношения между таблицами. Такая же ситуация была и в случае с PARADOX.

Кроме того, корректная работа была возможна только в случае наличия подходящих драйверов ODBC.

По мнению автора, работа с базами данных посредством драйверов ODBC для такой программы как ERWin является недостатком, поскольку ODBC не поддерживает особенностей конкретной платформы.

Представления и навигация по диаграмме.

Erwin предоставляет большое количество режимов представления информации.
Необходимо отметить, что в системе поддерживается две методологии представления IDFX01 и ... поэтому Вы можете выбрать ту, которую Вы знаете или использовали ранее. Кроме того, вы имеете возможность изменять количество и содержание информации, отображаемой на экране. Наиболее существенным усовершенствованием версии 2.5 является поддержка так называемых сохраненных экранов. Вы можете сгруппировать и удобно расположить некоторое количество сущностей диаграммы, присвоить этой группе имя и переключаться между несколькими такими группами.

Вы можете просматривать информацию, как в терминах диаграммы, так и в терминах физического сервера базы данных. Для классов объектов и отдельных объектов диаграммы вы можете изменять такие параметры как цвет и шрифт. При работе в новых версиях WINDOWS (WINDOWS95 и WINDOWS NT v. 4.0) были замечены аномалии при работе со шрифтами. В частности невозможно выбрать локализованные шрифты в диалоге настройки шрифтов. Так если в системе имеется Arial и Arial Cyr то возможен выбор только Arial. А это согласитесь, доставляет неудобство.

Эти мелкие недочеты не могут испортить общее впечатление от системы, и по данному разделу ErWin также заслуживает высокой оценки. В целом с помощью настроек представления, возможно удовлетворить самый взыскательный вкус.

Поддерживаемые базы.

Для систем подобных рассматриваемой жизненно необходимо охватывать широкий спектр платформ. По этому критерию версия 2.5 заслуживает звание чемпиона. Кроме того, что расширился спектр поддерживаемых серверов баз данных, расширился также и список версий этих серверов, которые теперь поддерживаются. Без лишних слов приведу их перечень, и Вы все поймете сами.

Серверы:

DB2
ORACLE v. 6, 7
Ingress
NetWare SQL
TerraData
SYBASE 4.2, System 10, 11
MS SQL Server 4, 6 (и 6.5 так же)
RDB
Gupta SQL BASE
WATCOM
AS/400
PROGRESS
Локальные базы
PARADOX
Access
Fox Pro
Clipper
dBase

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

Для удобства использования Erwin предоставляет возможность выбирать сетевые библиотеки, которые Вы будете использовать в работе. Это позволяет избежать инсталляции излишнего ПО и сохраняет место на диске.

Расширенные версии Erwin. Интеграция с другими продуктами Logic Works.

Многие поставщики средств не могли оставить незамеченным такой замечательный продукт. Поэтому фирма Logic Works проводит большие работы по интеграции своих продуктов с продуктами таких производителей как Borland, Gupta, PowerSoft, Microsoft, Oracle.

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

В данном случае так же последовательно поддерживается концепция доменов.

На данный момент поддерживаются следующие системы разработки:

SQL Windows – Gupta
PowerBuilder – PowerSoft
Delphi – Borland
Visual Basic – Microsoft
Power Objects, ORACLE Forms, ORACLE CASE – Oracle

Степень интеграции с этими продуктами различная. Отличается также и способ ее реализации. Так, например для PowerBuilder имеется пункт меню выбор которого позволяет сгенерировать готовую экранную форму. Для SQL Windows обеспечена тесная интеграция со средством управления версиями Team Windows. Для SQL Windows и PowerBuilder выпускаются отдельные версии продукта, а для Delphi используется стандартный Erwin ERX и его расширение - MetaBase. Для Visual Basic поставляется библиотека и набор волшебников, которые облегчают создание форм из среды Visual Basic. При этом вся расширенная информация получается непосредственно из диаграммы.

Возможна также передача данных между продуктами самой Logic Works. Так выполнив моделирование, бизнес процессов в BPWin Вы сразу можете получить готовый набор сущностей для моделирования физической базы данных. Эта возможность просто бесценна при реализации сложных систем.

В целом можно сказать, что продукт может также быть использован с любым средством разработки.

Для организаций использующих множество средств разработки, Logic Works предлагает продукт ERwin/OPEN, специальную версию, позволяющую выполнять разработку базы данных и поддержку для средств разработки Microsoft, Powersoft, and Gupta в одном пакете. Это позволяет значительно снизить сложность освоения для разработчиков на всех трех платформах.

Logic Works также разработала сервер приложений, который может быть использован для хранения моделей ERwin (Entity-Relationship), BPwin (Business Process), and OOwin (Object-Oriented) - Logic Works AOS. AOS может выполнять свои функции на базе Oracle, Sybase, и Microsoft SQL Server и полностью поддерживает возможности ERwin/ERX и ERwin/OPEN. В среде AOS разработчики могут работать как локально, так и удаленно и избирательно объединять различные версии разработок. Администратор сервера легко может управлять правами доступа.

Поддержка версий.

Существенным шагом вперед было введение в системы средств поддержки версий и репозитария данных. Теперь Вы можете сохранять данные не в отдельном файле формата Erwin, а в любом из форматов поддерживаемых баз данных. Данные могут быть также размещены на сервере базы данных, что открывает широкие возможности для организации коллективной работы. Система позволяет вести несколько версий проекта, к каждой из которых можно вернуться в любое время. В комплект поставки входит диаграмма репозитария, с помощью которой можно сгенерировать его на сервере выбранном Вами. По мнению автора, она является хорошим примером и доказательством жизнеспособности системы. Лучшей рекламы и не требуется.

Построение отчетов и печать диаграмм.

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

Наиболее интересной автору показалась возможность передачи данных в другие программы посредством механизма DDE. Так, например вы можете передать отчет в Excel или Word и продолжить его обработку средствами этих программ.

Диалог настройки отчета по сущностям.

Точно так же легко и красиво выполняется печать диаграмм. Вы можете печатать диаграммы целиком или выбранные листы, выполнять масштабирование.

Диалог настройки печати.

Прочее.

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

Большим сюрпризом оказалось наличие в комплекте поставки сквозного примера проектирования системы проката видео кассет, общего для BPWin и Erwin.

Требования к аппаратному и программному обеспечению.

ERwin разработан для выполнения на IBM- совместимых компьютерах с процессорами Intel 386, 486 и Pentium. Для нормальной работы требуется: 40 М места на винчестере, 8 М оперативной памяти, мышь, VGA, SVGA или совместимый дисплей, MS-DOS version 3.1 или выше Microsoft Windows version 3.1 или выше.

P.S. 21 мая фирма анонсировала новую версию продукта – ERWin 3.0. Версия не является косметическим улучшением предыдущей. Она кардинальным образом переработана. Наиболее значительные усовершенствования приведены ниже.

ERwin 3.0 требует Intel 486 или Pentium ,Windows 3.x, Windows '95 or Windows NT, С 16 MB RAM и 10 MB дискового пространства.

Обучение по использованию CASE-средств ERwin, BPwin
Вы можете пройти в Учебно-консалтинговом центре Интерфейс Лтд.
Тел: (095)135-2519, 135-5500,
e-mail: mail@interface.ru


Interface Ltd.

Ваши замечания и предложения направляйте по адресу: webmaster@interface.ru

Reklama.Ru. The Banner Network.