Введение в ограничения SQL
Ограничения SQL - это условия, которые применяются к столбцам таблицы, чтобы ограничить прием столбцом определенных значений или просто убедиться, что определенное условие выполняется для каждого значения в столбце. Ограничения предлагают классический механизм для сохранения целостности и правильности данных в таблице.
В SQL у нас много разных видов ограничений. Давайте посмотрим на следующие несколько ограничений в этой статье.
- НЕ НОЛЬ
- ПРОВЕРИТЬ
- УНИКАЛЬНАЯ
- ПЕРВИЧНЫЙ КЛЮЧ
- ИНОСТРАННЫЙ КЛЮЧ
- ДЕФОЛТ
Различные виды ограничений SQL
1. НЕ NULL ограничение
Это ограничение используется, когда вы не хотите, чтобы какое-либо значение в этом конкретном столбце было нулевым значением. Это означает, что мы не можем вставить значение Null для этого столбца при вставке новой строки в таблицу. Каждое поле в этом столбце всегда имеет ненулевое значение. Нулевое значение означает, что определенное поле оставлено пустым, а значения, такие как ноль или пробел, не подпадают под значения Null.
Давайте рассмотрим пример создания таблицы с именем Employee, имеющей 5 столбцов, где столбцы empid, name и mobile не принимают значения NULL.
CREATE TABLE Employee (
empid INT NOT NULL,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL,
address VARCHAR(20)
);
2. Проверьте ограничение
Это ограничение ограничивает значения, которые можно вводить в этот конкретный столбец таблицы. Чтобы лучше это понять, давайте возьмем пример прохождения оценки на экзамене. Диапазон значений для этих меток может быть только от 35 до 100. Чтобы обеспечить ввод только значений в этом диапазоне, мы можем создать ограничение CHECK.
Давайте рассмотрим пример создания ограничения CHECK на заработную плату работников.
CREATE TABLE Employee (
empid INT NOT NULL,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL,
salary INT CHECK (salary >= 15000 AND salary <= 30000),
address VARCHAR(20)
);
3. Уникальные ограничения
Это ограничение применяется, чтобы гарантировать, что конкретный столбец принимает только уникальные значения, а повторяющиеся значения не допускаются с таким ограничением для столбца. Мы можем создать несколько уникальных ограничений для различных столбцов в таблице. Ограничение UNIQUE позволяет вводить значения NULL.
Давайте посмотрим на пример применения ограничения UNIQUE. В этом примере мы создаем столбец с именем mobile в таблице Employee, который должен быть уникальным и не может принимать один и тот же номер мобильного телефона дважды.
CREATE TABLE Employee (
empid INT NOT NULL,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL UNIQUE,
address VARCHAR(20)
);
4. ПЕРВИЧНЫЕ КЛЮЧЕВЫЕ УСЛОВИЯ
Это ограничение используется для идентификации определенного столбца или группы столбцов, которые могут однозначно идентифицировать строку в таблице. При наличии ограничения PRIMARY KEY ни одна строка не может иметь повторяющееся значение. Мы не можем иметь значение NULL в качестве значения для такого столбца. Несмотря на то, что ограничение PRIMARY KEY и ограничение UNIQUE налагают, что значения должны быть уникальными, мы используем ограничение UNIQUE для случаев, когда мы не хотим объявлять столбец как первичный ключ, но все же хотим, чтобы значения в этом столбце были уникальными., У нас может быть только один столбец PRIMARY KEY или группа столбцов в таблице, но мы можем объявить множество отдельных столбцов УНИКАЛЬНЫМИ.
Давайте рассмотрим пример таблицы Employee, в которой создаются уникальные идентификаторы сотрудников, поэтому мы можем объявить столбец empid как ПЕРВИЧНЫЙ КЛЮЧ.
CREATE TABLE Employee (
empid INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL UNIQUE,
address VARCHAR(20)
);
5. ЗАКЛЮЧЕНИЕ ИНОСТРАННЫХ КЛЮЧЕЙ
Это ограничение помогает данным в одной таблице установить связь с данными в другой таблице в базе данных. Внешний ключ может быть одним столбцом или набором столбцов. Давайте рассмотрим две таблицы: сотрудник и отделы. Предположим, у нас есть столбец с названием «Сотрудник» и «Отклоненный» в отделах. Мы можем сослаться на покойного сотрудника на покойного департамента, если столбцы совпадают. В этом случае столбец в Employee становится ссылкой внешнего ключа на столбец таблицы Department, который является первичным ключом.
CREATE TABLE Employee (
empid INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL UNIQUE,
address VARCHAR(20),
depicted INT FOREIGN KEY REFERENCES Department(depicted)
);
6. Ограничение по умолчанию
Это ограничение используется для указания значения по умолчанию для определенного столбца в таблице. Таким образом, если для этого столбца значение явно не вставлено, ядро базы данных всегда может обратиться к указанному значению по умолчанию и вставить его в столбец. Предположим, что мы вставили столбец с ограничением NOT NULL, а также с ограничением DEFAULT, тогда нам не нужно явно определять значение по умолчанию. Даже без указания значения по умолчанию, конкретная строка будет вставлена в таблицу.
Давайте посмотрим на пример, где мы ввели место в адресе по умолчанию, чтобы иметь значение «Индия».
CREATE TABLE Employee (
empid INT NOT NULL PRIMARY KEY,
name VARCHAR(20) NOT NULL,
dob DATE,
mobile VARCHAR(10) NOT NULL UNIQUE,
address VARCHAR(20) DEFAULT 'India',
depicted INT FOREIGN KEY REFERENCES Department(depicted),
);
Вывод
Ограничения SQL помогают разработчику, определяя ограничения и правила для данных, которые должны быть вставлены в таблицу. Ограничения могут быть применены на уровне столбца, только к определенному столбцу или на уровне таблицы, где ограничения применяются к полной таблице. Эти ограничения ограничивают вид информации, которая может быть вставлена в таблицу. Это гарантирует правильность и согласованность данных в таблице. В случае каких-либо нарушений правил, указанных в ограничениях, действие прекращается.
Рекомендуемые статьи
Это руководство по ограничениям SQL. Здесь мы обсуждаем введение в SQL-ограничения, а также различные виды SQL-ограничений, которые включают в себя Not Null, Check, Unique, Primary, Foreign и Default Constraints. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -
- База данных в SQL
- Использование SQL
- Таблица в SQL
- Внешний ключ в SQL
- Сравнение первичного ключа с внешним ключом