|
|
#1 |
|
Участник
|
Рефлексивные связи в таблицах
Зачем на некотрые таблицы навешаны связи, в которых ключевые поля ссылаются сами на себя? (Например в таблице Dimensions)
|
|
|
|
|
#2 |
|
Участник
|
Отличный вопрос!
Начал отвечать и почувстввал, что вру. Начал проверять. Я не нашел ответа на этот вопрос, но узнал много нового. Давно не было вопросов, которые позволяют узнать новое. Спасибо. Начну отечать как хотел изначально, может кто знает правильный ответ и поправит. Связи на себя нужны для того, чтобы можно было бы открыть подчиненные элементы. По крайней мере, когда я создавал свои модули, то использовал подобные связи именно с такой целью. Но. Когда я посмотрел в проекты, действия, заказы, затраты по целям, то увидел, что связь родитель подчиненный делается вручную, а не с помощью Relations. Кроме того, аналитики являются линейными и в таблице Dimension данная связь вообще не нужна. Поэтому в данном случае, это предположение отпадает. Кроме того, перекрестные ссылки показывают, что этот Relation никем не используется. Поэтому пока я склонен отнести связь Num в таблице Dimension к забытым объектам. Сначала хотели для чего то использовать, а потом забыли. Но вопрос очень интересный. Надо будет еще подумать. |
|
|
|
|
#3 |
|
Banned
|
"Рефлексивные" связи делаются для того, чтобы была возможность переименования ключевого поля в таблице. Если ключевое поле таблицы не основано на расширенном типе данных, который указывает на само поле таблицы (как, например, AccountNum в LedgerTable), приходится делать такие связи.
|
|
|
|
| За это сообщение автора поблагодарили: mazzy (2). | |
|
|
#4 |
|
Участник
|
Несколько корявый способ указать на параметры переименования ключевого поля. Тем более, что лишняя связь на таблице сильно мешает - приходиться выбирать, какая важнее. И Люкапы выпадают где ненадо, смущая пользователя...
|
|
|
|
|
#5 |
|
Banned
|
Да уж какой есть.
|
|
|
|
|
#6 |
|
Участник
|
Цитата:
Изначально опубликовано EVGL
чтобы была возможность переименования ключевого поля в таблице. Спасибо. |
|
|
|
|
#7 |
|
Участник
|
А не могли бы вы пояснить механизм переименования ключевого поля? Как я понимаю, для этого используется common.renamePrimaryKey().
И другой интересный вопрос: как работает (и работает ли) common.merge(). Почему-то в форме sysRecordInfo, которая позволяет переименовывать первичный ключ, функциональность слияния записей, которая там есть, отключена. |
|
|
|
|
#8 |
|
Продавец игрушек
|
Хочу предостеречь, чтобы на грабли не наступили:
http://www.axforum.info/forums/searc...rder=ascending
__________________
С уважением, Роман Кошелев. |
|
|
| Теги |
| renameprimarykey, полезное |
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| Обновление поля с определённым типом во всех таблицах. | 1 | |||
| Сводное планирование и тип связи операции | 6 | |||
| Связи между таблицами. | 7 | |||
|