Я думаю, вы можете использовать первичный ключ, чтобы показать свое намерение.Например, если вы не хотите
a, b
a, b
, то первичный ключ, определенный для Aa и Bb, сделает это более понятным.Если вас это не волнует, но у вас есть поля a, b и другие, добавление суррогатного ключа в качестве первичного ключа может помочь вам предоставить единый способ удаления ненужной строки.В противном случае вам придется удалить, где a = a и b = b и ??затем выберите значение поля из строки, которую вы хотите удалить.Тогда как с помощью суррогатного ключа вы можете просто выбрать строку и сказать «удалить», где mykey = 36 или что-то в этом роде ...
Но на самом деле это зависит от бизнес-ситуации.Многие таблицы пересечений имеют некоторый диапазон дат или дополнительные поля, связанные с отношениями, в дополнение к ключам двух таблиц.Определение первичного ключа для существующих столбцов, нового суррогатного ключа, некоторых уникальных индексов, некоторых ограничений или даже отсутствия индексов - все это может быть правильным способом действий в зависимости от ваших потребностей.
Я бы сказал, что определенно делать вседелает ваши намерения наиболее ясными.