Показать сообщение отдельно
Старый 09.09.2014, 15:11   #8  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5803 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от kitty Посмотреть сообщение
1) Что перестанет работать, если я просто укажу SymbolIdx в качестве первичного?
Как минимум на формах, в отладчике и тому подобных местах перестанет работать автоподстановка значения альтернативного ключа (UnitId) вместо значения UnitOfMeasure.RecId, а на ЕИ по RecId ссылается очень-очень много таблиц.
Цитата:
Сообщение от kitty Посмотреть сообщение
2) Если связи не по суррогатному ключу, а по другому полю, то можно ли оставлять первичным суррогат?
Почему нет? Особенно если речь о стандартной таблице. А уж как вы в кастомизациях ссылаетесь на ее записи - это дело ваше.
Цитата:
Сообщение от kitty Посмотреть сообщение
3) Есть ли случаи, когда все связи построены по суррогатному ключу, но нужно указывать другой уникальный ключ в качестве первичного?
Кому нужно? Это чисто гипотетический вопрос?
Цитата:
Сообщение от kitty Посмотреть сообщение
Я пока поэкспериментировала и кроме как логического смысла, в поведении системы разницы не вижу в зависимости от того, суррогат первиченным указан или другой уник индекс.
Разница есть как минимум в работе ReferenceGroup на формах: эти контролы, насколько я знаю, "не умеют" работать по FK, отличным от суррогатных ключей.