|
|
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
Здесь обсуждаются ВСЕ ЛЮБЫЕ вопросы, связанные с Sybase PowerDesigner всех версий. Достоинства: 1. Не плодятся ветки ветки и таким образом не засоряется форум. 2. Значительно облегчается поиск в форуме. 3. Одну ветку удобно потом сохранить/выкачать из форума для получения своеобразного решебника/FAQ по вопросам PD, что бывает полезно не только для новичков Часть 1 закрыта. Следующая часть здесь: Все вопросы по Sybase PowerDesigner (PD), Часть № 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.04.2003, 23:21 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
1. Есть ли в PD аналог Ервиновских Subject Areas? 2. Как сделать, чтобы при назначении связей между таблицами, в подчиненной таблице появлялось(добовлялось новое) поле с именем <ParentPKFieldName>_ID, где <ParentPKFieldName> - имя поля (первичного) в главной таблице......Сейчас у меня в подчиненной таблице просто добавляется признак FK к полю....... Например есть 2 таблицы: ParentTable Код: plaintext ChildTable Код: plaintext Связываем таблицы, получается следующее: ChildTable Код: plaintext А хотелось бы: ChildTable Код: plaintext 1. Где это можно поменять? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2003, 11:53 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
2 manumba: 1. Есть ли в PD аналог Ервиновских Subject Areas? Напомню, что предметные области (Subject Areas) в ErWin - это диаграмма, содержащая сущности/таблицы, выбранные пользователем из всего набора сущностей/таблиц модели данных. В PowerDesigner их аналогом являются пакеты и диаграммы , входящие в эти пакеты. При этом пакет или диаграмма может содержать не саму сущность/таблицу, а ссылку (shortcut) на нее или ее графический синоним (graphical synonym). Такая организация на основе пакетов обладает большей гибкостью и удобствами, чем на основе предметных областей ErWin поскольку пакеты содержат не только сущности/таблицы или виды, но и хранимые процедуры. При операциях в PD таких как генерация DDL, проверка модели, сравнение моделей или построение отчета можно выбрать пакет(ы) для к-рых делается операция, а потом еще из/в нее ис/включить необходимые объекты пакета Как сделать, чтобы при назначении связей между таблицами, в подчиненной таблице появлялось(добовлялось новое) поле с именем.... Читайте документацию к PDM в разделе, относящемся к миграции PK (см. опции модели - диалог "Model Options", категория "Model", группа "Reference"), а также настройке СУБД (см. диалог "DBMS Properties") и формированию имени FK по желанию (Constraint name template for foreign keys), там все это описано. Просто не хочется объяснять элементарные основы - RTFM, а если что-то дальше будет не понятно, то спрашивайте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2003, 16:24 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
Читайте документацию к PDM в разделе, относящемся к миграции PK (см. опции модели - диалог "Model Options", категория "Model", группа "Reference"), а также настройке СУБД (см. диалог "DBMS Properties") и формированию имени FK по желанию (Constraint name template for foreign keys), там все это описано. Просто не хочется объяснять элементарные основы - RTFM, а если что-то дальше будет не понятно, то спрашивайте 1. Что такое RTFM? 2. Перерыл в документации следующее: "You can modify this default behavior and use template for naming the migrated foreign keys. In the Reference groupbox, you can select one of the predefined templates in the FK Column Name Template dropdown listbox" Где (в каком меню) можно менять FK Column Name Template? Я облазил весь PD и его хелп с документацией, но не нашел этого.....:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2003, 12:00 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
собственно, как сделать следующую фишку: если назначение - SQL2000 - один код в триггере, если назначение interbase - другой код в триггере.. глобальная переменная-то есть, но в ПД нельзя указать, что вот если такое-то условие - то генерить, иначе нет... в ирвине я бы сделал все очень просто: %if(%==(%DBMS,INFORMIX)) {} %if(%==(%DBMS,SQL Server)) {} Такая ботва допустима только в скриптах на Визуал Бейсике, которые отдельно ваяются, а я хочу видеть такую запись прямо в пдмке, в коде.. Поэтому я блин не могу в конце триггера, прямо в теле например, перечислить все колумны, но кроме идентити столбца(sql2000) если он есть.. прийдется писать драный отдельный скрипт, который будет получать доступ к пдмке, бегать по столбцам и добавлять указанный список у концу уже имеющегося триггера.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2003, 14:31 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
2 manumba: 1. Что такое RTFM? RTFM = Read The Fantastic/Fine Manual, т.е так сказать приглашение пойти и почитать основы в хелпушнике, в частности перед тем как использовать продукт :) 2. Перерыл в документации следующее: "You can modify this default behavior and use template for naming the migrated foreign keys. In the Reference groupbox, you can select one of the predefined templates in the FK Column Name Template dropdown listbox" Где (в каком меню) можно менять FK Column Name Template? Я облазил весь PD и его хелп с документацией, но не нашел этого.....:( Чего-то вы странно хелпом пользуетесь, а ведь не новичок уже небось ;) 1. Автоматическая миграция PK : а) открываем Sybase PowerDesigner User's Guide, в поиске (Find) вводим строку: "migration primary key". 1-я же ссылка: "Automatic reuse and migration of columns" ( [ PowerDesigner PDM User's Guide ] ->[ CHAPTER 4. Building Physical Diagrams ]->[ Defining references ] ->[ Automatic reuse and migration of columns ]) - читаем, знакомимся б) в меню [Tools]->[Model Options...] открываем диалог "Model Options", категория "Model", нажимаем кнопку [Help] - получаем раздел хелпа с описанием опций этого диалога ([ PowerDesigner PDM User's Guide ]->[ CHAPTER 2. Physical Data Model Basics ] ->[ Defining a PDM ]), жмем [ Reference ] и получаем описание опций группы "Reference" - читаем, знакомимся. Включаем чекбоксы [Auto-migrate columns] и [Auto-reuse columns] (по желанию), а также в радиогруппе [Default link on creation] выбираем [Primary key] 2. Автоматическое формирование имени FK : а) в том же PDM Guide: [ PowerDesigner PDM User's Guide ] -> [ CHAPTER 4. Building Physical Diagrams ] ->[ Defining keys ] -> [ Naming key constraints ] -> [ Naming a foreign key constraint ] - читаем, знакомимся б) в меню [Database]->[Edit Current DBMS...] открываем диалог "DBMS Properties", выбираем закладку [General], выбираем в древе узлы: [Script]-> [Objects]-> [Reference], выбираем свойство "ConstName", для него в поле [Value] вводим переменные PD для образования имени FK. Например, для имени FK_<child_table_name>__<parent_table_name> (хорошое описательное имя, всегда гарантирующее уникальность имени FK, рекомендованное Марголиным) нужно ввести: FK_%CHILD%__%PARENT% . Чтобы физическое имя FK было всегда в верхнем/нихнем регистре можно использовать переменные для форматирования (.U, .L), но лучше использовать опции для "Reference" в категории "Naming Convention" в диалоге "Model Options" в) открываем раздел [ PowerDesigner PDM User's Guide ]-> [ CHAPTER 12. Variables in PowerDesigner ] ->[ List of PowerDesigner variables ] - читаем, знакомимся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2003, 15:07 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
2 Аркаша: То что только через скрипты - факт, и то я сомневаюсь что это будет работать корректно, поскольку при генерации под каждую СУБД соответственно придется менять и СУБД модели. Вообще эта затея очень странная хранить все в одной модели хотя бы потому что у MSSQL и IB ведь не только отличие в синтаксисе SQL-диалектов, но и во многом другом (физические спецификации, типы данных). Нельзя ли тут нарваться и неужели так сложно иметь 2 отдельных PDM модели - под MS и Borland? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2003, 15:16 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
А так сделать как: если %TABLE% такая то или Extended Atribut таблицы такой то, то генерировать в коде хранимой процедуры то-то иначе - то-то. Тоже только через VBScript? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2003, 16:27 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
2 Репликант: По пункту 1 проблем нет...и в хелпе я давно про него прочитал (хотя и без хелпа тут все ясно) Теперь перейдем к пункту 2. Тут тоже вроде все ясно...... НО!!! Но как решить мою проблему я так и нашел. б) в меню [Database]->[Edit Current DBMS...] открываем диалог "DBMS Properties", выбираем закладку [General], выбираем в древе узлы: [Script]-> [Objects]-> [Reference], выбираем свойство "ConstName", для него в поле [Value] вводим переменные PD для образования имени FK. Например, для имени FK_<child_table_name>__<parent_table_name> (хорошое описательное имя, всегда гарантирующее уникальность имени FK, рекомендованное Марголиным) нужно ввести: FK_%CHILD%__%PARENT% . Да, все круто. Но это меняет имя Reference. А как мне поменять имя FK? Может это делается очень легко, но я этого не нашел......В PD я работаю только второй день, поэтому и задаю такие вопросы......(уж очень много информации за очень короткий промежуток времени) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2003, 19:08 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
2 qwerty2003: А так сделать как: если %TABLE% такая то или Extended Atribut таблицы такой то, то генерировать в коде хранимой процедуры то-то иначе - то-то. Тоже только через VBScript? Вопрос: а зачем это нужно и для чего? Т.е это какой-то глобальный скрипт, исполняющийся по-разному в зависимости от имени таблицы или значения атрибута? 2 manumba: Да, все круто. Но это меняет имя Reference. А как мне поменять имя FK? Может это делается очень легко, но я этого не нашел...... Нет, это как раз меняет имя ограничения FK . Просто неудачное название атрибута - "Reference", в отличие от того же "PKey" или "Index". Имена отношений, а в PD они называются не "relationship", а именно "reference" либо генерятся автоматически либо вводятся от руки ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2003, 22:44 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
2 Репликант: ДА, какой-нибудь стандартный скрипт генерирующий или нет кусок кода, например в соответствии со значением Extended Atribut таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2003, 12:50 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
З.Ы. согласен с qwerty2003 . Иногда это просто необходимо. Шаблоны процедур или триггеров не подходят, так как при изменении кода шаблона, приходится менять и код процедур/триггеров использующих эти шаблоны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2003, 12:54 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
Репликант, мне нужно поменять имя FK, а не имя ограничения FK!! Еще раз опишу задачу (работаю с PDM): 1. есть 2 таблицы, в каждой по 1 полю: ID <pk>. (TableParent, TableChild) 2. соединяю эти 2 таблицы и у меня автоматом в Child-таблице появляется новое поле (именно это поле я называю - "FK"....ведь правильно? ). Это мне и нужно. Но название поля генерится по шаблону <первые 2 буквы ParentTableName>_<ParentTable PK>...т.е в моем слуае "Tab_ID" (т.е. первые 3 буквы от TableParent + "_"+ID). Как (точнее Где?) мне изменить это поведение (чтобы генерировало все буквы от TableParent+ "_" +ID)? (КАК изменить я придумаю, а вот ГДЕ изменить, это остается для меня загадкой). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2003, 11:05 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
2 manumba: Репликант, мне нужно поменять имя FK, а не имя ограничения FK!! ... 2. соединяю эти 2 таблицы и у меня автоматом в Child-таблице появляется новое поле (именно это поле я называю - "FK"....ведь правильно? ). ВНИМАНИЕ: необходимо различать (и правильно объяснять соответственно) столбец , имеющий данное ограничение FK и ограничение FK у данного столбца - это разные объекты БД!! :) Как (точнее Где?) мне изменить это поведение (чтобы генерировало все буквы от TableParent+ "_" +ID)? (КАК изменить я придумаю, а вот ГДЕ изменить, это остается для меня загадкой). Имя мигрировавшего столбца наверное только через скрипт. А зачем это нужно вообще если не секрет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2003, 10:59 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
2 Репликант: Не секрет: принята система соглешений, в которой имя мигрировавшего столбца именуется как я говорил выше....и ничего хитрого :) А вообще огромное СПАСИБО за PowerDesigner (именно по твоим обсуждениям в форуме я решил попробовать его)!! Я перешел на него c Erwin и пока очень доволен. А ведь так бы и сидел с Ервином и думал, что он супер и лучше него нет!:)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2003, 12:36 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
2 manumba: Не секрет: принята система соглешений, в которой имя мигрировавшего столбца именуется как я говорил выше....и ничего хитрого :) Нда, не очень удачная схема (для PD) именования FK-столбцов, даже впервые с такой встречаюсь. Я встречал такой подход в американской литературе по БД, когда мигрировавший FK-столбец всегда именуется по-другому ( ролью ) нежели в родительской таблице и что якобы такой способ более информативен. В жизни же конечно такое встречается только когда, например, есть обратная связь, т.е чтобы не допустить 2-х столбцов с одинаковым именем А вообще огромное СПАСИБО за PowerDesigner (именно по твоим обсуждениям в форуме я решил попробовать его)!! Я перешел на него c Erwin и пока очень доволен. А ведь так бы и сидел с Ервином и думал, что он супер и лучше него нет!:)) Я искренне рад, что не просто выступил как обычно впустую в роли бесплатного и злободневного ИТ-просвятителя, разбомбив в очередной раз бедный остойный ErWin, а еще и с пользой для кого-то, вот спасибо! ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.04.2003, 23:40 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
Последний ERwin 4.1 SP2b b2771 меня "порадовал"- в Oracle он теперь видит материализованные представления (снапшоты) именно как материализованные представления, отсекая таблицу, лежащую под ним. Посему вопрос: нельзя ли в PD работать с View и как со View (materialized), и как и с таблицей? Т.е. определять индексы, ограничения и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2003, 10:42 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
2 Denis Popov: Посему вопрос: нельзя ли в PD работать с View и как со View (materialized), и как и с таблицей? Т.е. определять индексы, ограничения и т.д. В PD версий 8.х (не помню), 9.0 есть и в PD последней версии 9.5 их поддержка тоже есть , т.е для СУБД Oracle в диалоге свойств вида/представления есть опции "materialized view", "snapshot", т.е они вставляют соответствующие ключевые слова в create view , а также включают закладки с дополнительными физическими опциями для этих типов видов. Вот кусок из хелпа [PowerDesigner PDM User's Guide]->[CHAPTER 13. DBMS-specific Features]-> [Support for Oracle] (->[Snapshot and materialized views]) : PowerDesigner supports the following specific features in Oracle: * Variables for triggers * Object data types * Snapshot and materialized views * Extended attributes ... Snapshots or materialized views support physical options. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2003, 13:33 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
Да, я вижу. К сожалению, на physical options вроде как дело и останавливается. А требуются еще закладки Indexes, Keys, да и на Columns дополнительные атрибуты- комментарий хотя бы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2003, 14:04 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
По просьбе г-на Репликанта дублирую вопрос и надеюсь на толковый ответ:\r \r Есть процедура: \r \r Код: 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. \r Как ее разместить в Физической модели (MSSQL2000), чтобы генерировался правильный скрипт? Проблема в символах [ и ]. Экранировать пробовал, не помогает. \r \r Версия ПО: Sybase PowerDesigner (R) 9.5.1.736 Evaluation\r \r Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2003, 16:24 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
to jimmers Очень просто :) - двойной символ Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2003, 17:06 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
2 jimmers: По просьбе г-на Репликанта дублирую вопрос и надеюсь на толковый ответ: Спасибочки! И соберутся люди вместе... :) Как ее разместить в Физической модели (MSSQL2000), чтобы генерировался правильный скрипт? Проблема в символах [ и ]. Экранировать пробовал, не помогает. А как пробовал экранировать? Размещать эту процедуру надо также как и любую процедуру. Как я понимаю проблема в том, что PD9.5 упрямо убирает символы скобок "[" и "]" несмотря на то, что эти символы являются разрешенными в физических именах таблиц-стоблцов и в MSSQL. Одна из версий: убирает потому что эти символы являются зарезервированными в PD для внутреннего использования. [%variable%] - означает опционально определенную переменную, значение к-рой всегда генерируется. Однако, в том же PD9.0, в к-ром символы "[ ]" тоже служебные их можно использовать как любые обычные символы. Возможные пути решения: 1. Простой: использовать SET QUOTED_IDENTIFIER ON и для имен символы двойных кавычек (" ") вместо [ ] . PD все нормально генерит. Также достигается совместимость с SQL-92. 2. Посложнее (если уж очень хочется иметь скобки): использование escape-кодов для этих символов "\[[" для "[" и "\]]" для "]" ( в definition-скрипте все без кавычек! ) 3. Сложный (для фанатов имен объектов со [ ]): установить PD9.0. Однако, он не имеет нек-рых возможностей по работе с ХП, к-рые есть у PD9.5 и к к-му возможно выйдет некий MR-патч, к-рый эту проблему пофиксит 2 Роман Дынник: Очень просто :) - двойной символ Пробовали - не работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2003, 17:18 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
2Репликант Вот это уже ближе к телу. Значится так: экранировал именно как ты пишешь. Более того, сам я так делал ранее , но именно в этом случае не работает, падла. SET QUOTED_IDENTIFIER ON не катит, как понимаешь, так как в данном случае скобки не для имен, а для соответствия синтаксису FOR XML. Ну и насчет 9 установить - я уж ErWin тогда поставлю - в нем (я проверил) этой проблемы нет. Так что вот. Кстати, сам можешь попробовать создать процедуру по указанному мной коду (хоть как - и в модели, и через реверс) и проверить, что проблема имеет место быть. Это к твоей реплике о кривых руках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2003, 17:35 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
2 jimmers: Вот это уже ближе к телу. Значится так: экранировал именно как ты пишешь. Более того, сам я так делал ранее, но именно в этом случае не работает, падла. Это у них в том форуме двойные кавычки (но и для их случая я тоже знаю как выкрутиться!) нужны, а у тебя-то их нет!! Ты все-таки попробывал вариант №2 с \[[ и \]] прежде чем Ервин-то ставить (~в отчаянной надежде спасти jimmersa от использования этого неудобноотстойн.. средства~) Ну и насчет 9 установить - я уж ErWin тогда поставлю - в нем (я проверил) этой проблемы нет. Вот Сибаза долбанная, а ведь у меня на работе PD 9.0.0.438 точно позволяет использовать "голые" [ ]! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2003, 17:50 |
|
||
|
Все вопросы по Sybase PowerDesigner (PD), Часть № 1
|
|||
|---|---|---|---|
|
#18+
2Роман Дынник Я уже отвечал в своем треде, но на всякий пожарный вот итог использования двойных скобок: Код: plaintext 1. 2. 3. 4. 2Репликант Я пробовал и это, вот итог: Код: plaintext 1. 2. 3. 4. 2Люди Неужели никто не сталкивался? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2003, 18:15 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=32149199&tid=1544789]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
136ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 215ms |
| total: | 459ms |

| 0 / 0 |
