Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Новый топик    Ответить
 Назначение представления SYSCAT.CONSTDEP  [new]
ASukhov1986
Member

Откуда: РФ, Москва
Сообщений: 249
Здравствуйте!
У меня в представлении SYSCAT.KEYCOLUSE для таблицы CSM_ATTR содержаться следующие данные:
CONSTNAME TABSCHEMA TABNAME COLNAME COLSEQ
FK_CSM_CSMFKMETR CSM_ATTRCSM_CODE1
FK_CSM_PARENTMETR CSM_ATTRPARENT_CODE1
PK_CSM_ATTRMETR CSM_ATTRCSM_CODE1
PK_CSM_ATTRMETR CSM_ATTRID2
SQL170421152518340METR CSM_ATTRSESS_ID1


Как я понял, исходя из текста документации, в представлении содержится перечень используемых столбцов, которые входят в состав ключа, определенного как уникальный, первичный или внешний
цитата из документации
Each row represents a column that participates in a key defined by a unique, primary key, or foreign key constraint
.

У меня в представлении SYSCAT.CONSTDEP для таблицы CSM_ATTR содержаться следующие данные:
CONSTNAMETABSCHEMATABNAMEBTYPEBSCHEMA BNAME
PK_CSM_ATTRMETR CSM_ATTRIMETR PK_CSM_ATTR


Вопрос: почему в представлении SYSCAT.CONSTDEP отображается первичный ключ, а внешние ключи не отображаются?
P.S. в документации я этот факт не нашел
цитата из документации
Each row represents a dependency of a constraint on some other object. The constraint depends on the object of type BTYPE of name BNAME, so a change to the object affects the constraint.
27 июн 18, 12:36    [21524837]     Ответить | Цитировать Сообщить модератору
 Re: Назначение представления SYSCAT.CONSTDEP  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4788
ASukhov1986,

Добрый день.

В SYSCAT.CONSTDEP нет зависимостей объектов от таблиц.
Для внешних ключей используйте SYSCAT.REFERENCES.
27 июн 18, 13:39    [21525084]     Ответить | Цитировать Сообщить модератору
 Re: Назначение представления SYSCAT.CONSTDEP  [new]
ASukhov1986
Member

Откуда: РФ, Москва
Сообщений: 249
Mark Barinstein,

если честно не совсем понятно, содержимое данного представления
27 июн 18, 14:07    [21525198]     Ответить | Цитировать Сообщить модератору
 Re: Назначение представления SYSCAT.CONSTDEP  [new]
ASukhov1986
Member

Откуда: РФ, Москва
Сообщений: 249
Mark Barinstein,
Т.е. получается в данном представлении отображаются только primary key constraint?
27 июн 18, 14:23    [21525247]     Ответить | Цитировать Сообщить модератору
 Re: Назначение представления SYSCAT.CONSTDEP  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4788
ASukhov1986
если честно не совсем понятно, содержимое данного представления

ПолеОписание
CONSTNAMEИмя FK дочерней таблицы
TABSCHEMAСхема дочерней таблицы
TABNAMEИмя дочерней таблицы
REFKEYNAMEИмя PK/UC родтительской таблицы
REFTABSCHEMAСхема родительской таблицы
REFTABNAMEИмя родительской таблицы
27 июн 18, 15:34    [21525499]     Ответить | Цитировать Сообщить модератору
 Re: Назначение представления SYSCAT.CONSTDEP  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4788
ASukhov1986
Т.е. получается в данном представлении отображаются только primary key constraint?

Если вы про SYSCAT.CONSTDEP, то там могут быть, например, зависимости:
- PK/UC от индекса, который их поддерживает
- ограничения от функции, которая используется в выражении
27 июн 18, 15:38    [21525511]     Ответить | Цитировать Сообщить модератору
 Re: Назначение представления SYSCAT.CONSTDEP  [new]
ASukhov1986
Member

Откуда: РФ, Москва
Сообщений: 249
Mark Barinstein,
почему то в моем запросе нет таких столбцов REFKEYNAME; REFTABSCHEMA; REFTABNAME.
27 июн 18, 15:53    [21525562]     Ответить | Цитировать Сообщить модератору
 Re: Назначение представления SYSCAT.CONSTDEP  [new]
Mark Barinstein
Member

Откуда: Москва
Сообщений: 4788
ASukhov1986
почему то в моем запросе нет таких столбцов REFKEYNAME; REFTABSCHEMA; REFTABNAME.

SYSCAT.REFERENCES
27 июн 18, 15:59    [21525594]     Ответить | Цитировать Сообщить модератору
Все форумы / IBM DB2, WebSphere, IMS, U2, etc Ответить