Oracle EBS r12 - моделирование ERD без ограничений FK 'в базе данных .... сценарий преобразования? - PullRequest
0 голосов
/ 02 апреля 2012

По предмету, который я ищу, для способа моделирования Oracle EBSr12 db в стандартном инструменте моделирования (toad / sql dev data modeller и т. Д.).

Проблема в том, что Oracle не использует FK в этомбазы данных - поэтому стандартные процедуры / инструменты моделирования ERD просто не работают.

Я знаю, что все отношения FK содержатся в таблицах FND_foreign_Keys - есть ли способ их извлечения и применения к импортированным схемам в моделировщике данных (или другие инструменты), или просто создайте их в базе данных напрямую, используя извлеченные данные из этих таблиц?

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

Следует отметить, что опция «обнаружить отношения» из SQLdev / data modeler не является точной, поскольку она основана только на схемах именования - она ​​не дает сколько-нибудь значимых результатов.

С уважением

1 Ответ

0 голосов
/ 05 апреля 2012

Вы должны быть в состоянии написать SQL для FND_FOREIGN_KEYS, который создает правильно отформатированный SQL, который будет создавать внешние ключи.На этом этапе вы можете:

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

Предполагая, что макет таблицы FND_FOREIGN_KEYS:

APPLICATION_ID              NUMBER(15)   
TABLE_ID                    NUMBER(15)  
FOREIGN_KEY_ID              NUMBER(15)   
FOREIGN_KEY_NAME            VARCHAR2(30)
LAST_UPDATE_DATE            DATE   
LAST_UPDATED_BY             NUMBER(15)
CREATION_DATE               DATE
CREATED_BY                  NUMBER(15)
LAST_UPDATE_LOGIN           NUMBER(15)
PRIMARY_KEY_APPLICATION_ID  NUMBER(15)
PRIMARY_KEY_TABLE_ID        NUMBER(15)   
PRIMARY_KEY_ID              NUMBER(15)   
CASCADE_BEHAVIOR            VARCHAR2(1)
FOREIGN_KEY_RELATION        VARCHAR2(1)
DESCRIPTION                 VARCHAR2(240)
CONDITION                   VARCHAR2(2000)
ENABLED_FLAG                VARCHAR2(1)

Запись такого SQL выглядит довольно просто.

...