TGViewer
Базы данных (Data Base) Базы данных (Data Base) @database_info · 8.05K subscribers
Post #1746 779
Антипаттерн: значения по умолчанию NULL везде, где можно

Кажется безобидным: "Ну не знаю я сейчас значение — пусть будет NULL". Но потом:

– Джоины начинают возвращать меньше строк, чем ты ожидал.
– WHERE column = 'X' не находит ничего, потому что там NULL.
– COUNT(column) искажает статистику.
– IS NULL и COALESCE() плодятся по всему коду.

🧱 В чем корень проблемы?
По умолчанию большинство СУБД позволяют NULL, если явно не указано NOT NULL. Это приводит к схеме, где половина полей может быть «ничем», хотя такого смысла в данных нет.

📌 Как избежать?

1. Всегда указывай NOT NULL, если поле обязательно.
2. Думай, нужен ли NULL вообще. Иногда лучше завести отдельный флаг или значение по умолчанию (например, '' или 0).
3. Добавляй ограничения (CHECK), если значение должно быть в определённом диапазоне.
4. Следи за миграциями — новые поля по умолчанию тоже могут быть NULL.

✅ Вывод:
Проектируя схему, подходи к NULL осознанно. Это не просто "ничего" — это потенциальная боль при запросах и анализе.

Сохрани, чтобы не зарываться в NULL -хаос спустя полгода разработки!

📲 Мы в MAX

#db

👉 @database_info
  • 👍 2
  • 🔥 2
More from @database_info
  1. Sep 28, 2026SQL Important Queries Сохрани на потом, тебе пригодится👌 📲 Мы в MAX #db 👉 @database_inf…
  2. Sep 24, 2026Сегодня я хочу рассказать вам про одну часто недооцененную фишку в PostgreSQL - partial in…
  3. Sep 23, 2026🚀 Сегодня я покажу вам один из моих любимых хаков для PostgreSQL – генерация серий дат бе…
  4. Sep 22, 2026⚡️ Совет по работе с базами данных 💡 Уникальные индексы с исключением определенных строк…
  5. Sep 21, 2026Как быстро найти “тяжёлые” запросы в PostgreSQL Сегодня покажу простой способ найти самые…
  6. Sep 20, 2026🚀 Сегодня покажу, как быстро диагностировать «тормоза» в PostgreSQL - без всяких внешних…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →