Ограничения в SQL Ограничения в SQL - это правило, применяемое к таблице или столбцу, которое определяет, какие данные можно вносить, а какие - нет. Каждый раз, когда вы пытаетесь выполнить операцию, изменяющую данные в таблице, – такую ​​как INSERT, UPDATE или DELETE, – СУБД проверяет, не нарушают ли эти данные какие-либо существующие ограничения. Если ограничения запрещают выполнять такую операцию, она возвращает ошибку. Данные ограничения часто применяют в БД, для того чтобы следовать определенному набору правил. Дополнительно, ограничения поддерживают целостность данных. Таблицы в БД - взаимосвязаны, и если есть фактор ошибки человека при вводе данных, то с помощью ограничений, неправильно введенные данные не смогут повлиять на отношения внутри БД, тем самым сохраняя их целостность. Ограничения определяются при создании таблицы или могут быть добавлены позже с помощью оператора ALTER TABLE (при этом ограничения не должны конфликтовать с данными, уже находящимися в таблице). Создавая ограничение, СУБД автоматически генерирует его имя, но в большинстве реализаций SQL вы можете самостоятельно выбрать имя для любого ограничения. Эти имена используются для обозначения ограничений в операторах ALTER TABLE при их изменении или удалении. Стандарт SQL формально определяет всего пять ограничений:  PRIMARY KEY  FOREIGN KEY  UNIQUE  CHECK  NOT NULL Некоторые СУБД поддерживают ключевое слово DEFAULT, которое используется для определения ненулевого стандартного значения для столбца на случай, если значение не указано при вставке строки.
Ограничение CHECK
Ограничение CHECK сужает диапазон значений, который может быть помещен в столбец. Если вы определяете ограничение CHECK для одного столбца, оно допускает только определенные значения для этого столбца. Если вы определяете ограничение CHECK для таблицы, оно может ограничить значения в определенных столбцах на основе значений в других столбцах в строке. CHECK состоит из выражения или условия, которое должно быть выполнено для каждой строки в таблице. Если выражение возвращает значение "истина", то операция выполнится успешно, иначе она будет прервана и СУБД выдаст ошибку...
06:44
1,0×
00:00/06:44
366,2 тыс смотрели · 3 года назад