powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
25 сообщений из 397, страница 5 из 16
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33336255
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там есть поле имени констрейнта, там можно писать макросы.
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33337230
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ERwin 4.1.4.4224 их не разбирает. Пишешь, к примеру в его имени CH_%TableName_%ColName, он так его и оставляет.
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33339089
guest20
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Denis Popov
Ага, именно, не разбирает.

Кто как решает проблемму?? Или каждое ограничение называют отдельным именем???
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33339351
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток.

Предположим, имеется сущность А, и две сущности Б и В, которые являются подкатегориями сущности А. Как показано на рисунке.

Вопрос: как в макросе для сущности Б или В получить имя их супер-категории (А)?

Дело в том, что %ForEachChildRel() возвращает, конечно, в списке реляций и нужную мне - но как выделить именно "ту самую"?
%RelType определяет только тип "идентифицирующая/неидентифицирующая"...

Ничего в голову не приходит более умного, чем анализировать имя роли связи (что-нибудь вроде наличия в названии слова "подтип").

Спасибо.
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33339352
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Фу ты... Всем извинения: спать, наверное, нужно больше.

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

Т.е. действительно, достаточно просто в макросе - итераторе

%ForEachChildRel() { }

выбирать те %Parent, у которых %RelType равен RT_ID. Это и будет родитель.


Так... а вот как выбрать у родителя атрибут - дискриминатор подтипов?
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33339357
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest202Denis Popov
Ага, именно, не разбирает.

Кто как решает проблемму?? Или каждое ограничение называют отдельным именем???

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

И пусть имена констреинтов будет вот такое:

CHK_Impossible_ИмяТаблички_ИмяПоля

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

Код: plaintext
1.
2.
alter tuple add constraint chk_impossible_tuple_v_str
    check (v_str not in ('tuple', 'Кортеж'));

Ну, все понятно, осталось только пометить нужные поля.
Что делам? Открываем редактор User Defines Properties для атрибутов на логическом уровне, и создаем атрибут Check_Impossible типа List, значения по умолчанию задаем: yes,~no
Все. Теперь открываем все сущности в режимме просмотра атрибутов, находим нужные поля, и лезем в закладку UDP. Там находим наше новое свойство поля Check_Impossible и меняем значение с no на yes.

Пометили.

Теперь нужно заставить модель генерировать нужный скрипт. Сделать это можно, к примеру, вот таким способом:
Переключаемся в физическую модель, идем в Script Templates -> Model Level Scripts. Создаем новый скрипт Check_Impossible_Script ( Generate Option = Post-Creation !) вот такого содержания:


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
%ForEachEntity(){
  %ForEachAtt(){
    %if(%==(%AttProp(Check_Impossible),yes)){
 alter %TableName add constraint chk_impossible_%TableName_%ColName
    check (%ColName not in ('%TableName', 'EntityName'));

}}}

Вот теперь все. При генерации в конце будет создан скрипт вот такого вида:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
alter attr_def add constraint chk_impossible_attr_def_attr_caption
    check (attr_caption not in ('attr_def', 'Описание атрибута'));

alter tuple add constraint chk_impossible_tuple_v_str
    check (v_str not in ('tuple', 'Кортеж'));

alter Users add constraint chk_impossible_Users_fio
    check (fio not in ('Users', 'Пользователи'));


Естественно, при реализации возможны варианты.
Удачи.
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33340539
guest20
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, скриптик ничего. Вот только переделывать надо ~ 100таблицХ10атрибутов, мда работа на пару дней :-)

Но, в любом случае спасибо.
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33342964
Сержант Золотарев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest20Да, скриптик ничего. Вот только переделывать надо ~ 100таблицХ10атрибутов, мда работа на пару дней :-)

Но, в любом случае спасибо.

Может, я что не так рассказал, а ты чего не понял?

