Это называется составной ключ. Если order_no
является первичным ключом в таблице Order
, а в таблице Order_Item
существует уникальный порядковый номер в заказе, назначенном для каждой позиции заказа, т.е. все заказы имеют позиции, начинающиеся с порядкового номера 1, тогда первичный ключ для Order_Item будет order_no, item_sequence_no
.
Сравните это с сгенерированным первичным ключом для Order_Item
: вам все равно понадобится уникальный индекс для order_no, item_sequence_no
. Если вы подумаете о запросах, то, возможно, обнаружите, что больше полагаетесь на составной ключ.
Ключи, зависящие от бизнеса и системы, технически известны как ключ домена и суррогатный ключ соответственно. c2 wiki хорошо обсуждает это.