powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Dataflow в PowerDesigner 15
3 сообщений из 3, страница 1 из 1
Dataflow в PowerDesigner 15
    #38181916
mrxiii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!

Есть задача изобразить dataflow-диаграмму формирования набора отчетов с помощью PowerDesigner. Отчеты формируются на основе сложных процедур MS SQL, которые, в свою очередь, могут использовать множество таблиц, процедур и функций со сложными связями. Для каждого отдельно взятого отчета надо иметь возможность получить перечень задействованных объектов.

Dataflow-диаграмма представляется как набор объектов (процедур, функций, таблиц), связанных направленными Extended Dependency.

Первое, что приходит в голову:
1. Сделать реверс-инжиниринг объектов из MS SQL в Physical Data Model
2. Dataflow каждого отчета нарисовать в отдельной модели с помощью ссылок на объекты

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

Второе, что приходит в голову:
1. Сделать реверс-инжиниринг объектов из MS SQL в Physical Data Model
2. Разработать общую dataflow-диаграмму для всех отчетов с использованием не ссылок на объекты, а копий объектов
3. Получать перечень задействованных объектов по отдельно взятому отчету с помощью Impact and Lineage Analysis

Но здесь есть другие проблемы...
– Один объект будет иметь много дублей вида ObjectName, ObjectName1, ObjectName2, если он используется несколько раз
– Сложность разработки ввиду огромного количества объектов на одной схеме

Вопрос: подскажите, как оптимально использовать возможности PowerDesigner для решения этой задачи?
...
Рейтинг: 0 / 0
Dataflow в PowerDesigner 15
    #38182686
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mrxiii,
Думаю, всё можно держать в одной модели: тщательнее будете проектировать.

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

Будут диаграммы:
1. DataFlow получения каждого отчёта: последовательность вызова процедур (или вызов одной процедуры! :) ) - всё зависит от вашего подхода к построению отчёта.
Или просто связи с непосредственно вызываемыми процедурам внутри одной процедуры (последовательность задаёт сам код процедуры - необязательно отражать это на модели)
2. DataFlow каждой процедуры: последовательность вызова (или опять же просто звёздочка с перечнем непосредственно вызываемых процедур, запросов к таблицам или взглядам).

Взаимосвязи более глубокого уровня можно не рисовать: они получаются инструментом Lineage and Impact Analysіs. Если нужны специфические вещи: vb-скрипты, Word+ PowerDesigner COM...
...
Рейтинг: 0 / 0
Dataflow в PowerDesigner 15
    #38182720
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mrxiii, ключёвое отличие моего подхода от вашего:
1. Все диаграммы в одной модели.
2. Используются не ссылки на сущности внешних моделей (external shortcut), и не копии сущностей (object1, object2), а используются символы (symbols) одной и той же сущности на разных диаграммах одной модели.

П.С.: Кстати, на одной диаграмме можно создать два символа одной и той же сущности, если это необходимо: у символа в конце названия сущности появится порядковый номер символа этой сущности на этой диаграмме через двоеточие.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Dataflow в PowerDesigner 15
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]