 | Уровень сложности: простой Датта Сюзанта, специалист по программному обеспечению, исследования IBM Research в лаборатории Ottawa
23.04.2007 Rational Application Developer (RAD) 6.0 представляет новые возможности для визуального моделирования данных. В этой статье я рассмотрю эти новые возможности, построив визуальный пример модели данных в RAD 6.0.
Введение
Модель данных - это план для построения базы данных. Эффективная модель должна быть достаточно простой, чтобы конечный пользователь мог работать с требуемой структурой данных, в то же время достаточно подробной, чтобы проектировщик базы данных мог создавать физические структуры. IBM® WebSphere® Studio Application Developer (WSAD) 5.1 поддерживает разработку логической модели данных и ее дальнейший экспорт в СУБД (такие как DB2, Oracle и так далее) для ее физического создания. IBM® Rational® Application Developer (RAD) 6.0 представляет визуальную модель данных. Она поддерживает три стандартные нотации: IDEF1X, Information Engineering (IE или Crow's Foot) и UML (Unified Modeling Language). Используя богатые функциями, простые, удобные для пользователя инструменты для работы с данными, вы сможете разработать полную модель данных, несколько раз щелкнув мышью. Вы также сможете визуализировать уже существующую базу данных, подключив Java™ Database Connectivity (JDBC™).
 |
Проектирование модели данных в визуальном редакторе
В этом документе нет подробного описания, на сколько важно моделирование данных.Проще говоря, как вы не станете строить дом без чертежа, так вам никогда не стоит создавать базу данных без модели данных. RAD 6.0 расширит ваши возможности создавать модель данных, позволяя вам конструировать несколько типов диаграмм: обычный класс диаграмм, IDEF1X-диаграммы и IE-диаграммы. Удобный и понятный инструмент для работы с данными позволит вам создавать (прямо на диаграмме) следующее:
- Базы данных
- Схемы (только в классе диаграмм)
- Таблицы
- Первичные и внешние ключи
- Виды
- Сохраненные процедуры
- Функции, определенные пользователем
Создание базы данных
Первый шаг на пути конструирования модели данных - создать простой проект (скажем, MyDataModel) и открыть перспективу данных. Когда окно определения данных активно:
- Выберете (Select) папку проектов (project folder) в окошке определения данных.
- Щелкните правой кнопкой мыши и выберите из контекстного меню New Class Diagram (Новый Класс Диаграмм).
- Дайте диаграмме имя, скажем, classdiagram1. Затем нажмите Finish.
- Это создает и заново открывает класс диаграмм.
- Выберите Database (инструмент для создания базы данных) из меню data palette (находится справа в окошке), как показано на рисунке 1.
Рисунок 1. Создание базы данных
- Щелкните на диаграмме.
- Дайте базе данных имя (Database name) , например, CRM. Выберите Database vendor type (Cloudscape v5.1) и нажмите Finish.
Вы создали новую базу данных, CRM. Вам надо развернуть папку проекта в окошке определения данных, чтобы увидеть недавно созданную базу данных. База данных будет обозначена как компонента UML в классе диаграмм (как показано на рисунке 2).
Рисунок 2. Ваша новая база данных в классе диаграмм
Создание таблиц
Теперь создадим две таблицы, Customer (Покупатель) и Orders и целостность ссылочных данных между таблицами.
- Выберите инструмент для создания таблиц (Table) из палитры.
- Щелкните по диаграмме.
- Дайте схеме имя, например, schema1, затем щелкните Next.
- Введите имя таблицы, Customer, затем щелкните Next.
- Введите следующие столбцы: cust_id (проверяет ключ столбца), name (имя), address (адрес) и phone (телефон).
- Нажмите Finish.
Таким образом, мы создали схему schema1 и таблицу Customer. Разверните схему schema1 под CRM и увидите таблицу Customer в окошке определения данных. Таблица Customer будет трактоваться как UML-класс на диаграмме. Теперь создадим вторую таблицу - Orders.
- Выберите в меню инструмент для создания таблиц (Table).
- Щелкните по диаграмме.
- Дайте таблице имя, Orders, и нажмите Next.
- Введите следующие столбцы: ord_id (идентификатор приказа), quantity (количество), date (дата) и нажмите Next.
- Не заполняйте первичный ключ и нажмите Next.
- На странице внешнего ключа (см. рисунок 3) добавьте новый внешний ключ ord_cust_key. Выберите (Select) Customer в качестве искомой таблицы (Target Table), а ord_id в качестве исходного столбца.
Рисунок 3. Добавление нового внешнего ключа
- Нажмите Finish.
Таблица Orders будет иметь форму UML-класса на диаграмме. Рисунок 4 отображает ссылочную целостность (взаимосвязь с помощью внешнего ключа) через UML-ассоциацию таблиц.
Рисунок 4. Таблица и отношения
Альтернативный способ создания первичного и внешнего ключей
Первичный ключ можно создать, выбрав на панели инструментов Первичный ключ (Primary key) и щелкнув по таблице.Чтобы из существующего столбца получить первичный ключ, щелкните по столбцу (свойства класса) на диаграмме. Программа откроет и (после того как вы нажмете кнопку Finish) покажет вам первичный ключ в таблице рядом со столбцом. Также просто создавать внешний ключ, используя инструмент Внешний ключ (Foreign Key). Сначала выберите на панели инструментов Создать Внешний ключ (Create Foreign Key) и выберите исходную таблицу. Удерживая правую кнопку мыши, перетащите на таблицу, с которой вы работаете,- она должна иметь первичный ключ.
Создание видов, сохраненных процедур и функций, определенных пользователем
Панель инструментов также поддерживает создание видов, сохраненных процедур и функций, определенных пользователем. Чтобы их создать, выберите соответствующий инструмент на панели и щелкните по диаграмме. Для создания этих элементов модели данных в базе данных должна быть схема. Если в базе данных определены несколько схем, то в окошке определения данных выберите подходящую схему и щелкните по диаграмме. Обратите внимание, что только DB2 отображает базы данных, и только универсальные базы данных DB2 поддерживают создание сохраненных процедур и функций, определенных пользователем.
Визуализация существующих моделей данных
Можно визуализировать элементы локальных или удаленных баз данных, поддерживающих JDBC-соединение, сохраняя все отношения между элементами. Для визуализации элемента данных установите JDBC-соединение через сервер базы данных. Пример на рисунке 5 подключается к базе данных Cloudscape --- Cloudscape поставляется с IBM® Rational® Software Architect (RSA).
Рисунок 5. Создание JDBC-соединения
- Щелкните правой кнопкой мыши на вид сервера данных (data server view) и выберите новое соединение (new connection).
- Выберите Choose a database manager and JDBC driver и нажмите Next.
- Заполните информацию, как показано на рисунке 5.
- В качестве JDBC driver выберите Cloudscape Embedded Driver.
- Нажмите Browse и выберите Расположение Базы Данных (Database location): C:\Cloudscape_5.1\demo\databases\toursDB.
- Выберите драйвер Расположение Класса (Class location). Для этого примера C:\Cloudscape_5.1\lib\db2j.jar.
- Нажмите Finish.
База данных toursDB будет заполняться через папку соединения. Раскройте схему, выберите таблицу, которую будете визуализировать, и щелкните правой кнопкой мыши Visualize -> Add to New Diagram File -> Class diagram. Так вы создадите образ таблицы в классе диаграмм в новом проекте, как показано на рисунке 6.
Рисунок 6. Визуализация вашей модели
Данные обо всех внешних ключах, связанных с таблицей
Чтобы увидеть все таблицы, которые находятся в ссылочной целостности с какой-то конкретной таблицей, выберите таблицу и в контекстном меню Filters -> Show Related Elements. Все таблицы, внешние ключи которых связаны с выбранной таблицей, и все внешние ключи таблиц из выбранной таблицы будут показаны на диаграмме, как на рисунке 7.
Рисунок 7. Визуализация отношений таблиц
Свойство элемента данных
Для просмотра свойств любых элементов модели выберите элемент на диаграмме, щелкните по нему правой кнопкой мыши и выберите Show Properties View. Для изменения свойства откройте элемент с помощью редактора и там обновите, потому что все свойства в обозревателе свойств доступны только для чтения.
Изменения элементов в модели данных
Некоторые свойства можно изменять прямо на диаграмме, например, добавить новый столбец в таблицу и так далее. Но в большинстве случаев вам надо их открыть в редакторе модели. Например, чтобы обновить таблицу надо сделать по ней двойной щелчок. Таким образом откроется редактор таблицы, что позволит вам изменять и сохранять таблицу. Все изменения немедленно будут отображаться на диаграмме. Обратите внимание, если открыт редактор модели, то невозможно изменить элемент на диаграмме. Чтобы изменить элемент на диаграмме, необходимо закрыть редактор.
Преобразование таблицы в EJB
Таблицу можно преобразовывать в Enterprise JavaBeans™ (EJB™) и наоборот. RAD 6.0 поддерживает преобразование в EJB локальной таблицы, а также таблицы, доступной только для чтения (в окошке сервера данных). Когда таблица преобразуется в EJB, создается проект (или можно использовать уже существующий), затем текущая таблица копируется в преобразовывающую директорию в рамках EJB-проекта. Чтобы преобразовать таблицу, надо:
- Выбрать (Select) таблицу из просмотра данных или на диаграмме.
- Нажать правую кнопку мыши и выбрать Создание EJB из Таблицы (Create EJB from Table).
- Создать новый EJB-проект (EJB project), скажем, myEjbproj.
- Создать новый сервер (target server).
- Нажать Finish.
Теперь вы создали таблицу, как на Рисунке 8.
Рисунок 8. Таблица, преобразованная в EJB
IDEf1X- и IE-диаграммы
До сих пор формы показывались только в UML-нотации, но вы сможете создать все эти формы в IDEf1X- или IE-нотации. При создании диаграмм вам доступны три опции: класс диаграмм, IE-диаграммы и IDEf1X-диаграммы. Как только диаграмма создана, формы в ней получают нотацию согласно типам диаграммы. На Рисунке 9 показана IDEf1X-нотация для предыдущего примера модели данных.
Рисунок 9. Модель данных в IDEf1X-нотации
Рисунок 10 иллюстрирует IE-нотацию той же модели.
Рисунок 10. Модель данных в IE-нотации
Заключение
Я показал, как создавать и смотреть простые модели данных, всего несколько раз щелкнув мышью, с помощью Rational Application Developer 6.0. В этой статье я поверхностно коснулся визуального моделирования данных, вы можете сделать намного больше с помощью визуальных редакторов.
Ресурсы
Об авторе  | |  | Сюзанта Датта (Susanta Datta) является специалистом по программному обеспечению в лаборатории IBM Ottawa.Работает с Aurora Platform|Visualizer Core Services и занимается визуальным моделированием в UML. Получил степень MS компьютерных наук в университете Ottawa University. Вы можете написать ему по адресу sdatta@ca.ibm.com. |
Выскажите мнение об этой странице
|  |