в общем, должна ли каждая таблица в базе данных иметь поле идентификатора для использования в качестве PK?

Это выглядит как дубликат, даже когда я его спрашиваю, но я искал и не нашел его. Это кажется хорошим вопросом для SO - хотя я уверен, что смогу найти его во многих блогах и т. Д. ТАК будет больше споров, чем вы можете получить в блоге.

У меня проблема с объединением: я получаю слишком много записей. Я думаю об этом как о "расширении". Я добавил таблицу к набору объединений, и число строк увеличилось слишком сильно. Обычно, когда это происходит, я добавляю выбор всех полей идентификаторов, которые участвуют в объединении. Таким образом, довольно очевидно, где происходит расширение, и я могу изменить ON объединения, чтобы исправить это. За исключением этого случая, таблица, которую я добавил, не имеет поля идентификатора. Для меня это проблема. Но, возможно, я ошибаюсь.

Вопрос: должна ли каждая таблица в базе данных иметь поле IDENTITY, которое используется в качестве PK? Есть ли недостатки наличия поля идентификатора в каждой таблице? Что если вы достаточно уверены, что эта таблица никогда не будет использоваться в отношениях PK / FK?

Связанные, но не дубликаты:Когда наличие столбца идентификаторов не является хорошей идеей?

Видимо эта дискуссия былапроисходит некоторое время, Должно быть известно.

Эта почта (суррогат против природных ключей) также имеет значение.

Ответы на вопрос(10)

Ваш ответ на вопрос