@mixserby

Хорошо ли использовать id объекта стороннего сервиса как primary key в своей базе данных?

Пишу небольшой проект по анализу твитов и задался вопросом, хорошо ли использовать сторонние id как свои pk.
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
@mantyr
Пишу много Golang кода с удовольствием:)
Вариантов несколько:
  1. Источник данных сомнительный и по id не всегда можно получить один объект, иногда бывает два и более - значит использовать его как primary не стоит, стоит сделать составной primary
  2. Планируется добавить другие источники - нужен составной primary
  3. Идентификаторы на источнике слишком большие и представляют собой не число, а строку со множеством заложенных в них данных - такой идентификатор не удобно использовать в привязке по своему коду, опять таки не факт что вам нужны все милионы объектов источника
  4. Планируется связывать объекты с другими объектами, в этом случае если идентификатор не удовлетворяет принятой концепции в базе то проще его продублировать собственным сохраняя связь с источником
  5. Если можно предположить что объекты будут так же вводить вручную (через админку или как-то ещё) или понадобится продублировать несколько объектов с чуть изменёнными свойствами то не понятно как сделать auto_increment такого primary key, в этом случае может произойти коллизия и по этому использовать сторонний ключ для primary не стоит


В большинстве случаев - ответ "Нет", сторонний ключ в качестве primary использовать не стоит.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@look2009
Если сторонний сервис только один, то почему бы и нет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы