AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
CRM
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.09.2014, 13:25   #1  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Я так понимаю, речь идет об Ax2012. В "теории" альтернативный и первичные ключи имеют разную область применения.

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

Альтернативный ключ - это ключ, используемый для идентификации записи пользователем. Т.е. для поиска в различных формах и lookup.

Как правило, первичный ключ формируется автоматически и не несет в себе никакого "физического" смысла, понятного пользователю. Его можно только запомнить. Никаких ассоциаций у пользователя он не вызывает. А вот альтернативный ключ, с точки зрения пользователя, имеет некий "физический" смысл. Всегда можно сделать предположение о том, что же он в себе содержит по его "физическому" смыслу

Альтернативный ключ, как правило, значительно больше по размеру (в байтах), чем первичный ключ. Поскольку для связи с другими таблицами его значение надо записать как FK в этих самых "других" таблицах, то размер имеет существенное значение.

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

Да, разумеется, иногда размер альтернативного ключа может быть меньше размера первичного ключа. Но обычно это исключения. И в таких случаях следует все оставить "по стандарту". "Пусть безобразно, зато единообразно" (с)

Но! Это все "теория". На практике, по крайней мере в Ax2009, PrimaryIndex использовался именно как альтернативный. В Ax2009 связка PK-FK на уровне базы данных не поддерживалась. Не знаю, изменилось ли что-нибудь в Ax2012. На уровне базы данных Primary Key создается?
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
За это сообщение автора поблагодарили: mazzy (2).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как выгрузить конфигурацию ВСЕГО сервера АХ. Чтобы потом можно было ее использовать на другом сервере(другой компанией) bogdan737 DAX: Администрирование 2 20.05.2013 11:06
зачем нужен ООП в управленческих системах lev DAX: Программирование 23 23.03.2012 15:36
Как заставить отчет в ГФО учитывать сразу несколько аналитик ? George A DAX: Функционал 9 22.07.2011 14:40
axforum blogs: Можно ли снизить стоимость внедрения ERP-системы? Blog bot DAX Blogs 0 11.02.2011 15:11
зачем в dax2009 запретили создавать новые партии и серийники по строке журнала спецификации ? Logger DAX: Функционал 3 05.01.2011 19:18

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:14.