TGViewer
SQL Ready | Базы Данных SQL Ready | Базы Данных @sql_ready · 17.5K subscribers
Post #1164 3.15K
CHECK — встроенный контроль качества данных!

Он помогает базе сразу отбраковывать мусорные или аномальные значения, не дожидаясь ошибок в приложении или аналитике.

Пример: таблица заказов
CREATE TABLE orders (
order_id INT PRIMARY KEY,
customer_id INT NOT NULL,
total_amount DECIMAL(10,2) NOT NULL CHECK (total_amount >= 0),
status VARCHAR(20) NOT NULL CHECK (status IN ('new', 'pending', 'shipped'))
);


Попытка вставить некорректное значение:
INSERT INTO orders VALUES (1, 101, -500, 'new');
-- ERROR: check constraint violated


Можно добавлять бизнес-правила:
ALTER TABLE orders
ADD CONSTRAINT chk_min_total CHECK (total_amount >= 100);


Но если в таблице уже есть строки с total_amount < 100, СУБД выдаст ошибку.

🔥 Так что, CHECK — это встроенный «охранник» базы, предотвращающий ошибки ещё до попадания данных в аналитику или отчёты.

➡️ SQL Ready | #практика
  • ❤ 19
  • 👍 8
  • 🔥 7
More from @sql_ready
  1. Oct 9, 2026❤️ sqlite-postgres-cours — большой практический курс по базам данных! Материал ведёт от пе…
  2. Oct 8, 2026Почему UNIQUE допускает несколько NULL в PostgreSQL! Ограничение UNIQUE гарантирует уникал…
  3. Oct 7, 2026📂 Шпаргалка по паттернам распределённых систем! Например, Replication повышает доступност…
  4. Oct 6, 2026Проверяйте связи с учётом периода! В PostgreSQL 18 связь может учитывать ещё и период его…
  5. Oct 6, 2026👍 Устройство PostgreSQL — подробная документация на русском языке! Материалы посвящены не…
  6. Oct 5, 2026COUNT(*) в PostgreSQL: MVCC, visibility map и стоимость выполнения! В PostgreSQL точный CO…
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 →