Пример ограничений SQL | Общие сведения об ограничениях SQL

Ограничения SQL — это правила, используемые для ограничения типа данных, которые могут входить в таблицу, для поддержания точности и целостности данных внутри таблицы. Ограничения можно разделить на следующие два типа:

  1. Ограничения на уровне столбца: ограничивает только данные столбца.
  2. Ограничения на уровне таблицы: ограничивает данные всей таблицы.

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

Ограничения — это набор правил, применяемых к столбцам данных таблицы. Они используются для ограничения типа данных, которые могут входить в таблицу. Он обеспечивает точность, целостность и надежность данных в базе данных SQL.

Ограничения в SQL используются для обеспечения целостности данных в базе данных.

См. следующие наиболее часто используемые ограничения, которые можно применить к таблице.

  1. NOT NULL
  2. UNIQUE
  3. PRIMARY KEY
  4. FOREIGN KEY
  5. ПРОВЕРИТЬ
  6. ПО УМОЛЧАНИЮ

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

NOT NULL ограничивает столбец от значения NULL. Если к столбцу применяется ограничение NOT NULL , вы не можете передать в этот столбец нулевое значение. Он заставляет столбец содержать правильное значение. Пустое завещание не должно быть в этом столбце для каждой таблицы.

Обычно столбец идентификатора в таблице SQL содержит ограничение NOT NULL.

См. следующий запрос ограничения NOT NULL.

 CREATE TABLE Singer (id int NOT NULL, Name varchar (60) NOT NULL, Song  varchar (60)); 

В приведенном выше запросе будет объявлено, что поля id и Name в Таблица Singer не будет принимать значение NULL.

#SQL PRIMARY KEY Constraint

Мы рассмотрели первичный ключ в этом блоге. Первичный ключ — это поле в таблице, которое используется для однозначной идентификации строки в таблице. Если столбец имеет ограничение первичного ключа, он будет содержать уникальные значения и не сможет содержать никаких значений NULL .

Следующий оператор SQL создает таблицу с именем инвесторы и задает столбец id в качестве первичного ключа. Это означает, что поле id не допускает NULL или повторяющихся значений.

 СОЗДАТЬ ТАБЛИЦУ инвесторов (id INT NOT NULL PRIMARY KEY, name VARCHAR (30) NOT NULL  , сумма портфеля INT, имя_фонд VARCHAR (50)); 

В приведенном выше запросе мы создадим таблицу инвесторов, в которой столбец id является первичным ключом. Вы не можете добавить значение NULL в столбец первичного ключа. Итак, столбец id теперь имеет два ограничения SQL. Следует помнить, что длина первичного ключа не может превышать 900 байт..

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

UNIQUE ограничение гарантирует, что поле или столбец будут иметь только уникальные значения. Поле ограничения UNIQUE не будет содержать повторяющихся данных. Ограничение уникальности может применяться на уровне столбца или на уровне таблицы.

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

ограничение #UNIQUE на уровне таблицы

Здесь у нас есть простой запрос CREATE для создания таблицы, в которой будет столбец app_id с уникальные ценности. См. Следующий запрос.

 CREATE TABLE Apps (app_id int NOT NULL UNIQUE, Name varchar (60), Price int); 

#UNIQUE ограничение на уровне столбца

Здесь мы должны использовать запрос Alter table, чтобы назначить ограничение уникальности определенному полю.

См. следующее запрос.

 ALTER TABLE Apps ADD UNIQUE (app_id); 

В приведенном выше запросе указано, что поле app_id в Таблица приложений будет иметь только уникальное значение.

# Ограничение внешнего ключа SQL

У нас также есть рассмотрели ограничение внешнего ключа здесь, в этом блоге. Внешний ключ SQL используется для формирования связи между двумя таблицами, что делает его ссылочным ключом. FOREIGN KEY используется для связи двух таблиц. Ограничение FOREIGN KEY также используется для ограничения действий, которые могут разрушить связи между таблицами. Давайте посмотрим на его использование с помощью двух таблиц.

Инвесторы

