Ограничения в SQL

  Юрий  | 

  |

  Обновл. 18 Фев 2023  | 

 1592

В SQL мы можем применить правила к столбцу, известные как ограничения. Эти правила относятся к данным, которые могут храниться в столбце. Например, если столбец имеет ограничение NOT NULL, то он не сможет хранить значения NULL.

В SQL используются следующие ограничения:

Ограничение Описание
NOT NULL Значения не могут быть NULL.
UNIQUE Значения должны быть уникальными и не могут совпадать с уже существующими.
PRIMARY KEY Используется для уникальной идентификации строки.
FOREIGN KEY Ссылается на строку в другой таблице.
CHECK Проверяет условие для вставки нового значения.
DEFAULT Устанавливает значение по умолчанию, если оно не передано.
CREATE INDEX Используется для ускорения процесса поиска/чтения данных.

Примечание: Эти ограничения также называются ограничениями целостности данных.

Ограничение NOT NULL

Ограничение NOT NULL означает, что столбец не может хранить значения NULL. Например:

Здесь столбцы college_id и college_code таблицы Colleges не могут иметь значения NULL.

Ограничение UNIQUE


Ограничение UNIQUE означает, что столбец должен иметь уникальное значение. Например:

Здесь значение столбца college_code должно быть уникальным. Точно так же значение college_id должно быть уникальным, к тому же еще и без значений NULL.

Ограничение PRIMARY KEY

Ограничение PRIMARY KEY — это просто комбинация ограничений NOT NULL и UNIQUE. Это означает, что значение столбца используется для уникальной идентификации строки. Например:

Здесь значение столбца college_id является уникальным идентификатором строки. К тому же он не может хранить значение NULL и должен быть уникальным (UNIQUE).

Ограничение FOREIGN KEY


Ограничение FOREIGN KEY (в некоторых СУБД ограничение REFERENCES) в столбце используется для ссылки на данные из другой таблицы. Например:

Здесь значением customer_id в таблице Orders должно быть значение из столбца id таблицы Customers.

Ограничение CHECK

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

Здесь значение столбца amount должно быть больше или равно 100. В противном случае SQL выдаст ошибку.

Ограничение DEFAULT


Ограничение DEFAULT используется для установки значения по умолчанию, если мы пытаемся поместить NULL в столбец. Например:

Здесь значением по умолчанию для столбца college_country является Japan. Если мы попытаемся поместить значение NULL в столбец college_country, то значением все равно будет Japan.

Ограничение CREATE INDEX

Если столбец имеет ограничение CREATE INDEX, то извлечение данных произойдет быстрее, если мы будем использовать именно этот столбец для получения данных. Например:

Здесь мы создаем индекс с именем college_index в таблице Colleges, используя столбец college_code.

Примечание: Индекс — это объект базы данных, создаваемый с целью повышения производительности поиска данных. Таблицы в базе данных могут иметь большое количество строк, которые хранятся в произвольном порядке, и их поиск по заданному критерию путем последовательного просмотра таблицы строка за строкой может занимать много времени. Словно закладка в книге, индекс помогает быстро получить доступ к требуемым данным в таблице, согласно SQL-запросу. Таким образом, использование индексов позволяет ускорить получение данных.

Примечание: Увидеть разницу в скорости при малом количестве данных в таблице проблематично. Однако при большом количестве данных можно легко заметить разницу в скорости между использованием индексов и без них.

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (3 оценок, среднее: 3,67 из 5)
Загрузка...

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *