СТАТЬЯ
13.11.00

Моделирование баз данных при помощи ERwin

Аржан Кинжалин
Опубликовано в журнале "Компьютер Информ"

В предыдущей статье, мы рассказали об инструменте системного анализа и моделирования бизнес-процессов - BPwin. Следующим логическим этапом при создании программной системы, автоматизирующей эти бизнес-процессы, будет разработка соответствующей структуры данных. Представляем сегодня последнюю версию инструмента моделирования баз данных – CA/Logic Works ERwin 3.5.

 

Структура данных и будущее приложение

Ни одну область деятельности человека, поддерживаемую информационными технологиями, невозможно представить себе без использования баз данных, помогающих получить быстрый доступ к информации, увеличивая тем самым продуктивность работы. Клиент-серверные приложения, получившие в последнее время широкое распространение, построены на основе баз данных; приложения Internet и intranet могут получать доступ к базам данных, открывая широкие возможности для публикации информации, необходимой широкому кругу пользователей. Большинство клиент-серверных систем в данный момент представляют собой приложения по оперативной обработке транзакций (On-Line Transaction Processing, OLTP), которые служат для быстрой обработки и сохранения данных. Примерами таких приложений могут служить системы выписки счетов, регистрации и учета продукции и т.п. В то же время в последние годы значительное внимание уделяется построению хранилищ данных (data warehousing) - это базы данных специального назначения, складирующие всю информацию предприятия. Хранилища данных лежат в основе так называемых систем оперативного анализа данных (On-Line Analisys Processing, OLAP), которые позволяют принимать решения и помогают планировать стратегию развития предприятия. Успех любого приложения зависит от того, насколько хорошо смоделирована и разработана база данных приложения, поэтому разработке базы данных необходимо уделить много внимания.

База данных создается в несколько этапов, на каждом из которых необходимо согласовывать структуру данных с заказчиком и, что самое важное, подвергать созданную структуру данных экспертизе внутри команды, которая создает систему. Поэтому представление данных должно быть простым и понятным всем заинтересованным лицам. Именно по этой причине, наибольшее распространение получило представление базы данных под названием "сущность-отношение" (entity-relationship), которое также известно как ER-диаграмма. Модели, представленные в виде ER-диаграмм, крайне просты и удобны для понимания. Фрагмент такой модели изображен на рис. 1.



РИСУНОК astr1_1.gif. Модель базы данных разрабатываемого приложения,
представленная в виде ER-диаграммы, построенной в среде ERwin

ER-диаграммы были приняты в качестве основы для создания стандарта IDEF1X. Предварительный вариант этого стандарта был разработан в военно-воздушных силах США и предназначался для увеличения производительности при разработке компьютерных систем. В 1981 году этот стандарт был формализован и опубликован организацией ICAM (Integrated Computed Aided Manufacturing), и с тех пор является наиболее распространенным стандартом для создания моделей баз данных по всему миру.

С развитием компьютерных технологий и появлением CASE-моделирования (Computer Aided Software Engineering) возникла потребность в инструментах, которые бы поддерживали стандарты моделирования. Современный инструмент моделирования баз данных должен удовлетворять ряду требований.

Все современные инструменты моделирования в той или иной степени удовлетворяют перечисленным выше общим требованиям, однако в этой статье речь пойдет об инструменте моделирования баз данных ERwin версии 3.5, продукте компании CA/Logic Works. Выбор инструмента не случаен, т.к. на нынешний момент ERwin является наиболее мощным средством для разработки структуры данных как на логическом, так и на физическом уровне. Следует отметить, что существует несколько модификаций ERwin, каждая из которых, помимо моделирования, предназначена для выполнения специфических целей. Здесь мы рассмотрим ERwin3.5/ERX, который предназначен для работы именно с системами управления базами данных. Остальные члены семейства ERwin предназначены для использования с инструментами разработки клиентской части приложения, такими, как Power Builder, Visual Basic и прочими. Продукт CA/Logic Works ERwin 3.5 был выпущен в феврале этого года и сразу же получил признание широкого круга пользователей за многие усовершенствования по сравнению с предыдущими версиями, которые в него были внесены. Этот инструмент моделирования полностью поддерживает стандарт IDEF1X и является лидером на рынке инструментов разработки баз данных.

Разработка в среде ERwin

Обычно разработка модели базы данных состоит из двух этапов: составление логической модели и создание на ее основе физической модели. ERwin полностью поддерживает такой процесс, он имеет два представления модели: логическое (logical) и физическое (physical). Таким образом, разработчик может строить логическую модель базы данных, не задумываясь над деталями физической реализации, т.е. уделяя основное внимание требованиям к информации и бизнес-процессам, которые будет поддерживать будущая база данных. ERwin имеет очень удобный пользовательский интерфейс, позволяющий представить базу данных в самых различных аспектах. Например, ERwin имеет такие средства визуализации как "хранимое представление" (stored display) и "предметная область" (subject area). Хранимые представления позволяют иметь несколько вариантов представления модели, в каждом из которых могут быть подчеркнуты определенные детали, которые вызвали бы перенасыщение модели, если бы они были помещены на одном представлении. Предметные области помогают вычленить из сложной и трудной для восприятия модели отдельные фрагменты, которые относятся лишь к определенной области, из числа тех, что охватывает информационная модель. Интерфейс среды разработки ERwin представлен на рисунке.

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

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

Возможность использования модели ERwin одновременно для логического и физического представления данных позволяет по окончании работы получить полностью документированную модель.ERwin, как и инструмент моделирования бизнес-процессов BPwin, интегрирован с генератором отчетов фирмы CA/Logic Works - RPTwin. Это средство позволяет получать подробные отчеты по модели, освещая самые различные ракурсы и аспекты. Инструмент RPTwin поставляется вместе с ERwin и имеет богатый набор встроенных отчетов, позволяющих получать многогранную информацию по модели. Документирование структуры данных является очень важной частью моделирования, т.к. это позволяет другим разработчикам или лицам, которые будут сопровождать систему, быстрее начать ориентироваться во внутренней структуре и понимать назначение компонентов.

Как уже говорилось, ERwin является не только инструментом для дизайна баз данных, он также поддерживает автоматическую генерацию спроектированной и определенной на физическом уровне структуры данных. ERwin 3.5 поддерживает широчайший спектр серверных и настольных СУБД. В этот список входят такие продукты, как Microsoft SQL Server, Oracle, Sybase, DB2, INFORMIX, Red Brick, Teradata, PROGRESS, Microsoft Access, FoxPro, Clipper и многие другие. Для каждой из перечисленных СУБД в ERwin предусмотрено присоединение по "родному" для этой СУБД протоколу и поддержка всех средств управления данными, присущих этой СУБД. Инструмент имеет богатый и гибкий макроязык, позволяющий создавать сценарии (pre- и postscripts), которые будут выполняться до и после генерации определенного объекта на СУБД назначения. С помощью этого макроязыка можно также сгенерировать на СУБД назначения тысячи строк шаблонов, хранимых процедур и триггеров. ERwin не поддерживает моделирования механизмов защиты базы данных, однако при помощи макроязыка можно автоматически выдать права на объект, пользуясь языком определения прав, который используется в конкретной СУБД.

ERwin имеет средство, выполняющее задачу, обратную генерации, что называется "обратная разработка" (reverse engineering). Т.е. ERwin может присоединиться к СУБД, получить всю информацию о структуре базы данных и отобразить ее в графическом интерфейсе, сохранив все сущности, связи, атрибуты и прочие свойства. Таким образом, можно переносить существующую структуру данных с одной платформы на другую, а также исследовать структуру существующих баз данных.

Но и это еще не все. ERwin имеет средство Complete-Compare, которое является единственным на данный момент средством интерактивной разработки. ERwin демонстрирует разногласия между моделью и базой данных, эти несоответствия можно переносить или оставлять без изменений. При помощи этого средства можно все изменения модели вносить в базу данных автоматически без необходимости контроля за соответствием модели и базы данных "вручную", при этом существующие данные не будут затронуты.

Начиная с версии 3.5 ERwin, поддерживает многомерное моделирование, которое используется при построении хранилищ данных. Производительность OLAP-приложений определяется, в основном, качеством дизайна хранилища данных, поэтому критически важно при разработке хранилища иметь инструмент, который бы поддерживал распространенные технологии. ERwin поддерживает две технологии моделирования хранилищ данных: звезда (star) и снежинка (snowflake).

ERwin тесно интегрирован с другими продуктами CA/Logic Works. Словарь данных, созданный при анализе бизнес-процессов при помощи инструмента BPwin, может быть использован как основа для построения модели базы данных. Однако взаимосвязь между этими двумя инструментами двусторонняя, модели BPwin и ERwin можно постоянно поддерживать в согласованном состоянии. Интеграция этих двух продуктов очень важна с точки зрения их совместного использования при разработке программного обеспечения, т.к. отпадает необходимость в повторном выполнении действий и процесс создания словаря данных становится практически автоматическим.

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

Коллективная разработка

При коллективной разработке базы данных возникает проблема синхронизации моделей, созданных различными разработчиками. Такая проблема особенно актуальна, когда над одной моделью работает большое количество разработчиков. Для эффективного решения этой проблемы CA/Logic Works предлагает продукт ModelMart, который представляет собой репозитарий для хранения моделей. Этот репозитарий имеет средства защиты модели, позволяет гибко управлять различными моделями или версиями модели, предоставляет единый активный словарь данных, которым можно централизованно управлять и использовать его в нескольких моделях сразу.

ModelMart не зависит от используемой платформы и прост в установке и администрировании. Использование такого коллективного репозитария позволяет масштабировать разработку моделей с помощью ERwin до масштабов предприятия. ModelMart также может предоставлять репозитарий для хранения и управления моделями BPwin, начиная с версии 2.02. Этот факт также говорит в пользу разработки информационных систем с использованием BPwin и ERwin.

Заключение

Моделирование играет большую роль в разработке успешных информационных систем. Вашему вниманию в этой и предыдущей статьях были предложены два инструмента компании CA/Logic Works: BPwin и ERwin. Использование этих продуктов совместно поможет правильно оценить стоящие задачи, предложить адекватное решение (анализ бизнес-процессов, BPwin) и разработать центральную часть любой информационной системы - базы данных - с использованием информации, полученной во время обследования предприятия (моделирование базы данных, ERwin). Эти инструменты сами по себе не являются решением проблемы, но их грамотное и своевременное использование поможет свести рутинный труд разработчика к минимуму, позволит ему сконцентрироваться на собственно разработке системы и снизит потери времени, которые обычно происходят при согласовании моделей со специалистами предметной области. Кроме того, использование этих инструментов дает возможность получить набор полностью документированных и согласованных моделей, что в значительной степени облегчит поддержку созданных систем в будущем, а также может быть повторно использовано при разработке других систем.

Другие материалы по ERwin

Дополнительную информацию Вы можете получить в компании Interface Ltd.

Обсудить на форуме Computer Associates

Отправить ссылку на страницу по e-mail


Interface Ltd.

Ваши замечания и предложения отправляйте автору
По техническим вопросам обращайтесь к вебмастеру
Документ опубликован: 13.11.00