Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UML.doc
Скачиваний:
6
Добавлен:
16.11.2019
Размер:
8.2 Mб
Скачать

2.8.3.2.2. Отображение существующих бд в диаграммы Rational Rose

Процесс обратного проектирования БД в Rational Rose заключается в переходе от физической реализации БД к схемной модели, из которой в свою очередь можно осуществить переход к каноническим диаграммам классов. Для обеспечения автоматизации данных переходов Rational Rose предоставляет утилиты Rational Data Modeler и Rational Oracle8. Rational Data Modeler позволяет получать схемы БД и строить для них диаграммы классов. Rational Oracle8 дает возможности для работы с объектно-реляционными схемами Oracle, позволяя анализировать существующие БД (строить для них схемы, проверять синтаксис, формировать отчеты об объектах схемы) и генерировать SQL скрипт для внесения изменений в БД.

Использование Rational Data Modeler

С помощью команды «Data Modeler–>Reverse Engineer» на основе выбранного текстового файла с SQL скриптом, описывающим структуру БД, или подключения к серверу БД, автоматически строится реляционная схема БД. При этом на ней отображаются:

- обязательно: таблицы и связанные с ними ограничениями;

- по выбору: просмотры, триггеры, хранимые процедуры, индексы.

Комментарии, определенные в БД, также отображаются на схеме в качестве документации к объектам.

Для полученной схемы на диаграмме компонентов автоматически определяются компонент БД, и, случае наличия в исходном скрипте или БД описания табличных пространств, компоненты табличных пространств.

При построении схемы происходит синтаксический анализ исходного кода, с указанием, при наличии ошибок, номеров строк, в которых они присутствуют.

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

Полученная схема может быть преобразована в диаграмму классов. Автоматическое преобразование выполняется с помощью команды «Data Modeler–>Transform to Object Model», примененной к пакету-схеме. При генерации диаграммы классов можно определить будут ли при преобразовании рассматриваться табличные атрибуты, соответствующие в схеме первичным ключам. Соответствие между элементами схемы и элементами диаграммы классов, в которые они отображаются, приведено в таблице 5.

Таблица 5 – Соответствие элементов диаграмм классов элементам исходных схем

Элемент схемы

Элемент диаграммы классов

Описание преобразования

степень связи

множествен-ность (multiplicity)

Степень связи таблицы принимается в качестве множественности класса.

атрибут таблицы

атрибут класса

- Каждый атрибут таблицы преобразовывается в атрибут класса с сохранением имени.

- Тип преобразовывается исходя из соответствия, определенного для исходной СУБД. Значение по умолчанию преобразуется в значения для инициализации, вычислимые атрибуты таблиц и атрибуты внешних ключей не рассматриваются.

ограничения

Не рассматриваются.

домены

Не преобразуются, используются в качестве типов для атрибутов классов.

индексы

Не рассматриваются.

идентифици-рующая связь

связь-композиция

Все идентифицирующие связи преобразуются в связи-композиции.

таблица-пересечение (intersection table)

класс-ассоциация,

связь-ассоциация N:N, класс

- Если таблица-пересечение, дополнительно содержит атрибуты не являющиеся первичными или внешними ключами, то создается класс-ассоциация, связанный со связью-ассоциацией N:N.

- Если таблица-пересечение, содержит только атрибуты составного первичного ключа, являющиеся внешними ключами, то создается связь-ассоциация N:N.

- Если таблица-пересечение, содержит дополнительный первичный ключ, то создается класс, раскрывающий связь-ассоциацию N:N.

не идентифицирующая связь

связь-ассоциация

Все не идентифицирующие связи преобразуются в связи-ассоциации.

схема

пакет

Все схемы преобразуются в пакеты с идентичными именами.

хранимые процедуры

Не рассматриваются.

триггеры

Не рассматриваются.

таблица

класс

Все таблицы преобразуются в постоянные (persistent) классы с идентичными именами.

Использование Rational Oracle8

Rational Oracle8 позволяет анализировать схемы существующих БД. Использую команду «Oracle8–>Analyze Schema» и осуществив соединение с сервером БД Oracle, Rational Oracle8 автоматически построит диаграмму классов, для выбранной схемы. При этом на диаграмме компонентов создаться компонент-схема с именем схемы БД, выбранной для анализа. В ней будут реализованы все сгенерированные в процессе автоматического анализа объекты. Rational Oracle8 позволяет генерировать: объектные типы, реляционные таблицы, объектные таблицы, встраиваемые таблицы, реляционные просмотры, объектные просмотры и коллекции. Комментарии к объектам, созданные в БД, отображаются комментариями к соответствующим объектам диаграммы классов.

Команда «Oracle8–>Import Oracle8 Data Types» автоматически генерирует скалярные типы, используемые в СУБД Oracle8, в виде классов сгруппированных в пакете Scalar Types (Рисунок 59). Сам пакет реализуется компонентом Oracle8 Scalar, создающимся автоматически и имеющим стереотип «Subprogram Specification». Сгенерированные скалярные типы можно использовать при описании произвольных объектов модели, в случае использования этих типов в схеме БД, связь между схемой и компонентом-контейнером скалярных типов можно отразить при помощи связи-зависимости (см. рис.60).

Рис.59. Классы скалярных типов Oracle8 в окне браузера

Рис.60. Компонент-схема и компонент-контейнер скалярных типов

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]