i_id имя инвестора адрес
101 KRUNAL Noida
102 ANKIT Дели
103 RUSHABH Rohtak

Сотрудники

e_id employee_age i_id
10 26 101
11 24 103
12 26 102

В приведенном выше примере есть две таблицы.

  1. Инвесторы
  2. Сотрудники

Теперь две указанные выше таблицы связаны с помощью внешнего ключа, который называется

В таблице инвесторов есть первичный ключ с именем i_id , а в таблице «Сотрудники» есть внешний ключ с именем

Если вы попробуйте вставить неверные данные, СУБД вернет ошибку и не позволит вам вставить какие-либо данные.

Таким образом, это предотвратит добавление любых вредоносных значений, являющихся манипулятивными значениями. Вы должны быть очень осторожны при редактировании, обновлении или удалении данных между этими таблицами.

Если что-то пойдет не так, то вся система будет вести себя неестественно и с ошибками.

# Использование ограничения FOREIGN KEY на уровне таблицы

См. следующий запрос.

 CREATE table Employees (e_id int PRIMARY KEY, employee_age varchar (60) NOT NULL, i_id int FOREIGN KEY REFERENCES Investors (i_id)); 

Итак, в выше, мы определили связь между таблицами с помощью i_id.

Столбец i_id в ссылке на таблицу Employees из Таблицы инвесторов.

# Использование ограничения FOREIGN KEY на уровне столбца

См. Следующий запрос.

 ALTER table Сотрудники ДОБАВЛЯТЬ ИНОСТРАННЫЙ КЛЮЧ (i_id) ССЫЛКИ Инвесторы (i_id); 

Здесь мы использовали запрос Alter, чтобы добавить ограничение внешнего ключа в таблицу сотрудников.

# Поведение столбца внешнего ключа при удалении

Есть два способа сохранить целостность данных в дочерней таблице, когда конкретная запись удаляется из основная таблица. Когда две таблицы связаны через внешний ключ, и определенные данные в основной таблице удалены, для которых запись существует в дочерней таблице, тогда у нас должен быть какой-то механизм для сохранения этой целостности данных в дочерней таблице.

    1. При каскаде удаления: он удалит запись из дочерней таблицы, если это значение внешний ключ удаляется из основной таблицы.
    2. При удалении нуля: он устанавливает все значения в этой записи дочерней таблицы как NULL , для которого значение внешнего ключа удаляется из основной таблицы.
    3. Если мы не используем ничего из вышеперечисленного, мы не сможем удалить данные из основной таблицы, для которой существуют данные в дочерней таблице. Если мы попытаемся это сделать, мы получим ошибку.
 ОШИБКА: существует запись в дочерней таблице 

Ограничение #Check

CHECK используется для ограничения значения столбца между диапазоном.

Он выполняет проверку значений перед их сохранением в базе данных. Подобное условие проверялось перед сохранением данных в столбце.

# Использование ограничения CHECK на уровне таблицы

 CREATE table Student (  id int NOT NULL CHECK (id> 0), Name varchar (60) NOT NULL, Age int); 

Приведенный выше запрос ограничит значение id до быть больше нуля.

# Использование ограничения CHECK на уровне столбца

См. следующий запрос.

 ALTER table Student ADD CHECK (id> 0); 

#DEFAULT Constraint

Ограничение DEFAULT предоставляет значение по умолчанию значение в столбец, когда оператор INSERT INTO не предоставляет конкретное значение.

# Использование ограничения DEFAULT на уровне таблицы

  СОЗДАТЬ ТАБЛИЦУ КЛИЕНТОВ (ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, ADDRESS CHAR (100), SALARY DECIMAL (18, 2) DEFAULT 100000). 00, PRIMARY KEY (ID)); 

# Использование ограничения DEFAULT на уровне столбца

Если таблица уже создана , то мы можем использовать оператор Alter table для назначения ограничения по умолчанию. См. Следующий запрос.

 ALTER TABLE CUSTOMERSALTER SALARY SET DEFAULT 100000; 

Наконец, пример ограничений SQL | Понимание ограничений SQL окончено.

Оцените статью
nanomode.ru
Добавить комментарий