или как его еще называют XML ID.
Когда я импортирую товары из xml файла или через парсинг, или собираюсь сохранять id пользователя telegram, мне необходимо как-то хранить внешний id из другой системы.
Стоит ли этот external_id напрямую записывать вместо дефолтного id. Вот кажется зачем мне два id. Если external_id и так уникален.
С какими проблемами я могу столкнуться если внешний id буду записывать в поле id? Я не опытен в проектироваонии БД. Дайте совет. Не могу определиться.
Если есть какая-то статья на эту тему, буду рад есть тыкнёте меня в неё. Пока ничего не нашел.
Не надо полагаться на корректность внешних данных. Свой внутренний уникальный ключ удобнее, практичнее и надёжнее.
Спасибо за ответ
Все равно придётся думать и выбрать политику работы с ними. Потому что вот прошёл одинаковый external id, и что это? Дубликат данных или сбой на стороне поставщика?
Например, сохранить с новым внутренним id, поставить статус “кривой” и потом проверять. Тут не надо думать, это простейший шаблон.
Потом все равно думать придётся. Думать я имею ввиду анализировать.
Простейший анализ нам подсказывает, что мы не в курсе бизнес логики приложения. Не надо думать, не надо гадать.
>С какими проблемами я могу столкнуться если внешний id буду записывать в поле id? С тем, что он можэт оказаться не таким уникальным, как сегодня заявляется. Вообще -- это вопрос в первую очередь бизнес-анализа, чем DBA. Можэт ли это поле не соответствовать определению уникального ключа? Что мы будем делать, если окажэтся, что несоответствует? Например, тот жэ telegram id. Пока это один сервер telegram.org -- он почти наверняка будет уникальным. Что, если Дуров сдержыт свои обещания и сделает telegram просто протоколом? Уникальной станет связка сервер:id. Есть ли на это шансы? Потянет ли ваш проект переделку или его придётся выкидывать? Это вопросы по оцэнке рисков к БА.
И да, замечу, что я очень люблю естественные PRIMARY KEYS. Во всех временных проектах использую их массово. В чём-то надолго.. Ну, бывает, использую, но чаще стремаюсь.
Принял, понял. спасибо.
Обсуждают сегодня