2012-06-05 2 views
0

Задает внешний ключ в качестве суррогата расходов на родительский стол?суррогатные ключи как внешний ключ

Поскольку я должен присоединиться к этой родительской/справочной таблице, чтобы показать натуральный ключ.

Но почему лучше установить внешний ключ как спуск для ссылки на таблицу.

ответ

1

Это дорого в смысле, что вам понадобится ПРИСОЕДИНЕНИЕ в некоторых ситуациях, когда это не было бы необходимо с помощью естественного ключа (как вы уже отметили). Кроме того, естественные ключи обычно играют лучше с clustering, и иногда это необходимо для correctly modelling diamond-shaped dependencies.

С другой стороны, использование суррогатного ключа «skinnier» может сэкономить место и упростить обновление (особенно при наличии нескольких уровней FK).

Ни один подход не является абсолютно «лучшим». Это вопрос компромисса.

Смежные вопросы