Это похоже на дубликат, даже когда я его прошу, но я искал и не нашел его. Это похоже на хороший вопрос для SO - хотя я уверен, что могу найти его на многих блогах и т.д. Там. У SO будет больше дебатов, чем вы можете получить в блоге.
У меня возникла проблема с соединением: возврат слишком большого количества записей. Я думаю об этом как о "расширении". Я добавил таблицу в набор объединений и количество строк, расширенных, слишком много. Обычно, когда это происходит, я добавляю выбор всех полей идентификатора, которые участвуют в соединении. Таким образом, это довольно очевидно, когда происходит расширение, и я могу изменить ON соединения, чтобы исправить это. За исключением этого случая, таблица, которую я добавил, не имеет поля идентификатора. Для меня это проблема. Но, возможно, я ошибаюсь.
Вопрос: должна ли каждая таблица в базе данных иметь поле IDENTITY, которое используется как ПК? Существуют ли какие-либо недостатки в отношении наличия поля идентификатора в каждой таблице? Что, если вы уверены, что эта таблица никогда не будет использоваться в отношениях PK/FK?
Связанный, но не повторяющийся: Когда наличие столбца идентификации не является хорошей идеей?
По-видимому, эта дискуссия длилась . Должен знать.
Это сообщение (суррогатное и естественное) также актуально.