Про UDP - это самое главное.
Можешь завести UDP как для сущностей, так и для атрибутов. А качестве значения UDP использовать, к примеру, имена ограничений, которые ты определил в редакторе. Тогда они будут применяться для твоего столбца, а имя гененрироваться будет исходя из названия таблицы и столбца - см. образец.
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33353580
floyn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создаю в Erwin в физической модели View под M$ SQL. Хочу дать русские альясы (name) с пробелами для view columns. В M$ SQL это можно сделать, заключив русское имя в квадратные скобки.
1. Если галка "Allow special characters" на закладке Physical в свойствах модели не установлена, то Erwin заменяет скобки и пробелы на знак подчеркивания. При этом при генерации view SQL, ругается на русские символы.
2. Если указанная галка стоит, то Erwin оставляет скобки и пробелы, но при генерации скрипта заключает каждое русское имя в кавычки (вместе со скобками). SQL снова ругается на такую конструкцию. :(
Как-нибудь можно сказать ему, что квадратные скобки и пробел - это "нормальные" символы?
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33354206
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квадратные скобки и пробелы - это отстой. Называй поля по-человечески, как все нормальные люди - по-английски.
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33354355
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"MasterZiv" <nospam@sql.ru>; сообщил/сообщила в новостях следующее:
news:2025406@sql.ru...
Квадратные скобки и пробелы - это отстой. Называй поля по-человечески, как
все нормальные люди - по-английски.


???

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33355069
Slider_spb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Заглянул на их FTP с обновлениями, и непонятно почему их так много? Они не кумулятивны? У меня версия 4.1.2522, какое последнее обновление мне можно поставить?
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33356259
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое последнее.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33357476
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slider_spb wrote:
> Заглянул на их FTP с обновлениями, и непонятно почему их так много? Они
> не кумулятивны? У меня версия 4.1.2522, какое последнее обновление мне
> можно поставить?

Это по существу не обновления, а полноценные установочные пакеты. Ориентируйся по номеру билда, для
Erwin'а последним сейчас является AFEDM414sp3-b4224.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33363310
floyn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сорри, что долго не было. Приболел чето.

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

Ну, спасибо. А то я прям не знаю :D
Вы б лучше по существу чего-нибудь ответили ;)
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33364109
Рус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, где можно взять modelMart?
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33365340
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На сайте interface можете скачать демонстрационную версию. У нее ограничение - только один пользователь. Т.е. только сможите посмотреть, как там и что.
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33366029
Рус
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я знаком с ним, меня как раз интересует практическая сторона.
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33368264
floyn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем.
Чегой-то никак не разбирусь, как при генерации схемы БД на M$ SQL добиться таких правил целостности:
1. Для некоторых связей (Relations) сгенерировать ТОЛЬКО foreign key с опциями ON DELETE CASCADE, ON UPDATE CASCADE.
2. Для связей, помеченных как Parent Delete -> RESTRICT, сгенерировать соответствующий стандартный триггер.
3. Для некоторых связей сгенерировать триггер на основе моего шаблона.
Спасибо
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33450926
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Братцы, подскажите, как в макросах ErWin достучаться до свойств
ключа/индекса.

Интересуют UDP ключей/индексов, в первую очередь - раз они есть, значит
должен быть способ обратиться к ним? Ну, наподобие того, как получаем доступ
к UDP атрибутов/столбцов.
(по %AttProp / %ColProp)

Ну, и во второю очередь - Definition и Comment элементов модели ErWin.
Ну очень хочется.

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

Спасибо.

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33451883
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все просто:

Entity: %EntityProp (UDPName)
Table: %TableProp (UDPName)
Attribute: %AttProp (UDPName)
Column: %ColProp (UDPName)
Key Group: %KeyGroupProp (UDPName)
Index: %IndexProp (UDPName)
Logical Relationship: %RelLogProp (UDPName)
Physical Relationship: %RelPhysProp (UDPName)
Logical Domain: %DomainLogProp (UDPName)
Physical Domain: %DomainPhysProp (UDPName)
Subject Area: %SubjectAreaProp (UDPName)
Model: %DiagramProp (UDPName)

Ну, и так далее...

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33653522
Sерый
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем приветы!
Возникла следующая проблема - в процессе генерации схемы в Access возниккает ошибка создания индексов и связей:
"' CREATE INDEX "PrimaryKey"

Set ERwinTableDef = ERwinDatabase.TableDefs("APPOINTMENT")

Execution Successful


Set ERwinIndex = ERwinTableDef.CreateIndex("PrimaryKey")

Execution Successful


Set ERwinField = ERwinIndex.CreateField("ID")

Execution Successful


ERwinIndex.Fields.Append ERwinField

Execution Successful


ERwinIndex.Primary = True
ERwinTableDef.Indexes.Append ERwinIndex

Error -2146825005 : Unknown error 0x800A0CD3

Execution Failed!" !!!
Здесь на форуме нашел что "не все свойства обзектов DAO передаются в Access, в том числе связи и индексы, поэтому приходится делать это в Access VBA..."
Это действительно так? Баг ERWin-а? Или?
таблицы то создаются, но хочется большего! Сверхестественного не прошу, всего лишь сгенерировать корректно схему :)
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33654115
grif_pet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создаю модель базы данных для СУБД InterBase 6.5 в ERWin 4.1.4.
При генерации возникает следующая пробелма: исключения создаются в таком виде CREATE EXCEPTION ERWIN_CHILD_DELETE_NOACTION "Cannot DELETE Child table because Parent table does not exist.", а СУБД жаждет видеть одиночные кавычки вместо двойных. Конечно можно экспортнуть SQL-код и спомощью поиска и замены в текстовом редакторе " на ' решить проблему, но мне хотелось бы сделать всё без извращений прямо в ERWin. Возможно ли?
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33654117
grif_pet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И вот ещ ётакой вопрос. Если я сгенерировал с помощью ERWin свою базу данных и в ней появились таблицы, индексы и т.д. и т.п., то при внесении изменений в схеме и повторной генерации возникают проблемы. Ведь чтобы пересоздать ту же таблицу надо её сначала удалить, а иначе ничего не выйдет, поэтому поставил в диалаге Shema Generator галки возле DROP везде. Не тут то было - ведь чтоб не було пробем с ключами таблицы нужно удалять в определённом порядке, чего ERWin почему-то делать не хочет. Только руками всё удалять?
...
Рейтинг: 0 / 0
Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
    #33706299
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AllFusion Modeling Suite 7 - что за зверь, никто не пробовал?
...
Рейтинг: 0 / 0
25 сообщений из 397, страница 5 из 16
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Здесь: ВСЕ вопросы по CA ErWin и AllFusion Data Modeler
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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