11 подписчиков
Что такое первичный ключ и почему это важно при работе с данными
Про первичный ключ обычно говорят очень быстро, типа: "ну это id, он есть и ладно."🆗
И пока всё работает, кажется, что тема вообще не стоит внимания.
➡️ Но как только система начинает расти, выясняется, что без нормальных ключей данные перестают быть надёжными.
✅ Если совсем просто, первичный ключ ➡️ это способ однозначно отличить одну запись от другой.
Не "примерно понять" или "кажется, это оно", а точно знать: вот эта запись - именно она.
➡️ Жизненный пример :
Есть таблица пользователей: имя, email, телефон - всё красиво.
И вроде кажется: ну email же уникальный, зачем ещё какой-то id?
❗️А потом:
🟡пользователь меняет почту
🟡у кого-то два аккаунта
🟡где-то email вообще необязателен
И на практике выясняется, что "уникальное поле" ➡️ это не такая уж надёжная опора...😕
✅ Вот тут и нужен первичный ключ.
Имя может измениться, email может измениться, статус может измениться.
А идентификатор ➡️ нет.
✅ Почему аналитикам важно это понимать?
Потому что требования часто звучат так:
"Нужно найти пользователя по email"
или
"Обновлять данные по номеру телефона".
❓ И если не задуматься, легко заложить логику,
которая развалится при первом же нестандартном кейсе.
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
✅ Хороший признак здоровой модели данных ➡️когда у объекта есть один понятный идентификатор, на который всё остальное спокойно ссылается.
Есть, конечно, и составные ключи, и бизнес-ключи, и куча нюансов.
Но на уровне аналитики важно уловить главное:
➿каждый объект должен уметь быть однозначно найденным➿
Если этого нет, то дальше почти всегда начинаются костыли.
📌 Самое интересное, что проблемы с ключами редко видны сразу, они всплывают позже,
когда появляются связи, начинаются интеграции или данные начинают переиспользоваться.
И тогда чинить всё становится сильно дороже....
〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️〰️
📌 Если по ходу чтения ты поймал себя на мысли "а у нас тут не всё так однозначно" - это нормальное ощущение)
Обычно с него и начинается более внимательное отношение к данным.
1 минута
5 февраля