powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Все вопросы по Sybase PowerDesigner (PD), Часть № 4
208 сообщений из 208, показаны все 9 страниц
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35819791
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ветка предназначена для обсуждения всех вопросов, связанных с Sybase PowerDesigner и является продолжением предыдущей ветки.
Предыдущие ветки:
Все вопросы по Sybase PowerDesigner (PD) :
Часть № 1 , Часть № 2 , Часть № 3

Ссылки:
Наименование ресурса ссылкаАнглоязычный сайт производителя (описание): http://www.sybase.com/products/modelingmetadata/powerdesigner Русскоязычный сайт производителя (описание): http://www.sybase.ru/Syb/products/apptools/pw-designer.htm видео демонстрации http://www.sybase.com/products/modelingmetadata/powerdesigner/demonstrationvideos google group: sybase.public.powerdesigner.general http://groups.google.com/group/sybase.public.powerdesigner.general/topics

Расширения PowerDesigner, генераторы кода по моделям:
Описание Автор Разработка на основе моделей (Model Driven Development) с примерами использования Сергей Тарасов Генератор кода (C# & T-Sql) приложений реляционных баз данных Александр Меркульев PHP_Application (PApple) - open source проект; расширение для PHP (PHP.xol) Andrey Tereshchenko
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35838133
Фотография Big17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему в схеме PD не сохраняется текст триггера?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35838294
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Big17 wrote at 26.02.2009 1:41:


> Почему в схеме PD не сохраняется текст триггера?

Вроде сохраняется, в чем проявляется несохранение?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35838976
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov Разработка на основе моделей (Model Driven Development) с примерами использования , Сергей Тарасов

А есть смысл давно не работающие ссылки приводить?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35839369
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛой wrote at 26.02.2009 12:45:

> А есть смысл давно не работающие ссылки приводить?

Скопировал не глядя, честно говоря, из предыдущей темы. Теперь поправил ссылку.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35846851
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Извините за еще один вопрос - сделал везде описания для полей, таблиц и т.д.

Возникла проблема следующего плана - есть схема, в схеме таблица, в таблице описания полей. Описания в скрипте генирируются как Exec sp_addextendedproperties '...', '...', 'user'...
При выполнении скрипта SQL Server вываливается с ошибкой на первом же добавлении ExtendedProperties - мол не могу найти объект или нет разрешения. Если исправить в скрипте 'user' на 'schema', то все проходит нормально.

Как заставить генерировать выполняемый скрипт добавления описаний (расширенных свойств)? Схемы создавались как пользователи со стереотипом Shema. Генерируются в скрипте и создаются в базе совершенно нормально.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35846882
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alkatraz wrote at 02.03.2009 17:52:

> Возникла проблема следующего плана - есть схема, в схеме таблица, в
> таблице описания полей. Описания в скрипте генирируются как Exec
> sp_addextendedproperties '...', '...', 'user'...
> При выполнении скрипта SQL Server вываливается с ошибкой на первом же
> добавлении ExtendedProperties - мол не могу найти объект или нет
> разрешения. Если исправить в скрипте 'user' на 'schema', то все проходит
> нормально.
>

Исправь, меню Database-> Edit Current DBMS, ветки Script\Objects\Table\TableComment,
Script\Objects\Column\ColumnComment.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35848018
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!..
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35849926
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще один вопрос:

Создаю представление, вешаю на него индексы и триггер из шаблона, но сам триггер в Preview не генерируется, хотя все остальное (представление и индексы) генерируются нормально.
Если поменять тип шаблона тригеера на Table и назначить его таблице, то триггер генерируется нормально, но для представлений он не генерирует ничего.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35852550
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кажется я понял, в чем проблемма - в теле триггера для представления используется макрос .FOREACH_COLUMN() - если его убрать, то триггер генерируется нормально.

Мне в триггере надо перебрать все поля представления - каким образом это можно сделать?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35854980
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ответьте пожалуйста!

В триггере на представление вообще не работают переменные типа %COLUMN% и макросы типа .FOREACH_COLUMN()! У меня десятки вьюх, для всех нужен один триггер - его я зашиваю в шаблон. Триггер сам по себе очень простой, но нужно перечисление всех полей представления. Переписывать ВСЕ поля КАЖДОГО представления, при изменении количества полей в представлениях это рехнуться можно, а в триггерах на представление не работает ни один макрос перебора полей. :(

Помогите пожалуйста! Время уходит - надо решать что делать!.. :(
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35864306
UKY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
UKY
Гость
Поделитесь, пожалуйста ссылкой на файл для генерации отчётов на русском языке. А то ни в одной ветке не нашёл...
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35884286
Accemt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем.
У меня такой вопрос: как сделать в PowerDesigner 12 ограничение на поле таблицы unique? К сожалению, соответсвующей галочки я там не нашёл. :(
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35885085
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понимаю, что никто не сталкивался с проблеммой использования макросов в триггерах на представления?

Может я что-то делаю не так? Мне надо перебрать все поля представления и записать их в строку Insert и Select, что бы получить запрос на вставку в таблицу. Поля в представлении полностью идентичны полям одной из соединяемых таблиц, которые представлены в теле запроса представления и именно в эту таблицу надо вставлять изменения.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35887339
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я обошелся для данной цели не PD, а просто в базе сделал хранимку, которая эти тригера делает. Могу для Oracle поделиться. Ключевая конечно проблема - обновление триггеров, когда меняется структура данных.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35887622
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, если не сложно, поделитесь пожалуйста. Как временное решение сойдет.

Но вопрос все еще в силе.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35888715
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно сегодня не смогу, но писать там нечего цикл по связке all_objects+all_tab_columns через object_name или object_id - не помню уже как. Завтра могу кинуть - пишите мыло.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35888727
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и,кстати,приведите Ваш пример скрипта. А то как-то непонятно,как в нем ошибку искать. В комплекте с ПД есть скрипт, который пробегается по полям таблицы и что-то делает. Я его переписал и сделал вызов по правой кнопке для каждой таблицы как-то. но это было для firebird и очень давно.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35889536
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AccemtПривет всем.
У меня такой вопрос: как сделать в PowerDesigner 12 ограничение на поле таблицы unique? К сожалению, соответсвующей галочки я там не нашёл. :(
Нужно создать альтернативный ключ - на закладке Keys таблицы и выбрать поля входящие в ключ.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35889543
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlkatrazОтветьте пожалуйста!

В триггере на представление вообще не работают переменные типа %COLUMN% и макросы типа .FOREACH_COLUMN()! У меня десятки вьюх, для всех нужен один триггер - его я зашиваю в шаблон. Триггер сам по себе очень простой, но нужно перечисление всех полей представления. Переписывать ВСЕ поля КАЖДОГО представления, при изменении количества полей в представлениях это рехнуться можно, а в триггерах на представление не работает ни один макрос перебора полей. :(

Помогите пожалуйста! Время уходит - надо решать что делать!.. :(

VBS:
Код: plaintext
1.
2.
3.
4.
for each selection in ActiveSelection
   for each col in selection.Columns
      msgbox col.Name
   next
next
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35892869
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Роман Дынник[quot Alkatraz]
VBS:
Код: plaintext
1.
2.
3.
4.
for each selection in ActiveSelection
   for each col in selection.Columns
      msgbox col.Name
   next
next


Я прошу прощения за глупый вопрос - как применить приведенный вами код?
Я так понимаю, это код Visual Basic Script - как его правильно использовать, что бы заменить функционал макроса в триггере на представление?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35896608
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял, вставляется с помощью .vbscript/.endvbscript, но к сожалению не работает - ругается на внутренний цикл с selection.Columns.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35896745
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
код работает только для выделенных вьюх/таблиц (ActiveSelection).
если выделен иной тип объектов на диаграмме (хранимая процедура, например), внутренний цикл выдаст ошибку.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35897144
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гм... Мне нужно составить шаблон триггера для представления, в котором бы перебирались все поля, участвующие в выражении Select самого представления...

Как я понимаю, этот скрипт мне не подойдет...
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35897152
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я показал как перебрать поля вьюхи, вы хотите чтобы кто то за вас всю работу сделал?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35897261
Arredorg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос:

Где PowerDesigner хранит локальные пользовательские настройки (настройик отображения закладок например).

Спасибо
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35897414
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Роман Дынникя показал как перебрать поля вьюхи, вы хотите чтобы кто то за вас всю работу сделал?

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

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

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

Сейчас, к сожалению не могу запостить шаблон. Как доберусь до проекта, скину.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35898050
Фотография Big17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov
Big17 wrote at 26.02.2009 1:41:


> Почему в схеме PD не сохраняется текст триггера?

Вроде сохраняется, в чем проявляется несохранение?


Сохраняется только верхняя часть, причем довольно интересно - может обрезать прямо на полуслове...
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35898056
Фотография Big17
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov
Big17 wrote at 26.02.2009 1:41:


> Почему в схеме PD не сохраняется текст триггера?

Вроде сохраняется, в чем проявляется несохранение?



Вот так это выглядит:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
use DB1
go

if exists (select  1 
          from sysobjects
          where id = object_id('dbo.TABLE')
          and type = 'TR')
   drop trigger dbo.TABLE
go


CREATE TRIGGER
go

...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35898575
zMakc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такой вопрос:

Как связать диаграмму бизнес процесса(bpmn) с физической моделью БД?
Уточняю, хочу в диаграмме(bpmn) обьекту типа Resourse в опциях задавать поля (название и тип) и связь с существующей вьюшкой(физическая модель) или оттуда создать новую.

Кто знает как? :)
Уже 4 час бьюсь..
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35899903
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот исходник шаблона триггера на представления:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
create trigger [%TABLQUALIFIER%]%TABLE%_OnUpdate on [%TABLQUALIFIER%]%TABLE% 
instead of insert, update, delete as
begin
  SET NOCOUNT ON

.set_value("Comma", "", new)

  INSERT INTO  
.REPLACE("View.", "")
[%TABLQUALIFIER%]%TABLE% 
.ENDREPLACE

               (.ALLCOL("[%COLUMN%]", "", ",", ")")
  Select
.FOREACH_COLUMN()
%Comma%
.if (%COLUMN% == 'Time')
GetDate()
.else
  .if (%COLUMN% == 'Deleted')
Case When [Inserted].[ID] Is Not Null Then [Inserted].[Deleted] Else  1  End
  .else
IsNull([Inserted].[%COLUMN%], [Deleted].[%COLUMN%])
  .endif
.endif
.set_value("Comma", ", ")
.ENDFOR

  From [Inserted] Full Join [Deleted] On [Inserted].[ID] = [Deleted].[ID]
end

Как можно понять, он даже не формируется на закладке "Preview" итогового представления.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35903946
Вопрос знатокам:
Пытаюсь достать схему из PostgreSQL в PD15.
Не могу побороть следующие вещи:
1. Текст функций не извлекается. (точнее извлекается только первые 256 символов)
2. Параметры функций отсутствуют
3. Не распознаются индексы по двум и более полям.
4. Норовит индексы переименовать по-своему (IX1_blabla вместо оригинального имени вида IDX_table_field(s))
5. Композитные типы. Похоже не понимает вообще.
6. В процедурах боди заворачивает в '...' вместо $$...$$, хотя я ему шаблон поменял.

Может быть у кого-нибудь есть просто правильно настроенный файл pgsql8.xdb??? Приаттачте к ответу, пожалуйста.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35905157
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ладно, если никто не заинтересован в моей проблемме, то задам другой вопрос - почему не работает данная конструкция?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
.if (%COLUMN% == 'Time')
GetDate()
.else
  .if (%COLUMN% == 'Deleted')
Case When [Inserted].[ID] Is Not Null Then [Inserted].[Deleted] Else  1  End
  .else
IsNull([Inserted].[%COLUMN%], [Deleted].[%COLUMN%])
  .endif
.endif

Блок .if просто игнорируется... Как я понимаю, я неправильно делаю сравнение имени столбца. Подскажите, как записать блок сравнения правильно?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35907052
oghmios
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется: несколько схем Oracle 10gR2 с большим количеством объектов и взаимосвязей. Схемы в целом похожи по структуре, но имеются свои нюансы (разные предметные области, поэтому есть дополнительные сущности, поля и взаимосвязи).

Задача: систематизировать объекты и связи, подготовить удобную документацию (в том числе и печатную), желательно выделить базовое множество объектов и связей и относительно него выделять отличия в каждой из схем.

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

Затруднение: в Sybase PowerDesigner 12.5 нет возможности группировки объектов в иерархические структуры и сохранение группы под определённым именем, групповых операций (например, выделение цветом).

Вопрос: вероятно я что-то упустил или смотрю на проблему под другим углом?
Поделитесь, пожалуйста, опытом.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35908737
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Package с графическими синонимами + между ними протянуть dependency
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35908911
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShtockPackage с графическими синонимами + между ними протянуть dependency
+1
+ соответственно, несколько диаграмм
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35909590
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я понимаю, что вопрос не по проектированию БД, но я уже не знаю, где искать и у кого спрашивать. Физическая модель получена реверсом базы данных, предположим, там 1 таблица.
В ОО модели мне нужно создать классы: форму и окно на этой форме, в которое будет выгружаться вся таблица из БД.
Все это дело нужно сгенерить в powerbuilder. У меня туда генерится всё, что угодно: формы, кнопки, едиты, но не datawindow. Кто-нибудь умеет работать с этим?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35918611
guest_guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день,

Скачал 15ю версию PD, использую исключительно для учебных целей. Срок 15 дней очень мал для изучения столь функционального продукта.

Вопрос. Можно ли как-то продлить данный срок?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35918727
Фотография Mr Marmelad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_guestВопрос. Можно ли как-то продлить данный срок?

Купить академическую лицензию. Тут
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35918838
guest_guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Исходя из написанного следует,что бесплатно Sybase не дает продукты даже для обучения.
К тому же там идет речь о учебном курсе,а я обучаюсь один(самообразование) и дома и 300$ платить не готов.

Есть ли бесплатные аналоги с бизкой функциональностью?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35918846
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AlkatrazЛадно, если никто не заинтересован в моей проблемме, то задам другой вопрос - почему не работает данная конструкция?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
.if (%COLUMN% == 'Time')
GetDate()
.else
  .if (%COLUMN% == 'Deleted')
Case When [Inserted].[ID] Is Not Null Then [Inserted].[Deleted] Else  1  End
  .else
IsNull([Inserted].[%COLUMN%], [Deleted].[%COLUMN%])
  .endif
.endif

Блок .if просто игнорируется... Как я понимаю, я неправильно делаю сравнение имени столбца. Подскажите, как записать блок сравнения правильно?

Никто не сталкивался с такой задачей, значит?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35918883
guest_guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_guestИсходя из написанного следует,что бесплатно Sybase не дает продукты даже для обучения.
К тому же там идет речь о учебном курсе,а я обучаюсь один(самообразование) и дома и 300$ платить не готов.

Есть ли бесплатные аналоги с бизкой функциональностью?

Забыл указать цели использования:

UML моделирование
Возможность обратного проектирования(reverse eng), сравнения моделей(compare models)
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35919383
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_guest wrote at 08.04.2009 9:47:

> Есть ли бесплатные аналоги с бизкой функциональностью?


Посмотри тут может: http://worldmind.livejournal.com/2059.html
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35924864
kampy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос пару раз возникал, но немного под другим углом.

Oracle в котором есстественно нет доменов
PD в котором домены заведены
При заливки в базу все домены прекрасно преобразуются в нужные типы, все замечательно.
НО при попытке залить только изменения, показывает все поля с доменами, как требующие обновления.
Как сказать PD , чтобы при сравнении тоже происходила конвертация домена в соответствующий тип?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35973785
DimmaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DimmaNПрошу прощения за несовсем тематичный вопрос: вы тут обсуждаете, в основном, ERD, но в форуме о разработке ИС я ветки про ПД не нашел.

Рисую DFD диаграмму. Не могу добиться от сабжевой программы чтобы все Resource flow отрисовывались со сглаженными углами. Для потоков между процессами такой формат я настроил в Tools-Display preferences-Format-Flow. Для Resource flow там ниже есть также возможность указания форматов. Но она не работает.

В итоге задаю формат конкретному символу и копирую его на все остальные. Но мне такой способ не нравиться :)

Забыл указать версию - ПД 12.5.0.2169
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35974880
В концептуальной модели я делаю связи, соответственно по этой связи в физицеской модели в одной из таблиц сгенерится внешний ключ. Как и что мне задать в концептуальной модели чтоб он сгенерился с нужным мне именем???
А то каждый раз приходится переименовывать что жутко неудобно :(
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35975753
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПодскажитеКакВ концептуальной модели я делаю связи, соответственно по этой связи в физицеской модели в одной из таблиц сгенерится внешний ключ. Как и что мне задать в концептуальной модели чтоб он сгенерился с нужным мне именем???
А то каждый раз приходится переименовывать что жутко неудобно :(
нужно задать FK Column Name Template при генерировании PDM, на закладке Detail
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35975762
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimmaNДля Resource flow там ниже есть также возможность указания форматов. Но она не работает.

В итоге задаю формат конкретному символу и копирую его на все остальные. Но мне такой способ не нравиться :)
Баг.
Макрос попробуйте написать для смены формата
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35975764
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_guest
Есть ли бесплатные аналоги с бизкой функциональностью?
Eclipse EMF
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35977545
zMakc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый вечер!

Подскажите, как можно в диаграмме бизнес процесса BPMN, обьекту "Resource" задать атрибуты(поля)?

Например Resource "Заявка на ремонт" должен содержать поля:
-код
-дата (date)
-сотрудник (int)
-транспорт (int)
-примечание (char)

Процессы обмениваются между собой сообщениями, где можно задать формат этих сообщений?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35977788
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zMakc
"Заявка на ремонт" должен содержать поля:
-код
-дата (date)
-сотрудник (int)
-транспорт (int)
-примечание (char)
Процессы обмениваются между собой сообщениями, где можно задать формат этих сообщений?

Можно создать соответствующие extended attributes для Resource (Language/Edit current Process Language).

Но думаю здесь лучше создать XSD-диаграмму, с помощью которой и определить формат сообщения.
Затем в BPMN привязать к "заявке на ремонт" элемент XSD-диаграммы через extended dependecy.

p/s/ Не обязательно это должна быть XSD, можно использовать и класс из OOM, например.

BPMN поддерживает лишь набор концепций, необходимых для моделирования бизнес процессов. Моделирование иных аспектов, помимо бизнес процессов, находится вне зоны внимания BPMN. Например, моделирование следующих аспектов не описывается в BPMN:
-Модель данных
-Организационная структура
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35977818
zMakc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынник, спасибо. XSD это XML Schema Definion? Буду пробовать.

Через extended dependecy связал с таблицей (PDM), жить можно но как-то все это не очень удобно.

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

Чем(тип диаграмм, языки) по вашему мнению такое правильнее описывать?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35977860
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zMakc
На разных этапах процесса заполняются разные поля(разными пользователями).
В зависимости от того что вводят в эти поля меняется последовательность.
Чем(тип диаграмм, языки) по вашему мнению такое правильнее описывать?
Для описания действий различных ролей пользователей хорошо подходят обычные Use Case.

По поводу последовательности и BPMN... Следует декомпозировать процесс, разделив его на разные этапы. Для разных этапов выделить различные Event Message (Message Type), ну и далее использовать условности (OR, XOR...).

p/s/
В зависимости от уровня детализации/представления, а также от того как вы собираетесь их использовать здесь могут подходить различные типы диаграмм:
BPMN/BPEL, Use Case, Activity, Data Flow.

BPMN/BPEL - это скорее высокоуровневые модели, не стоит стараться детализовывать в них всё по-максимуму.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35985168
На физической модели выделяю таблицы и делаю view (ctrl+shift+v).
Вопрос, можно ли настроить PD (у меня 15 версия) чтоб он при создании view делал еще и join таблиц, ведь вся доступная информация для этого у него есть.
А так же в тексте view он использовал алиесы таблиц, а не полные имена.
Подскажите где все это настроить?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35985175
C алиесами вопрос снят, только что нашел в свойствах запроса.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35985297
При генерации физической модели PD навставлял мне кроме обычных триггеров на вставку еще и clr. Откуда он это взял? Как мне это убрать???
пример

create trigger "CLR Trigger_attributetemplate" on AttributeTemplate for insert as
external name %Assembly.GeneratedName%.
go


create trigger ti_attributetemplate on AttributeTemplate for insert as
begin
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35985368
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПодскажитеКак
Вопрос, можно ли настроить PD (у меня 15 версия) чтоб он при создании view делал еще и join таблиц, ведь вся доступная информация для этого у него есть.

нельзя, PD же не знает какой join нужен (outer, full или inner), кроме того он не может знать какие поля из соединяемых таблиц нужны.
всегда можно написать собственный генератор на VBS.
Для генерации вьюх я поступал так: генерировал промежуточный xml с нужной мета-информацией таблиц, столбцов, связей и их стереотипов, затем использовать собранный xml для генерации вьюx. Можно напрямую с объектной моделью работать в vbs, просто с xml мне удобнее.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35987690
Добрый день!

Спасибо за предыдущую помощь!
Возник такой вопрос.
В концептуальной модели есть связи наследования, которые в физической модели переходят в ссылки с Cardinality 0..*
Как сделать чтоб он выставлял Cardinality 1..*.
В самих связях наследования ничего не нашел :(

PS
Ром, тебе привет из Иванова!
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35988455
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПодскажитеКак
В концептуальной модели есть связи наследования, которые в физической модели переходят в ссылки с Cardinality 0..*
Как сделать чтоб он выставлял Cardinality 1..*.
В самих связях наследования ничего не нашел :(

В физической модели Cardinality никакой значимости не несут. От того какой будет Cardinality физическая модель (sql-скрипт) не изменится. Cardinality в PDM - это скорее информационное поле, кот. может/будет использовано при необходимости генерации OOM из PDM (Cardinality из PDM будет отражено на Multiplicity в OOM). Вот Multiplicity в OOM уже несет смысловую нагрузку.

p/s/
не рекомендую увлекаться CDM и "гонянием" моделей в обе стороны.
Рассматривайте CDM как первичную (черновую) аналитическую модель для какого-либо модуля, из кот генерятся PDM и OOM и работа уже идет над ними, а CDM, за редким исключением "выбрасывается". Т.е. не стоит злоупотреблять повторными генерациями из CDM.
В 15 PD CDM претерпела изменения, в частности, там нет теперь generalization, а вместо этого есть SubEntity. В PD 15 кроме CDM есть еще и Logical Data Model, возможно в некоторых случаях лучше использовать ее.

спасибо за привет)
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35988656
Добрый день

Сразу скажу, пока не работал с ООМ, поэтому возник такой вопрос.
А вообще насколько выгодно ее использовать с последущей генерацией кода на C#? Не проще использовать различные ORM, тот же Entity Framework ?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35988722
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПодскажитеКак
Сразу скажу, пока не работал с ООМ, поэтому возник такой вопрос.
А вообще насколько выгодно ее использовать с последущей генерацией кода на C#? Не проще использовать различные ORM, тот же Entity Framework ?
OOM в PD - это реализация UML2. ORM к UML никакого отношения не имеет. Вместо PD здесь может быть любой другой инструмент, Rational, например. Есть мнение что в PD реализация и юзабилити для UML выше чем даже в том же Rational.
К OOM существуют расширения для прикручивания различных ORM. В частности, есть расширение для Hibernate/NHibernate с генерацией маппинг-схем и т.п., хотя в полном масштабе я бы это расширение не использовал, хотя бы для .NET, т.к. код который генерится, меня не совсем устраивает, да и NH развивается...
Что касается Entity Framework - вещь достаточно сырая и не обкатанная. Насколько я знаю, народ сделал несколько прототипов, посмотрел на это всё и на этом пока решил EF не трогать в реальных проектах. Проблем там не мало. Мне он тоже пока не нравится.
Большинство предпочитают с NH работать.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35990705
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вобщем подвожу итог - представления в PD не поддерживаются вообще никак. Никакие макросы или переменные там не работают. Каждое представление надо делать с нуля и если вносятся изменения в базовые таблицы, то надо переписывать представления и описания полей вручную.

Триггеры, в силу того, что макросы и переменные не поддерживаются, так же надо писать монолитными для каждого представления.

С конструкцией .IF для сравнения текущего обрабатываемого поля (%COLUMN%) так же не разобрался - срвнение просто не проходит. Пришлось заменить все конструкцией .REPLACE.

В качестве решения проблеммы, вынес все триггеры на базовые таблицы, хоть это и стоило много труда. Не понимаю, почему не поддерживаются макросы и переменные в представлениях... :(
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35995110
uranic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня следующая проблема:

PowerDesigner 15 физическая модель Oracle 10g.
В существующей БД Oracle есть поля типа Integer.
Когда затягиваю таблицы в модель (Update Model from Database) тип у этих полей становиться number. Как можно обойти и в какую сторону копать?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35995145
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uranicPowerDesigner 15 физическая модель Oracle 10g.
В существующей БД Oracle есть поля типа Integer.
Когда затягиваю таблицы в модель (Update Model from Database) тип у этих полей становиться number. Как можно обойти и в какую сторону копать?
Изменить в свойствах DBMS запрос по пути Script\Objects\Column\SqlListQuery
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35995170
uranic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нашел как мне кажется более правильный путь
DBMS Properties -> Script -> SQL ->DataType -> OdbcPhysDataType
добавил следующую строчку
NUMBER(*,0) INTEGER
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35995800
uranic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прошу прощения, но я не смог на формуме найти файл Resource Files\Report Languages\Russian.xrl.

Где его можно взять?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35996959
uranic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще вопрос.
Попытался затянуть из БД Oracle в PowerDesigner пакеты, процедуры и функции. Затянул, но не смог заставить PD затянуть комментарии к заголовкам процедур и пакет. Возможно ли это в принципе?
Если да, то в каком формате должны быть такие комментарии?

Хотя ценность пакетов и процедур в PD для меня сомнительна. Может кто поделиться успешным опытом применения?
--
PD 15
Oracle 10.2
комменнтарий в стиле plsqldoc (плугин к plsql developer)
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #35998684
Валерий aka Ратибор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛой[quot Shtock]Package с графическими синонимами + между ними протянуть dependency

Давайте разберёмся детально. Если группу таблиц перенести в Package, то на главной ER-диаграмме вместо этой группы таблиц будет отображаться Package и не будет связей между Package и другими таблицами. Это неправильно. Я бы хотел объединять таблицы в логические группы, но так, чтобы на главной ER-диаграмме связи между этой группой и остальными таблицами не пропадали. Добавить связь вручную можно, но это будет не Reference-связь, а Link/Extended Dependency-связь. И добавлять вручную связи при каждом добавлении или удалении таблиц из логической группы нерационально. Кроме того, если в модели выделить таблицу и сделать выделение всех таблиц, связанных с ней, то таблицы, которые были перемещены в Package, не будут отображены.
Отсюда я делаю вывод, что использовать Package для объединения таблиц в логические группы нельзя.
Делать логические группы по стереотипу в принципе можно, но у каждой таблицы может быть только один стереотип, а у меня стереотипы уже используются для других целей.
Остаётся для объединения таблиц в логические группы использовать только выделение таблиц цветом. Но это тоже не очень хороший вариант. Во-первых, надо где-то описывать легенду какой цвет какой группе соответствует. Во-вторых, сложности со связями. Например, у меня есть несколько баз данных. И есть ряд логических групп таблиц, которые с небольшими вариациями встречаются в каждой базе данных. Хотелось бы иметь механизм для связей групп таблиц в различных базах. Например, если в одной базе я добавляю в логическую группу определённую таблицу и если такая таблица присутствует в других базах, то в других базах эту таблицу надо тоже добавить в эту же логическую группу. Если же в других базах есть таблицы с другим именем, но являющуюся аналогом исходной таблицы, то её также надо добавить в эту логическую группу.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36003461
Валерий aka Ратибор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-нибудь использовал ActiveX Add-ins Microsoft Analysis Services (PDMSolap.dll) или Microsoft SQL 2005 Analysis Services (PowerDesigner.AddIn.Pdm.SQLServer.dll) в PowerDesigner 15?
Эти дополнения используются для генерации структуры OLAP. Информация по ним очень скудная. Буду рад за любой полезной информации.
Проблема в том, что дополнение Microsoft Analysis Services не регистрируется в PowerDesigner. Возникает малоинформативная ошибка "Add-in Microsoft Analysis Services cannot be registered". Логов у PowerDesigner нет. Поиск в журнале событий Windows ни к чему не привёл. С другой стороны, библиотеку PDMSolap.dll можно успешно зарегистрировать с помощью regsvr32. Возможно, что для успешной регистрации PDMSolap.dll необходима установленная версия SQL Server 2005 с Analysis Services. Сейчас я проверяю этот вариант. Сомнение в поддержке SQL Server 2008 Analysis Services возникло из-за того, что есть отдельный компонент Microsoft SQL 2005 Analysis Services. Но с другой стороны PowerDesigner 15 поддерживает SQL Server 2008 в плане реверсивного инжиниринга. Компонент Microsoft SQL 2005 Analysis Services регистрируется в PowerDesigner, но никаких новых пунктов в меню Tools не появляется. Сейчас у меня в меню Tools только два пункта, относящихся к OLAP - Rebuild Cubes и Generate Cube Data.
В итоге я прихожу к мысли, что дополнение Microsoft Analysis Services придётся в итоге написать самостоятельно. Если бы провести реверсивный инжиниринг существующей библиотеки PDMSolap.dll задача была бы намного проще.
На сайте Sybase в разделе Support я информацию искал. Но для просмотра наиболее интересных статей необходимо быть либо сотрудником этой компании, либо её партнёром.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36003472
Валерий aka Ратибор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для анализа структуры DLL удобно использовать программу Dependency Walker . Я вижу, что библиотека PDMSOLAP.DLL написана на MS VB 6.0.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36003551
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий aka РатиборАнатоЛой[quot Shtock]Package с графическими синонимами + между ними протянуть dependency
Давайте разберёмся детально. Если группу таблиц перенести в Package, то на главной ER-диаграмме вместо этой группы таблиц будет отображаться Package и не будет связей между Package и другими таблицами. Это неправильно. Я бы хотел объединять таблицы в логические группы, но так, чтобы на главной ER-диаграмме связи между этой группой и остальными таблицами не пропадали.
Валерий, прочитайте внимательно что ответил Shtock.
Для любого объекта может быть создан десяток shortcuts и они могут быть размещены где угодно и сколько угодно раз. Если вам не нужен package, создайте доп. диаграммы вместо package для логической группировки.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36003553
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uranic Возможно ли это в принципе?
Если да, то в каком формате должны быть такие комментарии?

Если стандартными методами не получается, то через vbs возможно всё.
uranic
Хотя ценность пакетов и процедур в PD для меня сомнительна. Может кто поделиться успешным опытом применения?

Почему же сомнительна? Очень даже неплохо в PD хранить процедуры и использовать пакеты.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36003556
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
uranicПрошу прощения, но я не смог на формуме найти файл Resource Files\Report Languages\Russian.xrl.

Где его можно взять?
Можно самому перевести англ-ий. там не много. А готовый если и лежит где то, то скорее всего устаревший. Посмотрите на CodeXChange, может там есть.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36003560
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий aka Ратибор
На сайте Sybase в разделе Support я информацию искал. Но для просмотра наиболее интересных статей необходимо быть либо сотрудником этой компании, либо её партнёром.
Есть еще user groups...
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36003662
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынник wrote at 23.05.2009 20:51:

> Очень даже неплохо в PD хранить процедуры и использовать пакеты.

Если речь идет о таких объектах БД Oracle как Package (в PowerDesgner это Database Package), тот
тут имхо они перемудрили: разбивают пакет на составляющие, после чего теряется его первоначальный
вид. Лучше бы хранили одним куском текста, как процедуры.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36003842
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov
разбивают пакет на составляющие, после чего теряется его первоначальный
вид. Лучше бы хранили одним куском текста, как процедуры.

Денис, так ли он важен этот первоначальный вид? Что в первоначальном виде ценно, порядок процедур и типов? По-моему, тут PD поощряет к лучшей организации кода, к тому же легче типы и процедуры таскать между ora-пакетами.
А "одним кусом" и так можно пихнуть в Initialization. Можно и шаблоны подкрутить если есть необходимость.
...Просто сложновато мне представить пример, где первоначальный вид ora-пакета очень важно сохранить, т.к. в последнее время я на mssql "сижу".
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36003848
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынник wrote at 24.05.2009 12:18:

> Денис, так ли он важен этот первоначальный вид? Что в первоначальном
> виде ценно, порядок процедур и типов? По-моему, тут PD поощряет к лучшей
> организации кода, к тому же легче типы и процедуры таскать между
> ora-пакетами.

Например, мне охота сохранить комментарии к процедурам спецификации пакета. В теле еще можно
впихнуть их в сами процедуры, в спецификации не получится.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36004648
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov
Например, мне охота сохранить комментарии к процедурам спецификации пакета. В теле еще можно
впихнуть их в сами процедуры, в спецификации не получится.

Тут, видимо, единственный способ - собирать source пакетов c комментариями через vbs.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36006676
blest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заранее извиняюсь, если подобный вопрос уже задавался, просто я его пока не нашел

Делаю следующие шаги
1) в PD создаю таблицу Table1, в ней колонку created, в ней значение по умолчанию getdate()
2) генерирую полученную таблицу в базу - сгенерированный скрипт:

create table Table1 (created datetime null default getdate())
go

при этом в базе создается ограничение: "DF__Table1__created__4A8310C6" , которое не отображается в PD и при каждом последующем апдейте базы из модели PD упрямо указывает на то, что не должно быть такого ограничения, но при перезоздании таблицы вновь сгенерированным скриптом MSSQL естественно создает опять ограничение, только оканчиваться оно будет другими символами, например: DF__Table1__created__503BEA1C .

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

И вот тут возникает проблема, в следующий раз при апдейте базы из модели, пересоздавая таблицу(например при вешании Primary key на тот же столбец created) уже будет сгенерирован скрипт

create table dbo.Table1 (created datetime not null constraint DF__Table1__created__503BEA1C default getdate(), constraint PK_TABLE1 primary key (created)
)
on "PRIMARY"
go

Т.е. будет создаваться ограничение уже созданное в базе!! и появляется ошибка!

У меня в базе множество таблиц и множество ограничений, как избежать подобной ошибки! Может можно как-нибудь вообще отключить в PD репликацию ограничений из базы? Только вот я пока не нашел где это сделать.

P.S. сорри за такой объемный вопрос, просто хотел как можно понятнее объяснить ситуацию
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36006789
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blest
Т.е. будет создаваться ограничение уже созданное в базе!! и появляется ошибка!

В свойствах столбца created, есть закладка microsoft, там - поле default constraint name.
установите жёсткое имя констрейнта, тогда оно не будет автоматически генериться сервером. а будет браться то, которое вы задали.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36007220
blest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынникblest
Т.е. будет создаваться ограничение уже созданное в базе!! и появляется ошибка!

В свойствах столбца created, есть закладка microsoft, там - поле default constraint name.
установите жёсткое имя констрейнта, тогда оно не будет автоматически генериться сервером. а будет браться то, которое вы задали.

Понятно, что жестко там можно забить все что угодно, только это не выход из проблемы. Если назвать ограничение по умолчанию x1, то например при добавлении primary key в таблицу будет сгенерирован такой скрипт:

execute sp_rename Table1, tmp_Table1
go

create table dbo.Table1 (
created datetime not null constraint x1 default getdate(),
constraint PK_TABLE1 primary key (created)
)
on "PRIMARY"
go

Т.е. при пересоздании таблицы он будет опять же создавать ограничение с именем уже созданным!
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36007330
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blest
Понятно, что жестко там можно забить все что угодно, только это не выход из проблемы. Если назвать ограничение по умолчанию x1, то например при добавлении primary key в таблицу будет сгенерирован такой скрипт:

created datetime not null constraint x1 default getdate(),
constraint PK_TABLE1 primary key (created)
)
on "PRIMARY"
go

Т.е. при пересоздании таблицы он будет опять же создавать ограничение с именем уже созданным!
с каким именем уже созданным? x1 или PK_TABLE1?
Нужен alter скрипт и чтобы он учитывал при сравнении с БД, что ограничение default getdate() уже существует? Тогда следует задать в default constraint name имя, которое лежит в базе или сгенерить скрипт на удаление этого default constraint и далее придерживаться жестких наименований в констрейнтах во избежании подобных ситуаций.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36007359
blest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынникblest
Понятно, что жестко там можно забить все что угодно, только это не выход из проблемы. Если назвать ограничение по умолчанию x1, то например при добавлении primary key в таблицу будет сгенерирован такой скрипт:

created datetime not null constraint x1 default getdate(),
constraint PK_TABLE1 primary key (created)
)
on "PRIMARY"
go

Т.е. при пересоздании таблицы он будет опять же создавать ограничение с именем уже созданным!
с каким именем уже созданным? x1 или PK_TABLE1?
Нужен alter скрипт и чтобы он учитывал при сравнении с БД, что ограничение default getdate() уже существует? Тогда следует задать в default constraint name имя, которое лежит в базе или сгенерить скрипт на удаление этого default constraint и далее придерживаться жестких наименований в констрейнтах во избежании подобных ситуаций.

Жирный я выделил то, что было важно. Т.е. в модели было ограничение x1 и в базе было ограничение x1 и при пересоздании таблицы он его же создавал.

Вопрос как раз вот в том и есть: Как сгенерить скрипт на удаление этого default constraint ?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36007369
blest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или если быть точнее нужно вот это:
Нужен alter скрипт и чтобы он учитывал при сравнении с БД, что ограничение default getdate() уже существует!
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36007502
Роман ДынникПосмотрите на CodeXChange, может там есть.
Простите, не подскажете точнее что это? Где смотреть?
Здесь? google.ru/Top/Computers/Programming/Development_Tools/Development_Environments/PowerBuilder/
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36007576
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blest,
в TSQL нет конструкции позволяющей добавить ограничение для конкретного столбца таблицы вне определения таблицы. Т.е. нет подобного псевдо-синтаксиса:
alter table [tablename]
aleter column [columnname]
add constarint [constname] ...
Отсюда и проблемы.
Нужно удалять предыдущий столбец и создавать новый с ограничением.
Отдельно ограничение столбцу на TSQL добавить нельзя.

Любой TSQL код добавляемый при генерации можно написать на закладке Script.
Например, там могло бы быть:
alter table [tablename] drop constraint [constname]
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36007616
blest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынникblest,
в TSQL нет конструкции позволяющей добавить ограничение для конкретного столбца таблицы вне определения таблицы. Т.е. нет подобного псевдо-синтаксиса:
alter table [tablename]
aleter column [columnname]
add constarint [constname] ...
Отсюда и проблемы.
Нужно удалять предыдущий столбец и создавать новый с ограничением.
Отдельно ограничение столбцу на TSQL добавить нельзя.

Любой TSQL код добавляемый при генерации можно написать на закладке Script.
Например, там могло бы быть:
alter table [tablename] drop constraint [constname]

Ну понятно, что alter table должно присутствовать. Но вот, например, SSMS при добавлении удалении поля по умолчанию генерирует следующие скрипты:

ALTER TABLE dbo.Table1 ADD CONSTRAINT DF_Table1_created DEFAULT (getdate()) FOR created

ALTER TABLE dbo.Table1 DROP CONSTRAINT DF_Table1_created

В идеале хотелось бы, чтобы и PD генерировал такие же скрипты, а не пересоздавал таблицы вместо этого. Но впринципе можно было обойтись, чтобы он при импорте из базы во вкладку Microsoft ничего не добавлял, только я не знаю можно ли это настроить
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36007624
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел КалугинРоман ДынникПосмотрите на CodeXChange, может там есть.
Простите, не подскажете точнее что это? Где смотреть?
Здесь? google.ru/Top/Computers/Programming/Development_Tools/Development_Environments/PowerBuilder/
http://www.sybase.com/developer/codexchange
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36007649
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blest,
рекомендую не использовать обновление БД напрямую из PD, а использовать патчи, которые проверяются глазами и отчасти дописываются руками, а то что генерит PD при modify database можно использовать только как черновой вариант для патча. патчи складывайте куда нибудь в svn или vss или в том же PD в какие-нибудь artifacts.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36007760
blest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынникblest,
рекомендую не использовать обновление БД напрямую из PD, а использовать патчи, которые проверяются глазами и отчасти дописываются руками, а то что генерит PD при modify database можно использовать только как черновой вариант для патча. патчи складывайте куда нибудь в svn или vss или в том же PD в какие-нибудь artifacts.

Ну я впринципе понял уже, что напрямую без проверки из PD апдейтить базу неразумно. А что за пачти такие можно использовать? Я думал достаточно проверки и выполнения измененного мной скрипта, сгенерированного PD.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36007991
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blestНу я впринципе понял уже, что напрямую без проверки из PD апдейтить базу неразумно. А что за пачти такие можно использовать? Я думал достаточно проверки и выполнения измененного мной скрипта, сгенерированного PD.
скрипты(патчи) необходимо систематизированно хранить.
нужно это по следующим причинам:
- если база версии XX поднимается из бекапа, а для корректной работы приложения требуется версия базы YY, то накатываются скрипты от XX до YY.
- в Unit-тестах и различных этапах Continues Integration (CI), чтобы привести базу в первоначальное состояние перед тестами, она либо поднимается из бекапа (так иногда удобней), либо создается из скрипта + патчи до версии YY.

p/s/
соответственно, для автоматизации установки патчей, база должна иметь таблицу, где хранится номер версии.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36009777
blest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман ДынникblestНу я впринципе понял уже, что напрямую без проверки из PD апдейтить базу неразумно. А что за пачти такие можно использовать? Я думал достаточно проверки и выполнения измененного мной скрипта, сгенерированного PD.
скрипты(патчи) необходимо систематизированно хранить.
нужно это по следующим причинам:
- если база версии XX поднимается из бекапа, а для корректной работы приложения требуется версия базы YY, то накатываются скрипты от XX до YY.
- в Unit-тестах и различных этапах Continues Integration (CI), чтобы привести базу в первоначальное состояние перед тестами, она либо поднимается из бекапа (так иногда удобней), либо создается из скрипта + патчи до версии YY.

p/s/
соответственно, для автоматизации установки патчей, база должна иметь таблицу, где хранится номер версии.

А заполнять эту таблицу вручную что ли? Так может проще генерируемые скрипты просто сохранять в отдельную папку и сортировать по дате создания? Как раз можно после восстановления бекапа накатить все скрипты, у которых дата создания больше, чем дата создания бекапа.
Вот кстати вопрос: можно ли настроить, чтобы при апдейте базы из модели значение в File Name во вкладке General автоматически генерировалось? Например было стандартное название + айдишник(или дата)
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36010011
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
blestА заполнять эту таблицу вручную что ли? Так может проще генерируемые скрипты просто сохранять в отдельную папку и сортировать по дате создания? Как раз можно после восстановления бекапа накатить все скрипты, у которых дата создания больше, чем дата создания
бекапа.
[/quot ]
Скрипты в БД не хранятся. В БД должен хранится только номер версии, устанавливаемый после прогона скриптов. Например, каждый скрипт последней строчкой может содержать update номер версии. С номерами как то надежней кажется чем с датами.
[quot blest]
Вот кстати вопрос: можно ли настроить, чтобы при апдейте базы из модели значение в File Name во вкладке General автоматически генерировалось? Например было стандартное название + айдишник(или дата)
template-а для File Name нет. Этого можно добиться только если вы сами будете через VBS или Interop генерить скрипт.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36025602
Flying Dutchman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Разрабатываю физическую диаграмму БД для SQL Server.

Каждая таблица в базе должна содержать несколько стандартных столбцов для хранения информации о том, кто и когда изменил данные: Created_By, Creation_Date_Time и так далее.

Можно создать эти столбцы в каждой таблице вручную, но не хочется.

Можно ли каким-то образом добавить их при генерации sql-скрипта для создания БД ?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36025608
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying Dutchman wrote at 04.06.2009 14:36:

> Каждая таблица в базе должна содержать несколько стандартных столбцов

> Можно ли каким-то образом добавить их при генерации sql-скрипта для создания БД ?

Добавь их через VbScript
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36025829
Flying Dutchman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov
Flying Dutchman wrote at 04.06.2009 14:36:

> Каждая таблица в базе должна содержать несколько стандартных столбцов

> Можно ли каким-то образом добавить их при генерации sql-скрипта для создания БД ?

Добавь их через VbScript


Если я правильно понимаю, мне нужно внести свои изменения в стандартный скрипт, который использует PowerDesigner ?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36026017
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying Dutchman wrote at 04.06.2009 16:02:

> Если я правильно понимаю, мне нужно внести свои изменения в стандартный
> скрипт, который использует PowerDesigner ?


Нет, я имею в виду разовую или периодическую операцию через меню Tools-> Execute Commands-> Edit/Run
Script... Пишешь скрипт на добавление требуемых полей и запускаешь.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36026062
Flying Dutchman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov
Flying Dutchman wrote at 04.06.2009 16:02:

> Если я правильно понимаю, мне нужно внести свои изменения в стандартный
> скрипт, который использует PowerDesigner ?


Нет, я имею в виду разовую или периодическую операцию через меню Tools-> Execute Commands-> Edit/Run
Script... Пишешь скрипт на добавление требуемых полей и запускаешь.


То есть, столбцы будут добавлены к таблицам на диаграмме ? Это не совсем то, что хотелось.
Хотя, если не удастся другим способом, то придется использовать этот.

В этом случае, можно ли настроить PowerDesigner так, чтобы в таблицах на диаграмме эти столбцы не показывались, чтобы не загромождать диаграмму ?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36026099
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying Dutchman wrote at 04.06.2009 17:26:

> То есть, столбцы будут добавлены к таблицам на диаграмме ? Это не совсем
> то, что хотелось.
> Хотя, если не удастся другим способом, то придется использовать этот.

По-моему это самое правильное, когда поля не изменяются на лету.


> В этом случае, можно ли настроить PowerDesigner так, чтобы в таблицах на
> диаграмме эти столбцы не показывались, чтобы не загромождать диаграмму ?


В свойствах таблицы на закладке списка полей сними галку Displayed у требуемых. Имя колонки: буква
D, если его нет, то добавь его через вторую справа кнопку "Customize Columns and Filter (Ctrl+U)".
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36026267
Gold_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В скрипте sql необходимо добавлять перед сущностями имя схемы.
Я правильно понял, что для этого можно использовать пакеты?
Как добавить имя схемы в скрипте?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36026313
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gold_ wrote at 04.06.2009 18:38:


> В скрипте sql необходимо добавлять перед сущностями имя схемы.
> Я правильно понял, что для этого можно использовать пакеты?
> Как добавить имя схемы в скрипте?


По-моему это свойство Owner, список возможных формируется через User'ов. А указание имени владельца
как правило везде уже прописано, просто оно пропускается, если не определено.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36027136
Gold_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis Popov
Gold_ wrote at 04.06.2009 18:38:


> В скрипте sql необходимо добавлять перед сущностями имя схемы.
> Я правильно понял, что для этого можно использовать пакеты?
> Как добавить имя схемы в скрипте?


По-моему это свойство Owner, список возможных формируется через User'ов. А указание имени владельца
как правило везде уже прописано, просто оно пропускается, если не определено.


Определил. В скрипте ничего не изменилось.
А понятие схемы в PD нету? А добавить можно новый тип?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36027145
Gold_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как в сonstraint name template for foreign keys добавить имена полей
пытаюсь так:
fk_%PARENT%_%CHILD%_%FKEYCOLUMNS%

ожидал что %FKEYCOLUMNS% как список полей через запятую, (надо через подчеркивание) так и остается %FKEYCOLUMNS%
PD 12.1
Спасибо.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36027321
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gold_ wrote at 05.06.2009 12:11:

> Определил. В скрипте ничего не изменилось.

Расскажи тогда, какая БД, что делаешь? Что хочешь получить, CREATE TABLE MY_NAME.MY_TABLE ... ?

> А понятие схемы в PD нету? А добавить можно новый тип?

Какая именно БД и что именно подразумевается под понятиями "схема" и "тип"?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36027392
Gold_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis Popov
Gold_ wrote at 05.06.2009 12:11:

> Определил. В скрипте ничего не изменилось.

Расскажи тогда, какая БД, что делаешь? Что хочешь получить, CREATE TABLE MY_NAME.MY_TABLE ... ?

> А понятие схемы в PD нету? А добавить можно новый тип?

Какая именно БД и что именно подразумевается под понятиями "схема" и "тип"?


Виноват.
БД: postgresql 8.3 хочу получить CREATE TABLE SCHEMA.MY_TABLE...
Согласно совету завел пользователя. Поставил его как владельца. Cкрипт не изменился : CREATE TABLE MY_TABLE...
Но соответственно появились команды: CREATE USER...
А хотелось бы CREATE SCHEMA...
Может возможно разбить условно "по схемам" (что это должно быть пакеты или что еще?) и "настроить" таким образом, что бы перед созданием объектов на "схеме" добавлять требуемвые команды.
CREATE SCHEMA ...
SET search_pacht..
Хотя можно и пользователями крутанутся, если получится.
Под типом имел ввиду: новый тип объектов и прописать макроподстановки для работы с ними
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36027482
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gold_ wrote at 05.06.2009 13:35:

> Согласно совету завел пользователя. Поставил его как владельца. Cкрипт
> не изменился : CREATE TABLE MY_TABLE...

В свойствах таблицы на закладке Preview нажми вторую справа кнопку "Show Generation Option (Ctrl+W)"
и в открывшемся диалоге "Database Generation Option" на второй закладке Format поставь галку на
"Owner Prefix".

> Но соответственно появились команды: CREATE USER...
> А хотелось бы CREATE SCHEMA...

В PostgreSQL схема появляется вместе с появлением пользователя, т.е. "схема" - логическое
объединение объектов одного пользователя?

> Может возможно разбить условно "по схемам" (что это должно быть пакеты
> или что еще?) и "настроить" таким образом, что бы перед созданием
> объектов на "схеме" добавлять требуемые команды.
> CREATE SCHEMA ...
> SET search_pacht..

Объекты можешь разбивать как хочешь, если у тебя в модели хранятся объекты нескольких владельцев, то
можно разнести их по пакетам, а можно и не разносить, смотри как самому удобно.

При создании объектов можно дописывать свои команды, если это действительно необходимо. Возможностей
много: это и закладка Script в свойствах таких объектов модели как Database, Table, View и т.п., и
соответствующие ключи в свойствах DBMS.


> Под типом имел ввиду: новый тип объектов и прописать макроподстановки
> для работы с ними

Имхо создать новый тип объектов нельзя, но из существующих можно выжать достаточно много.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36030411
Gold_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis Popov
Gold_ wrote at 05.06.2009 13:35:

> Согласно совету завел пользователя. Поставил его как владельца. Cкрипт
> не изменился : CREATE TABLE MY_TABLE...

В свойствах таблицы на закладке Preview нажми вторую справа кнопку "Show Generation Option (Ctrl+W)"
и в открывшемся диалоге "Database Generation Option" на второй закладке Format поставь галку на
"Owner Prefix".



Не доступна :(
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36030428
Gold_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а для SyBase'ских баз доступна
PD 12.1
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36030708
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gold_Denis Popov
и в открывшемся диалоге "Database Generation Option" на второй закладке Format поставь галку на
"Owner Prefix".

Не доступна :(
Gold_а для SyBase'ских баз доступна
PD 12.1
Действительно, и в 12.5 тоже. А вот в PowerDesigner 15.0 для PostgreSQL уже возможна, видать, подкрутили.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36032751
Gold_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не могу найти где для триггера записать:
- какую функцию вызывает триггер
- тип триггера (выполнятся для каждой строчки или для блока)
Спасибо.

ps ужасно не удобно пользоваться одной темой. Может в маааленький подфорум - каждый вопрос отдельно?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36034809
Фотография А6дуллаh3
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где скачать Add-In Meta Integration Model Bridge для PD 15?

Это сторонний софт для обмена метаданными между кучей софта.
ErWin, например, из коробки этот адд-ин содержит. А у PD в хелпе написано "Свяжитесь с Meta Integration".
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36036794
Фотография Shtock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче непонятная трабла с 12 PD-внезапно перестал генерировать гранты. в настройках генерации стоит, что permission надо создавать. где может порыться собака?базу генерю через Modify database.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36049216
Cyberslon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Поделитесь правильным подходом к именованию сущностей и атрибутов при генерации LDM по CDM? Сущность в CDM ближе к понятию класса в программировании. Соответственно даю название (код), UserProfile для сущности профиля сотрудника. Однако при генерации LDM хочется получить уже таблицу. А там другие соглашения по именованию. Имена таблиц красиво давать во множественном числе, в верхнем регистре и с подчеркиваниями, вместо camel-case. Соответственно после генерации хочется получить USER_PROFILES.
Вопрос. Можно ли настроить подобные преобразования имен так, чтобы они выполнялись при генерации автоматически? Или же выбрать какой-то один единый стиль именования в обоих типах моделей? Если да, то кто какой стиль использует? Вариант с постоянной ручной корректировкой имен после синхронизации моделей как-то не очень радует.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36049647
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CyberslonОднако при генерации LDM хочется получить уже таблицу. А там другие соглашения по именованию. Имена таблиц красиво давать во множественном числе, в верхнем регистре и с подчеркиваниями, вместо camel-case. Соответственно после генерации хочется получить USER_PROFILES.
Кто ж такую красоту придумал...? :)
В последнее время многие придерживаются стиля - название таблицы в единственном числе без подчеркиваний в camel-case либо upper. ms, например, в code style guide рекомендует именно такой стиль. Хотя Дж. Селко по-моему иного мнения, но к нему тоже много вопросов спорных :)
Приведенный выше стиль я бы скорее считал устаревшим, или сложившимся исторически, хотя и довольно часто применяемым.

Вопрос. Можно ли настроить подобные преобразования имен так, чтобы они выполнялись при генерации автоматически? Или же выбрать какой-то один единый стиль именования в обоих типах моделей? Если да, то кто какой стиль использует? Вариант с постоянной ручной корректировкой имен после синхронизации моделей как-то не очень радует.
По-моему шаблон для конвертации наименований сущностей настроить нельзя. Есть возможность задать таблицу сопоставления имен, но это я как понимаю не то что нужно.
Если нужно два разных стиля, могу лишь порекомендовать использовать Name для одного стиля, а Code - для другого, а при генерации включать флаг Convert names into code на закладке Detail (если требуется).

p/s/
Вместо CDM, я бы лучше использовал OOM Analysis. Там есть всё тоже самое, но с ней как то намного приятней иметь дело, особенно когда из CDM удалили inheritance и сделали sub-entity.
LDM... Ну а смысл есть вам ее использовать? LDM задумывалась как промежуточная модель в терминах БД, если вам требуется обеспечить в проекте поддержку нескольких СУБД. Но пока не похоже что с этой ролью она справляется (не доработана). Может в след. версиях будет по-лучше. Не создавайте модель только лишь ради того чтобы она была.
OOM Analysis -> PDM, OOM Analysis -> OOM в большинстве случаев достаточно, если вы не имеете дело с гетерогенными источниками данных.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36049653
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gold_Не могу найти где для триггера записать:
- какую функцию вызывает триггер
- тип триггера (выполнятся для каждой строчки или для блока)

В контексте разных СУБД - по-разному.

ps ужасно не удобно пользоваться одной темой. Может в маааленький подфорум - каждый вопрос отдельно?
Решили что можно отдельно, только указывайте в названии темы (PowerDesigner).
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36055757
Flying Dutchman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как можно преобразовать диаграмму в jpg-файл (для вставки в MS Word - документ, например) ?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36055776
Валерий aka Ратибор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying Dutchman,

Диаграмму в Word можно вставить через буфер обмена. Ctrl-A выделяет все объекты на диаграмме. Ctrl-C копирует выделенные объекты в буфер обмена. Ctrl-V вставляет диаграмму из буфера обмена в Word
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36056064
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying DutchmanКак можно преобразовать диаграмму в jpg-файл
Меню Edit/Export Image
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36056933
Валерий aka Ратибор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли в Report Language (xrl-файл) перевести термины "List of extended attributes of the system" и "List of extended dependent objects of the system". В стандартных xrl-файлах, а также в дереве терминов Report language я этих терминов не нашёл. А в отчёте они появляются.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36064394
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При формировании описания к полю или таблице, если имя составное или пересекается с ключевыми словами SQL сервера, то PD заключает их в скобки. В результате, при выполнении скрипта вываливается ошибка о невозможности добавить описание, так как объект не существует.

Как заставить PD не ставить скобки при формировании описания к таблицам и полям?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36064441
Валерий aka Ратибор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alkatraz,

для редактирования шаблона комментария к таблице или к полю необходимо модифицировать скрипт Script - Objects - Table - TableComment или Script - Objects - Table - TableComment соответственно. Соответствующие скрипты для SQL Server 2008 приведены ниже:

[%OWNER%?[.O:[execute ][exec ]]sp_addextendedproperty [%R%?[N]]'MS_Description',
[%R%?[N]]%.q:COMMENT%,
[%R%?[N]]'user', [%R%?[N]]%.q:OWNER%, [%R%?[N]]'table', [%R%?[N]]%.q:TABLE%
:declare @CurrentUser sysname
select @CurrentUser = user_name()
[.O:[execute ][exec ]]sp_addextendedproperty [%R%?[N]]'MS_Description',
[%R%?[N]]%.q:COMMENT%,
[%R%?[N]]'user', [%R%?[N]]@CurrentUser, [%R%?[N]]'table', [%R%?[N]]%.q:TABLE%
]

[%OWNER%?[.O:[execute ][exec ]]sp_addextendedproperty [%R%?[N]]'MS_Description',
[%R%?[N]]%.q:COMMENT%,
[%R%?[N]]'user', [%R%?[N]]%.q:OWNER%, [%R%?[N]]'table', [%R%?[N]]%.q:TABLE%, [%R%?[N]]'column', [%R%?[N]]%.q:COLUMN%
:declare @CurrentUser sysname
select @CurrentUser = user_name()
[.O:[execute ][exec ]]sp_addextendedproperty [%R%?[N]]'MS_Description',
[%R%?[N]]%.q:COMMENT%,
[%R%?[N]]'user', [%R%?[N]]@CurrentUser, [%R%?[N]]'table', [%R%?[N]]%.q:TABLE%, [%R%?[N]]'column', [%R%?[N]]%.q:COLUMN%
]
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36064498
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, спасибо, уже разобрался - надо было убрать префиксы ".q:".

Еще один вопрос - скрипт на удаление базы данных формируется без проверки на существование базы и на новом сервере вылетает с ошибкой. Дополнил скрипт проверкой на существование базы:

Код: plaintext
if exists(select  1  from sys.databases where name = %DATABASE%) drop database %DATABASE%

Имя базы данных заключено в скобки, соответственно удаление базы данных не срабатывает, так как имя не совпадает. Как в этом случае отключить формирование скобок?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36065302
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Разобрался - надо заменить в настройках генерации параметры с [] на '';
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36093683
Aleksey Kh.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gold_Как в сonstraint name template for foreign keys добавить имена полей
пытаюсь так:
fk_%PARENT%_%CHILD%_%FKEYCOLUMNS%
ожидал что %FKEYCOLUMNS% как список полей через запятую, (надо через подчеркивание) так и остается %FKEYCOLUMNS%

15.0, SQL2008, вопрос тот же :)
Есть таблица с двумя FK к другой таблице (к разным полям). Как надо переопределить ConstName, что бы при создании FK получить разные их наименования - желательно, говорящие по каким столбцам идет FK

---
временно выкрутился так: FK_%CHILD%_REF_%PARENT%_%REFRNAME%, полчучается: FK_FactSale_REF_DimSeller_Reference_13 - но как-то это не айс :)
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36118161
Flying Dutchman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как одним махом переименовать все таблицы во всех диаграммах ? Конкретно - нужно перед именем каждой таблицы добавить слева некий префикс. (Не спрашивайте, зачем это нужно - начальство приказало).

Можно ли это сделать просто или нужно писать для этого скрипт ?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36118673
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying DutchmanКак одним махом переименовать все таблицы во всех диаграммах ? Конкретно - нужно перед именем каждой таблицы добавить слева некий префикс. (Не спрашивайте, зачем это нужно - начальство приказало).

Можно ли это сделать просто или нужно писать для этого скрипт ?
Это просто сделать через скрипт:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
option explicit
ValidationMode = true
InteractiveMode = im_Batch

dim tab
for each tab in ActiveModel.tables
  tab.name = "PREFIX_" & tab.name 
next
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36120335
Flying Dutchman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov
Это просто сделать через скрипт:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
option explicit
ValidationMode = true
InteractiveMode = im_Batch

dim tab
for each tab in ActiveModel.tables
  tab.name = "PREFIX_" & tab.name 
next


Получаю сообщение об ошибке:

Microfoft VBScript runtime error
Wrong number of arguments or invalid property assignment: 'name'
(0x800A01C2)
At line 7, character 3

В чем тут дело ?

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

1. Открываю диаграмму
2. В главном меню PowerDesigner выбираю Tools -> Execute Commands -> Edit Run Script
3. Ввожу текст скрипта в окно и нажимаю кнопку Run.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36120391
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying Dutchman wrote at 31.07.2009 14:35:

> Получаю сообщение об ошибке:
>
> Microfoft VBScript runtime error
> Wrong number of arguments or invalid property assignment: 'name'
> (0x800A01C2)
> At line 7, character 3
>
> В чем тут дело ?

Сама модель открыта?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36120579
Flying Dutchman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov

Сама модель открыта?



Модель открыта. Если я заменяю в скрипте строку, где присваивается значание полю name, на строку

output tab.name

то в окно сообшений выводится список таблиц.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36120757
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying Dutchman
Модель открыта. Если я заменяю в скрипте строку, где присваивается значание полю name, на строку

output tab.name

то в окно сообщений выводится список таблиц.
Вообще странно, какая версия PowerDesigner'а? Попробуй заново зарегистрировать библиотеки:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
set pdhome=C:\Sybase\PowerDesigner  15 

"%pdhome%"\pdshell12.exe /RegServer
regsvr32 /s "%pdhome%"\pdobj12.dll
regsvr32 /s "%pdhome%"\pdcdm12.dll
regsvr32 /s "%pdhome%"\pdpdm12.dll
regsvr32 /s "%pdhome%"\pdoom12.dll
regsvr32 /s "%pdhome%"\pdbpm12.dll
regsvr32 /s "%pdhome%"\pdfrm12.dll
regsvr32 /s "%pdhome%"\pdxsm12.dll
regsvr32 /s "%pdhome%"\pdrmg12.dll
regsvr32 /s "%pdhome%"\pdwsp12.dll
regsvr32 /s "%pdhome%"\pdmpm12.dll
regsvr32 /s "%pdhome%"\pdips12.dll
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36120769
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying Dutchman
Модель открыта. Если я заменяю в скрипте строку, где присваивается значание полю name, на строку output tab.name
то в окно сообшений выводится список таблиц.

Получаю сообщение об ошибке:

Microfoft VBScript runtime error
Wrong number of arguments or invalid property assignment: 'name'
(0x800A01C2)
At line 7, character 3

В чем тут дело ?

вероятно на shortcut или на графический синоним цикл попадает...
коллекция ActiveModel.tables содержит также и shortcuts на таблицы из других пакетов, если эти shortcuts отражены на ActiveModel...
надо проверять, примерно так:
Код: plaintext
1.
2.
3.
4.
5.
Dim tb
Select Case tab.ClassName
            Case "Table"              Set tb=tab
            Case "Shortcut of table"  Set tb=tab.TargetObject
End Select
tb.name = "PREFIX_" & tb.name
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36121797
zMakc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поделитесь опытом.

Клиенты используют BizAgi Process Modeler.
Прислали диаграмму BPMN в формате BizAgi(*.pbm) и XPDL.
Так понимаю XPDL стандарт распространенный.

Подскажите как открыть в PD файл с расширением XPDL?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36121906
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zMakcПоделитесь опытом.

Клиенты используют BizAgi Process Modeler.
Прислали диаграмму BPMN в формате BizAgi(*.pbm) и XPDL.
Так понимаю XPDL стандарт распространенный.

Подскажите как открыть в PD файл с расширением XPDL?
Посмотрите File/Import и File/Reverse enginiring - может что то найдете подходящее.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36121917
zMakc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынник,

Смотрел, ничего не вышло.
Разве что если сделать Visio посредником, но это кривовато.



Пока решение не найдено :(
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36122231
Валерий aka Ратибор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто-нибудь знает где найти PowerDesigner 15 Eclipse 3.5 плагин? Обновил Eclipse до версии 3.5. Теперь не могу установить плагин для PowerDesigner.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36122450
_VVP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий aka РатиборКто-нибудь знает где найти PowerDesigner 15 Eclipse 3.5 плагин? Обновил Eclipse до версии 3.5. Теперь не могу установить плагин для PowerDesigner.
Такие же проблемы, только для версии 12.5.
В обновлениях тоже новых плагинов нет.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36122516
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста - есть PDM, настроенная на работу с SQL2005, требуется "добавить" возможность генерации скрипта для SQL2008, с включенным секционированием, сжатием и перекодированием всех типов DateTime в DateTime2.

Это реально сделать в "автоматическом" режиме?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36122549
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alkatraz wrote at 03.08.2009 10:05:

> Подскажите пожалуйста - есть PDM, настроенная на работу с SQL2005,
> требуется "добавить" возможность генерации скрипта для SQL2008, с
> включенным секционированием, сжатием и перекодированием всех типов
> DateTime в DateTime2.
>
> Это реально сделать в "автоматическом" режиме?

Можно поменять используемую БД через меню Database-> Change Current DBMS, через VBscript поменять
требуемые свойства объектов - будет модель, настроенная на SQL 2008.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36122875
Flying Dutchman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынниквероятно на shortcut или на графический синоним цикл попадает...
коллекция ActiveModel.tables содержит также и shortcuts на таблицы из других пакетов, если эти shortcuts отражены на ActiveModel...
надо проверять, примерно так:
Код: plaintext
1.
2.
3.
4.
5.
Dim tb
Select Case tab.ClassName
            Case "Table"              Set tb=tab
            Case "Shortcut of table"  Set tb=tab.TargetObject
End Select
tb.name = "PREFIX_" & tb.name


Действительно, проблема была в shortcuts. После исключения их из обработки скрипт заработал. Вот финальная версия скрипта:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
' Rename all tables in the active model'
option explicit
ValidationMode = true
InteractiveMode = im_Batch

dim tab
for each tab in ActiveModel.tables
  ' Skip shortcuts'
  if tab.ClassName = "Table" then
      tab.name = "PREFIX_" & tab.name
  end if
next

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

И еще вопрос: у меня в модели есть главная диаграмма, на которой находятся пакеты (package), в каждом из которых есть своя диаграмма. Как написать скрипт, который будет обрабатывать все таблицы на всех диаграммах (а не только на активной) ?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36123003
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying Dutchman wrote at 03.08.2009 12:49:

> Действительно, проблема была в shortcuts. После исключения их из
> обработки скрипт заработал. Вот финальная версия скрипта:

Можно еще проверить:

Код: plaintext
if not tab.isShortcut then


> И еще вопрос: у меня в модели есть главная диаграмма, на которой
> находятся пакеты (package), в каждом из которых есть своя диаграмма. Как
> написать скрипт, который будет обрабатывать все таблицы на всех
> диаграммах (а не только на активной) ?

Посмотри скрипт пример в VB Scripts\List Tables.vbs. В нем требуемые действия оформляются в виде
процедуры, куда передается пакет, а потом идет цикл по вложенным пакетам:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
ShowProperties ActiveModel

Sub ShowProperties(package)
....
    Dim subpackage
    For Each subpackage in package.Packages
       If Not subpackage.IsShortcut Then
          ShowProperties subpackage
       End If
    Next
End Sub

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36123029
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying DutchmanИ еще вопрос: у меня в модели есть главная диаграмма, на которой находятся пакеты (package), в каждом из которых есть своя диаграмма. Как написать скрипт, который будет обрабатывать все таблицы на всех диаграммах (а не только на активной) ?
Рекурсивной обработкой по пакетам, примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
function printTables(model)
   for each p in model.Packages
      for each t in p.tables
         output t.Name
      next
      printTables(p)
   next
end function

printTables(ActiveModel)
p/s/ см. Help/MetaModel Objects Help. Там же все есть...
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36123126
Flying Dutchman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov
Посмотри скрипт пример в VB Scripts\List Tables.vbs. В нем требуемые действия оформляются в виде
процедуры, куда передается пакет, а потом идет цикл по вложенным пакетам:


Спасибо, посмотрел. Окончательная версия скрипта теперь выглядит так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
'-------------------------------------------------------------------------------'
' Rename all tables in a PDM (PowerDesigner 15)'
'-------------------------------------------------------------------------------'
Option Explicit

Dim model
set Model = ActiveModel ' Current active model'
If (model Is Nothing) Or (Not model.IsKindOf(PdPDM.cls_Model)) Then
   MsgBox "The current model is not a PDM model."
Else
   ProcessTables model
End If

'-----------------------------------------------------------------------------'
' Recursively process all tables.'
'-----------------------------------------------------------------------------'
Sub ProcessTables(package)
   Dim table
   For Each table In package.Tables
      ' Shortcuts are not processed (processing  of them'
      ' can lead to multiple renaming of a same table).'
      if not table.isShortcut then ' If condition can be also: table.ClassName = "Table"'
          table.name = "PREFIX_" & table.name
      end if
   Next

   ' Process tables defined in all subpackages.'
   Dim subpackage
   For Each subpackage in package.Packages
      If Not subpackage.IsShortcut Then
         ProcessTables subpackage
      End If
   Next
End Sub

...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36126939
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis Popov
Alkatraz wrote at 03.08.2009 10:05:

> Подскажите пожалуйста - есть PDM, настроенная на работу с SQL2005,
> требуется "добавить" возможность генерации скрипта для SQL2008, с
> включенным секционированием, сжатием и перекодированием всех типов
> DateTime в DateTime2.
>
> Это реально сделать в "автоматическом" режиме?

Можно поменять используемую БД через меню Database-> Change Current DBMS, через VBscript поменять
требуемые свойства объектов - будет модель, настроенная на SQL 2008.


Хммм, а если надо хранить настройки сразу для двух баз?

Надо по требованию генерировать скрипты для разных версий серверов.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36127293
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alkatraz wrote at 05.08.2009 11:25:

> Хммм, а если надо хранить настройки сразу для двух баз?

> Надо по требованию генерировать скрипты для разных версий серверов.


Имхо проще держать 2 модели, благо есть возможность их синхронизации.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36127971
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis PopovИмхо проще держать 2 модели, благо есть возможность их синхронизации.
согласен
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36129078
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну да, я тоже так подумал, просто надеялся на возможности самого PD. :)
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36137951
Валерий aka Ратибор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Возникла вот такая задачка. Есть большая PDM. Выбираем две таблицы из этой модели. Требуется понять как эти таблицы связаны. То есть, необходимо построить цепочку таблиц и связей, через которые связаны исходные две таблицы.
Я вижу два варианта решения:
1. На VB Script реализовать поиск в ширину. Придётся делать полный перебор.
2. Сравнивать Impact and Analysis диаграммы для исходных таблиц и найти их пересечение. Проблемы этого решения в том, что пересечение тоже получается большим и модели Impact and analysis нельзя мерджить. Хотелось бы получить пересечение в виде диаграммы PDM.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36138044
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий aka РатиборТребуется понять как эти таблицы связаны. То есть, необходимо построить цепочку таблиц и связей, через которые связаны исходные две таблицы.

Чем плох первый вариант с рекурсивным поиском по references и сбором цепочки из tables?
...c Impact все равно красиво не получится - если есть промежуточные nodes (с уровнем связи больше 2-х) он же пересечение такое не сможет отразить...
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36138065
_VVP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий aka РатиборВозникла вот такая задачка. Есть большая PDM. Выбираем две таблицы из этой модели. Требуется понять как эти таблицы связаны. То есть, необходимо построить цепочку таблиц и связей, через которые связаны исходные две таблицы.
...
Валерий, если не секрет - а зачем это делать?
Могу только предположить, что вы хотите куда-то восстановить связи много-много. Только не могу понять практического применения. А интересно.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36138071
_VVP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий aka РатиборВозникла вот такая задачка. Есть большая PDM. Выбираем две таблицы из этой модели. Требуется понять как эти таблицы связаны. То есть, необходимо построить цепочку таблиц и связей, через которые связаны исходные две таблицы.
...
Для связей много-много можно читать dependencies (incoming referrences). Там смотреть одинаковые child table.
Но приведите пример практической потребности для связей мощностью больше одного узла между таблицами.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36138209
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_VVP_Но приведите пример практической потребности для связей мощностью больше одного узла между таблицами.
может понадобиться, например:
- разбить нагроможденную диаграмму из ~500 таблиц по пакетам
- в целях изучения существующего проекта, в котором тяжело разобраться.
- в целях выделения потоков данных, мелких модулей (например, понять как связан Person c лицевым счетом - может, например, через договор или еще как то и т.п. - такую связь сложно сразу раскрутить и представить)
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36138553
Валерий aka Ратибор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_VVP_,

Объясняю практическое применение этой задачи. С помощью PDM я описываю ссылочную структуру объектов 1С-систем. Сейчас возникла задача миграции группы справочников "Номенклатура" в одну централизованную систему. Необходимо понять на что повлияет такой перенос. Номенклатура как сущность связана с различными сущностями - Договоры, Типы собственности, Регионы и др. Причём в разных системах структура связей разная. Поставленная мною задача возникла из попытки понять как связаны Номенклатура и Договоры в Финансовой базе.

Роман, вариант с написанием VB Script не плох. Более того, наверное, это оптимальное решение для этой задачи. Но я не могу написать такой скрипт быстро. Как хранить цепочки связей? Наверное, какие-то динамические массивы надо будет использовать.

А почему не получится использовать пересечение Impact ... если промежуточных nodes больше 2-х я не понял. Ведь эти nodes будут встречаться в обоих Impact ... диаграммах.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36138615
_VVP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий aka РатиборОбъясняю практическое применение этой задачи. С помощью PDM я описываю ссылочную структуру объектов 1С-систем.
Я для описание конфигураций 1С8 использую OOM, который автоматически генерируется из 1С8. Использовать PDM не стали по ряду причин.
Валерий aka РатиборСейчас возникла задача миграции группы справочников "Номенклатура" в одну централизованную систему. Необходимо понять на что повлияет такой перенос. Номенклатура как сущность связана с различными сущностями - Договоры, Типы собственности, Регионы и др. Причём в разных системах структура связей разная. Поставленная мною задача возникла из попытки понять как связаны Номенклатура и Договоры в Финансовой базе.
Понятно. Пропуская все возможные объяснения, утверждаю, что перенос затронет только объекты имеющие прямые ссылки на справочник номенклатуры (на переносимые объекты). Такие объекты можно увидеть в dependencies.

Касаясь типовых конфигураций 1С8 также могу утверждать, что указанные объекты (номенклатура, договоры) являются сильно-связанными с остальными объектами системы (являются базовыми).

Если возможно, поясните смысл "миграции" и "переноса" в контексте вашей задачи.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36138671
Валерий aka Ратибор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_VVP_,

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

По поводу, OOM. Мы тоже проводили сравнение и отказались от OOM по ряду причин. А генерацию PDM почти автоматизировали.

Кстати, у меня возникла идея применить для анализа ER-диаграмм инструменарий для анализа социальных сетей. Это позволит выявить узлы "связные", "брокеры" и "пограничники" . Для анализа социальных сетей есть такие инструменты: Enronic и Xobni.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36138681
Фотография Роман Дынник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий aka Ратибор
Роман, вариант с написанием VB Script не плох. Более того, наверное, это оптимальное решение для этой задачи. Но я не могу написать такой скрипт быстро. Как хранить цепочки связей? Наверное, какие-то динамические массивы надо будет использовать.

Когда мне что то подобное требовалось, я решил что проще всего записывать всё в xml (через COM и MSXML.XmlDocument). Но у меня была несколько иная задача - построить иерархию таблиц, используя информацию из reference и потом сгенерить views и stored procs. C xml мне как то удобней всегда работать. Вообщем, собирал xml, используя Collecting Parameter Design Pattern. Потом трансформил этот xml через xslt в то что мне надо.
...Можно собирать список таблиц как строку с разделителями, а потом делать split в массив.

А почему не получится использовать пересечение Impact ... если промежуточных nodes больше 2-х я не понял. Ведь эти nodes будут встречаться в обоих Impact ... диаграммах.
t1->t2-> t3 ->t4->t5
выбираем t1 и t5, насколько я понимаю, в impact попадает t2 и t4. t3 не попадает.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36138708
_VVP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий aka Ратиборпод переносом справочника я понимаю изменение точки входа. Например, у справочника "Номенклатура" точка входа будет в одной центральной системе. А остальные 1С системы будут по мере необходимости загружать необходимые данные из этого справочника.
Понятно.
По моему мнению, реально работающий вариант только один - выносить справочник номенклатуры и его обвязку (на что он сам ссылается) "вручную" с дальнейшей настройкой репликации на целевые базы.
Аналогично для других объектов.
Валерий aka РатиборПо поводу, OOM. Мы тоже проводили сравнение и отказались от OOM по ряду причин. А генерацию PDM почти автоматизировали.
Видимо у нас с вами цели выгрузки в ПД разные.
Могу только сказать, что OOM очень хорошо отражает объектность из 1С8 - методы объектов, вложенные табличные части, иерархию и композицию объектов и т.д.
Валерий aka РатиборКстати, у меня возникла идея применить для анализа ER-диаграмм инструменарий для анализа социальных сетей. Это позволит выявить узлы "связные", "брокеры" и "пограничники" . Для анализа социальных сетей есть такие инструменты: Enronic и Xobni.
Вряд ли это так необходимо. Мне кажется, что как из пушки по мухам палить. Ведь объектов в конфигурациях не так много, как узлов в социальных сетях.

Я бы предложил вам начать перенос "вручную", потом поймете реальные потребности в формальном анализаторе.

Кстати, если после нескольких ручных переносов сможет определить стационарные правила формализации переноса точек входа для конфигураций 1С8 - опишите это. Подобные результаты крайне интересны.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36138765
Валерий aka Ратибор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_VVP_,

вот эта фраза "выносить справочник номенклатуры и его обвязку (на что он сам ссылается)" в нашем контексте неприменима. Так как,
1. В разных системах справочник с одним и тем же именем имеет разный набор реквизитов
2. В разных системах справочник с одним и тем же именем может содержать разные сущности. Например, справочник "Номенклатура" в ФБ содержит "Бухтовары".
3. Хотя я думаю можно построить концептуальную диаграмму связи сущности "Номенклатура" с остальными сущностями ("Договоры", "Типы собственности") фактически в разных системах эти связи реализованы по-разному.
4. Процесс ещё осложняется тем, что постоянно поступают заявки на модификацию справочников.
5. Если начать переносить справочник вручную, без полного анализа, то непременно что-то сломается. А это неприемлемо.

В OOM диаграммах нельзя связать два конкретных атрибута двух разных объектов. Можно только просто связать два объекта. А для анализа структуры данных необходима информация о связях между атрибутами. Как вы отражаете в OOM методы объектов 1С? Вы методы 1С экспортируете в T-SQL и затем делаете реверсивный инжиниринг?

С помощью программы для анализа сетей можно ещё разбить ER-диаграмму на кластеры.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36139006
_VVP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий aka Ратиборвот эта фраза "выносить справочник номенклатуры и его обвязку (на что он сам ссылается)" в нашем контексте неприменима. Так как,
1. В разных системах справочник с одним и тем же именем имеет разный набор реквизитов
2. В разных системах справочник с одним и тем же именем может содержать разные сущности. Например, справочник "Номенклатура" в ФБ содержит "Бухтовары".
3. Хотя я думаю можно построить концептуальную диаграмму связи сущности "Номенклатура" с остальными сущностями ("Договоры", "Типы собственности") фактически в разных системах эти связи реализованы по-разному.
4. Процесс ещё осложняется тем, что постоянно поступают заявки на модификацию справочников.Понятно.
Фактически от вас требуется разработать общий справочник номенклатуры, удовлетворяющий все системы и реплицировать его в целевые системы.
Валерий aka Ратибор5. Если начать переносить справочник вручную, без полного анализа, то непременно что-то сломается. А это неприемлемо.Наоборот, только вручную и получится.
Но конечно пробуйте свой подход, глядишь что-то выгорит. Как я уже говорил, будет крайне интересно узнать результаты.
Валерий aka РатиборВ OOM диаграммах нельзя связать два конкретных атрибута двух разных объектов. Можно только просто связать два объекта. А для анализа структуры данных необходима информация о связях между атрибутами.Как это нельзя связать атрибуты? Конечно можно!
Ассоциация поддерживает миграцию атрибутов со всеми вытекающими последствиями - у ассоциации есть опция "Migrate Navigable Roles", которая перетаскивает атрибуты в зависимый класс.
При создании объектов из 1С8 наш робот создает ассоциации по объектам с подстановкой мигрирующих атрибутов. Ссылочный атрибут получает тип класса на который он ссылается, кроме того заполняются связи миграции.
Валерий aka РатиборКак вы отражаете в OOM методы объектов 1С? Вы методы 1С экспортируете в T-SQL и затем делаете реверсивный инжиниринг?Как операции класса с различной областью видимости.
Валерий aka РатиборС помощью программы для анализа сетей можно ещё разбить ER-диаграмму на кластеры.Ну, наверное. Нет сейчас такой задачи, где бы потребовалось проводить анализ сетей. Вообще интересны были бы результаты.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36139028
_VVP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_VVP_Валерий aka РатиборКак вы отражаете в OOM методы объектов 1С? Вы методы 1С экспортируете в T-SQL и затем делаете реверсивный инжиниринг?Как операции класса с различной областью видимости.Кстати, никакого экспорта методов в T-SQL. Прямо на языке 1С8 сохраняются методы и модули.
Проблемы конечно есть, в частности - если метод внутри себя явно не указывает, какие объекты метаданных он использует, восстановить связь с реально используемыми метаданными (классами, в контексте ПД) нельзя. Ну на то 1С8 и динамический язык, да в этом случае в 1С8 и автозавершение кода не работает.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36139328
Валерий aka Ратибор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_VVP_,

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

То есть, вы сам текст процедур и функций модулей объектов 1С переносите в OOM? Или вы в OOM указываете только наименования процедур и функций?

Если вы переносите исходный код процедур и функций в OOM и если в этом коде явно указано к какому объекту 1С идёт обращение, то можно ли такие связи анализировать стандартными средствами PowerDesigner?

А как вы описываете репликацию справочников? Используете ILM диаграммы?

А используете ли вы EAM для описания общей IT архитектуры предприятия?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36139409
_VVP_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерий aka Ратиборкстати, такая проблема у нас тоже есть - определить какие объекты 1С используют данный справочник/реквизит из кода модулей. Я думаю, что эту задачу надо решать путём написания синтаксического анализатора 1С-кода. Потому что использоваться объекты могут по разному - может быть явное указание наименования объекта, наименование объекта может передаваться как параметр процедуры или, например, наименование объекта может быть сохранено в переменной и обращение может идти через эту переменную.Не выйдет ничего с синтаксическим анализатором. Примеры есть в общих модулях, когда одна функция используется для инициализации или обработки различных видов документов, при этом сам объект-документ передается в функцию, как параметр, а потом идет обработка по реквизитам. В этом случае, если объект во время исполнения не имеет реквизита, то система вбросит исключение.

1С8 - динамический слабо связанный язык, типы становятся известными только во время исполнения.
Валерий aka РатиборТо есть, вы сам текст процедур и функций модулей объектов 1С переносите в OOM? Или вы в OOM указываете только наименования процедур и функций?И наименования и текст процедур и функций модулей.
Валерий aka РатиборЕсли вы переносите исходный код процедур и функций в OOM и если в этом коде явно указано к какому объекту 1С идёт обращение, то можно ли такие связи анализировать стандартными средствами PowerDesigner?Пока это мной не реализовано. Анализировать можно, по крайне мере несколько подходов к реализации показали возможность анализа и построения связей при четком указании объекта метаданных в коде.
Валерий aka РатиборА как вы описываете репликацию справочников? Используете ILM диаграммы?Никак не описываем, планы обмена обрабатывать не умею, подходов не делал.
Валерий aka РатиборА используете ли вы EAM для описания общей IT архитектуры предприятия?Нет, вообще до методологии EAM пока ни один из моих заказчиков не дозрел, а у себя и подавно ничего такого нет - сапожник без сапог.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36139450
Валерий aka Ратибор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_VVP_,

хорошо. Следовательно, для решения задачи нахождения объектов 1С, которые используют заданный объект/реквизит из кода модулей необходимо делать не синтаксический, а семантический анализ. Эта задача близка к задаче доказательства корректности программы. То есть, потребуется некий метаязык, который будет описывать язык 1С.

Можно ли посмотреть какой-нибудь пример ваших OOM диаграмм со связями атрибутов и с текстом процедур и функций?

То есть, если наименование объекта указано явно, то вы для анализа пишете скрипт VB Script?

А как вы экспортируете конфигурацию 1С в OOM? Есть программа "Импорт конфигурации 1С" .

А я для описания репликации использую ILM диаграммы. Визуально представление получается не очень удобным. Зато добавляются нужные связи между справочниками в разных системах. Но автоматического построения ILM диаграмм репликации я пока не сделал. У нас карты обмена есть в двух видах: в виде кода и в виде справочника "КартыОбмена". Построить ILM по справочнику в принципе не сложно. Но справочник "КартыОбмена" содержит не все репликации. А сделать полный справочник "КартыОбмена" по коду карт обмена для меня сложная задача. Тут надо хорошо знать 1С код.

EAM я также создал. Заказчики были довольны. Но я реализовал не все возможности, которые потенциально заложены в EAM (я ориентировался на пример, который поставляется с PowerDesigner 15). У меня есть гипотеза, что существуют программные продукты, которые решают задачу построения диаграмм, аналогичных EAM, лучше PowerDesigner. И вроде бы я встречал упоминания о них в блоге Анатолия Левенчука . Но пока до этого руки не дошли. И при построении EAM в PowerDesigner несоспоримое преимущество - это интеграция с остальными моделями.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36141007
Валерий aka Ратибор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Для изображения репликации справочников 1С я использую ILM + Impact ... Но диаграмма репликации справочников в Impact ... получается неудобочитаемой из-за наличия объектов Article. Можно ли исключить объекты Article из таких диаграмм? Или может быть есть какие-то другие подходы к изображению репликации справочников?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36147131
Валерий aka Ратибор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Роман Дынник,

Роман Дынник t1->t2->t3->t4->t5
выбираем t1 и t5, насколько я понимаю, в impact попадает t2 и t4. t3 не попадает.

Это неверно. В данном случае на диаграммах Impact ... t3 будет присутствовать (если, конечно, его не удалить специально при формировании Impact... диаграммы). В зависимости от того какой узел выбран в качестве базового (t1 или t5) действие на узлах будет различаться (Change или Linage).
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36161105
MaxF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть таблица в PDM. Нужно добавить в нее 30 однотипных полей. Подскажите как с помощью VBscript облегчить себе задачу (VBscript только начинаю изучать).
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36166749
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFЕсть таблица в PDM. Нужно добавить в нее 30 однотипных полей. Подскажите как с помощью VBscript облегчить себе задачу (VBscript только начинаю изучать).

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.stf.powerdesigner.eclipse.docs_15.0.0/html/advanced/advancedp318.htm

Начни с простого, данный скрипт создает таблицу с одним полем и выводит ее на первую диаграмму:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
option explicit
ValidationMode = true
InteractiveMode = im_Batch

dim tab
dim col

dim diagram
dim symbol

' Get first diagram  
set diagram = ActiveModel.PhysicalDiagrams.Item( 0 )

' Create table
set tab = ActiveModel.tables.CreateNew()
' Create table column
set col = tab.columns.CreateNew()

' Create a symbol for the table
set symbol = diagram.AttachObject(tab)
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36170804
MaxF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis PopovMaxFЕсть таблица в PDM. Нужно добавить в нее 30 однотипных полей. Подскажите как с помощью VBscript облегчить себе задачу (VBscript только начинаю изучать).

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.stf.powerdesigner.eclipse.docs_15.0.0/html/advanced/advancedp318.htm

Начни с простого, данный скрипт создает таблицу с одним полем и выводит ее на первую диаграмму:


С простого надо начинать когда есть время.
Я набросал на коленке то что мне нужно. Подскажите как выбрать нужную таблицу?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
option explicit
ValidationMode = true
InteractiveMode = im_Batch

dim tab
dim col

dim diagram
dim symbol

' Get first diagram  
set diagram = ActiveModel.PhysicalDiagrams.Item( 0 )

' Create table
'set tab = ActiveModel.tables.CreateNew()
'мне не надо создавать таблицу
'надо добавить в существующую
'как это сделать?

For counter =  1  To  30 
  ' Create table column
  set col = tab.columns.CreateNew()
  col.name = "column" & counter
Next
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36170874
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaxFЯ набросал на коленке то что мне нужно. Подскажите как выбрать нужную таблицу?

По-моему только перебором, бежишь циклом по таблицам и ищешь, например, по имени.
Код: plaintext
1.
2.
3.
4.
5.
for each tab in ActiveModel.tables
   if tab.name = "<MY_TABLE>" then
....
   end if
next
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36209073
dake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здраствуйте!
Кто нибудь когда нить делал реверс Оракловой базы... у меня такая штука, подключаюсь к базу через Database->Database Reverse Engineering Options ... потом должно выйти окно с доступными объектами базы... окно выходит с пустым списком таблиц,представлений, связей... только есть юзаки и роли :(
чё за фигня не пойму ... есть только предположения что тот юзак с помощью которого конекчусь
не имеет прав нужных...
заранее спасибо!
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36214183
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

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

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

Пример:
Код: plaintext
1.
2.
3.
Insert Into [Database].[Address].[Address] ([ID], [Caption])
Select [Table].[ID], [Table].[Caption]
From [Database2].[Address].[Address] [Table] Left Join [Database].[Address].[Address] [ExTable] On [Table].[ID] = [ExTable].[ID]
Where [ExTable].[ID] Is Null

Текущая база - [Database], вторая база - [Database2]

Таблиц огромное количество и переписывать скрипт при изменении полей/добавлении новых таблиц очень тяжело.

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

Заранее спасибо!
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36214297
Валерий aka Ратибор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alkatraz,

а какое отношение Ваша задача имеет к PowerDesigner? Вам надо просто написать скрипт на T-SQL (если это SQL Server). Для перебора всех таблиц следует воспользоваться вьюшкой sys.objects, а колонки хранятся в sys.columns. Привожу несколько полезных скриптов:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
--Объекты БД и соответствующие колонки
select o.name, c.name
from sys.objects o
	inner join sys.columns c on c.object_id = o.object_id
order by  1 ,  2 

--Объекты БД и соответствующие поля с типами и максимальной длиной
select o.name, c.name, t.name, c.max_length
from sys.objects o
	inner join sys.columns c on c.object_id = o.object_id
	inner join sys.types t on c.system_type_id = t.system_type_id
where t.user_type_id = t.system_type_id
order by  1 ,  2 ,  3 

--Объекты БД и количество полей в них
select o.name, count(c.name)
from sys.objects o
	inner join sys.columns c on c.object_id = o.object_id
where o.name = 'RНоменклатураТБID'
group by o.name
order by  1 
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36214439
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Валерий aka Ратибор, относится тем, что надо создать процедуру слияния баз, которая бы создавалась бы вместе с базой данных и была бы отражена в модели.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36215747
внук тома кайта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
господа,
как правильно проводить relationship, когда у меня есть таблицы и надо просто сказать, что одно из полей будет FK?

как сделать, чтобы при удалении этого relationship не удалялись поля?
сейчас они удаляются :(
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36217187
Фотография Le Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
внук тома кайта, tool->model options->model->Reference->Auto-migrate columns, снять флажок.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36217284
внук тома кайта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Le Peaceвнук тома кайта, tool->model options->model->Reference->Auto-migrate columns, снять флажок.
в хелпе тоже самое написано, даже со скриншотом
но у меня нет этой ветки

моё:
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36217301
внук тома кайта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
логическая модель
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36217325
внук тома кайта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
версия 15.1
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36217377
Фотография Le Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
внук тома кайта, не вижу Вашей картинки, можете вложением сделать?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36217392
внук тома кайта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Le Peace, у Вас версия какая?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36217622
Фотография Le Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
внук тома кайта, 9.5.
Да, картинка другая совсем :(
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36217625
Фотография Le Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
внук тома кайта, а что в migration settings?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36217692
Фотография Le Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
внук тома кайталогическая модельА, у меня-то физическая :)
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36217738
Фотография Le Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
внук тома кайта, так в логической модели вроде таких проблем вообще нету? Соответственно, и настройки нет.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36217770
внук тома кайта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Le Peaceвнук тома кайта, так в логической модели вроде таких проблем вообще нету? Соответственно, и настройки нет.
это смотря что считать проблемой

предположим, у меня есть 2 таблицы (сущности) в логической модели:
т1 (id)
т2(id, fk)

я создаю relationship, он связывает две таблицы.
удаляю - удаляется одно из полей.
я не хочу чтобы оно удалялось.
как это сделать?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36217804
Валерий aka Ратибор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
внук тома кайта,

я с такой проблемой тоже сталкивался. Я думаю, что это такая концепция. Если в концептуальной модели какое-то поле используется для связи сущностей, то оно несущественно для описания данной сущности. А если данной поле существенно, то надо спускаться на уровень физической модели.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36218094
Фотография Le Peace
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
внук тома кайта, странно, у меня в логической модели поля не создаются при создании связи, и, соответственно, не удаляются. Только в физической.
Ну, конечно, версия совсем другая у меня...
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36218175
внук тома кайта
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Le Peaceвнук тома кайта, странно, у меня в логической модели поля не создаются при создании связи, и, соответственно, не удаляются. Только в физической.
Ну, конечно, версия совсем другая у меня...
так ведь я и не говорил, что у меня создаются (хотя иногда создаются)

они удаляются при удалении relationship, вот в чем проблема
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36238011
igor_ku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

У меня возникло два вопроса, второй из которых вытек в процесе поиска решения для первого. Итак:

1. Как добавить колонке DEFAULT CONSTRAINT vb-скриптом? Т.е. vb-скрипт создаёт таблицу, добавляет поля и т.д. Но нужно ещё некоторым полям прикрутить дефолты c красивыми именами, типа DF_TableName_CreateDate. (PD ver. 15.1, DBMS - mssql server 2005). Гуглил по sybase-у, смотрел там CodeXchange - не помогло.

2. Почему бы не сделать отдельный форум на тему Sybase PD вместо sub-темы, растянувшейся на множество страниц в нескольких частях? Поиск делать крайне неудобно и ваще ненаглядно, когда в одной ветке множество разных вопросов\ответов идущих вперемешку. Как-то не похоже на 21 век. Мне кажется, что из-за неудобства пользования страдает популярность этой темы на sql.ru.

Спасибо
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36238172
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor_ku1. Как добавить колонке DEFAULT CONSTRAINT vb-скриптом? Т.е. vb-скрипт создаёт таблицу, добавляет поля и т.д. Но нужно ещё некоторым полям прикрутить дефолты c красивыми именами, типа DF_TableName_CreateDate. (PD ver. 15.1, DBMS - mssql server 2005).
Получить список можно примерно так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
dim tab
dim col

for each tab in ActiveModel.tables
  for each col in tab.columns
    output col.name & " " & col.GetExtendedAttribute("ExtDeftConstName")
  next
next

Соответственно установить можно через SetExtendedAttribute()
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36238298
igor_ku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis PopovСоответственно установить можно через SetExtendedAttribute()

Спасибо за наводку. Покопался немного и понял, что таким Get\SetExtendedAttribute мы получаем\устанавливаем только текст проперти Default Constraint Name , той, которая на вкладке Microsoft в пропертях колонки. Т.е. как бы пол-дела сделано. Осталось ещё половина в установке значения этому констрэйнту, напримет GETUTCDATE().

P.S. Извиняюсь за такую настоичивость. В принципе, я доку читать умею, но у Sybase дока по скриптингу какая-то нетривиальная (я смотрю Sybase PowerDesigner Metamodel Objects help), примеры в ней оторваны от жизни, почти негиперлинкована между разделами. Или это нас MS со своим BOL расслабил? :) Или может где-то лежит "правильная" дока по скриптингу PD? Поделитесь.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36238407
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor_kuОсталось ещё половина в установке значения этому констрэйнту, напримет GETUTCDATE()
Код: plaintext
1.
2.
3.
4.
dim col 'table column
...
set col.default = ActiveModel.createObject(PdPDM.cls_PhysicalDefault)
col.default.value = "~GETUTCDATE()~"
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36238428
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor_ku
2. Почему бы не сделать отдельный форум на тему Sybase PD вместо sub-темы, растянувшейся на множество страниц в нескольких частях? Поиск делать крайне неудобно и ваще ненаглядно, когда в одной ветке множество разных вопросов\ответов идущих вперемешку. Как-то не похоже на 21 век. Мне кажется, что из-за неудобства пользования страдает популярность этой темы на sql.ru.
http://www.sql.ru/forum/actualthread.aspx?tid=662211#7180307
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36240327
igor_ku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis Popov
Код: plaintext
1.
2.
3.
4.
dim col 'table column
...
set col.default = ActiveModel.createObject(PdPDM.cls_PhysicalDefault)
col.default.value = "~GETUTCDATE()~"


Этот код делает не совсем то что я спрашивал. Он сделает CREATE DEFAULT ... в базе, который мне НЕ нужен, и потом цепляет его к полю. Меня интересовал DEFAULT CONSTRAINT, т.е. когда поле с дэфолтом в таблице создаётся так:

Код: plaintext
1.
2.
3.
4.
5.
create table aud.IdnChainAudit
(
  ...
   CreateDate datetime not null constraint DF_IdnChainAudit_ModifyDate_GETUTCDATE default getutcdate()
  ...
)

В общем, после ещё некоторого ковыряния на досуге и благодаря вышеупомянутым наводкам (ещё раз спасибо) нашёл то, что мне нужно. Код vb-script нужный мне выглядит так:

Код: plaintext
1.
2.
Call column_new.SetExtendedAttribute("ExtDeftConstName", "DF_IdnChainAudit_ModifyDate_GETUTCDATE")
column_new.DefaultValueDisplayed = "~getutcdate()~"

Спасибо, Денис!
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36244307
господа,
можно ли в PD работать коллективно через репозиторий с однйо моделью так, чтобы один захватывал и изменял часть модели, другой чел изменял другую ее часть?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36244409
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
йошкин крамболь wrote:

> можно ли в PD работать коллективно через репозиторий с однйо моделью
> так, чтобы один захватывал и изменял часть модели, другой чел изменял
> другую ее часть?

Из репозитория можно работать с отдельными пакетами.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36245281
как сделать автоматическое именование reference по некоему шаблону, например?
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36245418
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шлаковыводитель wrote:

> как сделать автоматическое именование reference по некоему шаблону, например?

Меню Database -> Edit Current DBMS, далее по дереву Script\Objects\Reference\ConstName
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36273281
Celamoi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дамы и господа, доброго времени суток !
Пардон, сразу не попал в нужную ветку (а ведь писал сюда когда то :)

Вновь мне понадобилось CASE - средство для работы.

В свое время пользовался PowerDesigner 9 и был в принципе доволен (ничего лучшего просто на тот момент времни не было ИМХО :)

Теперь опять нужно попроектировать немаленькую но без особых "прибамбасов" базу данных под MS SQL 2005.
По отзывам в Internet сложилось у меня субъективное мнение, что до сих пор лучше PD в своей области "зверя" нету.

Коллеги подскажите пожалуйста, какую версию взять. По моим сведениям последних две версии - 12.5 и 15. Кажется, что последняя и есть самая лучшая, однако насколько я знаю так бывае отнюдь не всегда. Иногда текушая версия отказывается "сыроватой" или сложно/заумной в использовании.

Буду благодарен за мнения
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36283253
Flying Dutchman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я написал скрипт на VBScript для PowerDesigner 15, который создает две таблицы с именами Parent и Child и связь между ними (reference) по полю Parent_Id. После создания каждого объекта (таблиц и связи) для него создается символ, чтобы объект был виден на диаграмме. Скрипт работает, однако после его выполнения созданная связь остается невидимой. Чтобы сделать ее видимой, нужно зайти в пункт Symbol главного меню, выбрать Show Symbols ... и пометить символ связи как видимый.

Почему связь остается невидимой после выполнения скрипта и как это исправить ?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
Option explicit

dim model : set model = ActiveModel ' Current active model
dim column
dim symbol

' Create parent table 
dim parentTable
set parentTable = model.Tables.CreateNew()
parentTable.Name = "Parent"

' Create PK column
set column = parentTable.Columns.CreateNew()
column.Name = "Parent_Id"
column.DataType = "int"
column.Primary = True
column.Displayed = True
set symbol = ActiveDiagram.AttachObject(parentTable) ' Put created table on the current diagram

' Create child table
dim childTable
set childTable = model.Tables.CreateNew()
childTable.Name = "Child"

' Create PK column
set column = childTable.Columns.CreateNew()
column.Name = "Child_Id"
column.DataType = "int"
column.Primary = True
column.Displayed = True

' Create foreign key column
set column = childTable.Columns.CreateNew()
column.Name = "Parent_Id"
column.DataType = "int"
column.Primary = False
column.Mandatory = True
column.Displayed = True

set symbol = ActiveDiagram.AttachObject(childTable) ' Put created table on the current diagram

' Create reference
dim ref : set ref = model.References.CreateNew()
ref.Name = "test_ref"
ref.ParentTable = parentTable
ref.ChildTable = childTable

set symbol = ActiveDiagram.AttachObject(ref) ' Put created table on the current diagram
' Error: after execution of this statement the reference is still unvisible !
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36300994
Flying Dutchman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Flying Dutchman
Почему связь остается невидимой после выполнения скрипта и как это исправить ?


Нашел ответ сам. Последняя строка скрипта должна выглядеть так:

Код: plaintext
1.
set symbol = ActiveDiagram.AttachLinkObject(ref) ' Put created reference on the current diagram.

Вместо метода AttachObject нужно использовать метод AttachLinkObject.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36304466
sauron13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, существует ли какая-то константа, которая будет показывать текущю дату на схеме?
(На напечатанных схемах надо видеть дату печати каждой их них.)

Sybase PowerDesigner 12.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36304536
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sauron13 wrote:

> Подскажите, существует ли какая-то константа, которая будет показывать
> текущю дату на схеме?
> (На напечатанных схемах надо видеть дату печати каждой их них.)

Меню File-> Page Setup, в поле Header можно поставить %DATE% %TIME%.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36304580
sauron13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Denis Popov
Меню File-> Page Setup, в поле Header можно поставить %DATE% %TIME%.


Сенк.
В принципе - то, что надо, но не пойму как увеличить размер. Слишком мелкий получается шрифт.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36366762
Alkatraz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос по поводу создания XML схем.

Есть таблица с XML полем, для которого надо создать схему.

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

Создаю XML Schems Collection, затем XML Model, привязываю поле к коллекции и коллекцию к модели.

Далее в моделе схемы создаю элемент "Parameters", который содержит группу "Elements", в которую входят три элемента описания.

Получается такая вот схема:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
<?xml version="1.0" encoding="UTF-8" ?>
<schema 
   attributeFormDefault="unqualified"
   elementFormDefault="unqualified"
   xmlns="http://www.w3.org/2001/XMLSchema">
   <!--
   Параметры расчета
   -->
   <element name="Parameters">
      <complexType>
         <group maxOccurs="unbounded" minOccurs="0" ref="Element">
         </group>
      </complexType>
   </element>
   <!--
   Элемент расчета
   -->
   <group name="Element">
      <all>
         <!--
         Наименование
         -->
         <element name="Caption" maxOccurs="1" minOccurs="1" type="string"/>
         <!--
         Описание
         -->
         <element name="Description" maxOccurs="1" minOccurs="1" type="string"/>
         <!--
         Значение
         -->
         <element name="Value" maxOccurs="1" minOccurs="1" type="string"/>
      </all>
   </group>
</schema>

При выполнении скрипта на создание базы ругается на комментарии "<!--", если их убрать, то ругается, что "Element" не определен в неймспейсе "http://www.w3.org/2001/XMLSchema".

Что я делаю не так? )
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36413003
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем.

Осваиваю PD. Интересует такой вопрос: ведение версий для Physical Data Model в целом понятно, но непонятно как можно сгенирировать скрипт изменения?

Поясню. Допустим есть версия 1.0, БД уже активно используется у заказчика. В структуру внесены изменения, стала версия 2.0. Как сгенерировать скрипт, который надо включить в дистрибутив с обновлением? Что-то не найду никак...
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36413045
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_L wrote:

> Поясню. Допустим есть версия 1.0, БД уже активно используется у
> заказчика. В структуру внесены изменения, стала версия 2.0. Как
> сгенерировать скрипт, который надо включить в дистрибутив с обновлением?
> Что-то не найду никак...

Нужен сервер БД с версией 1.0. В PowerDesigner 15 это делается через меню Database-> Apply Model Changes to Database.

Но, на мой взгляд, получаемые скрипты в некоторых местах могут быть, мягко говоря, нерациональными. Новые объекты через
подобное создать можно, а для изменения существующих имхо лучше редактировать скрипт самостоятельно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36413421
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis PopovНужен сервер БД с версией 1.0. В PowerDesigner 15 это делается через меню Database-> Apply Model Changes to Database.

Но, на мой взгляд, получаемые скрипты в некоторых местах могут быть, мягко говоря, нерациональными. Новые объекты через
подобное создать можно, а для изменения существующих имхо лучше редактировать скрипт самостоятельно.
Спасибо за ответ. Сейчас ручками и редактируем, но я был уверен, что в PD это штатная фича. Более того: надеялся, что можно включить в автоматическую сборку дистрибутива. Но ошибся... У меня, кстати, 12.5, потому-то и не нашел.

OFF:
Для MSSQL/MySQL подобного рода инструменты я нашел , если кому интересно. Даже бесплатные :)
Надо, конечно потестить, но пробный скрипт обновления вышел очень даже неплохо.
...
Рейтинг: 0 / 0
Все вопросы по Sybase PowerDesigner (PD), Часть № 4
    #36413425
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Модератор: Господа, давайте я закрою эту тему, пока не превышен лимит страниц на одновременный просмотр их всех.
На мой взгляд идея вести одну тему для всех вопросов по PowerDesigner'у себя не оправдала, пусть лучше обсуждения группируются так, как того захотят авторы сообщений.

http://www.sql.ru/forum/actualthread.aspx?tid=662211#7172584
...
Рейтинг: 0 / 0
208 сообщений из 208, показаны все 9 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Все вопросы по Sybase PowerDesigner (PD), Часть № 4
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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