SQL Constraint: правила и ограничения в базе данных

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

Давайте рассмотрим несколько примеров SQL-ограничений и их кодов:

1. Ограничение уникальности (UNIQUE):


CREATE TABLE Users (
  ID INT PRIMARY KEY,
  Username VARCHAR(50) UNIQUE,
  Email VARCHAR(100) UNIQUE
);

В этом примере мы создаем таблицу Users с двумя столбцами - Username и Email. Ограничение UNIQUE гарантирует, что значения в этих столбцах являются уникальными. Если мы попытаемся вставить пользователей с одинаковыми именами или электронными адресами, то система баз данных выдаст ошибку.

2. Ограничение NOT NULL:


CREATE TABLE Products (
  ID INT PRIMARY KEY,
  Name VARCHAR(50) NOT NULL,
  Price DECIMAL(10,2) NOT NULL
);

В этом примере мы создаем таблицу Products с двумя столбцами - Name и Price. Ограничение NOT NULL говорит о том, что значения в этих столбцах не могут быть пустыми. Если мы попытаемся вставить товары без указания имени или цены, то система баз данных вернет ошибку.

3. Ограничение внешнего ключа (FOREIGN KEY):


CREATE TABLE Orders (
  ID INT PRIMARY KEY,
  ProductID INT,
  CustomerID INT,
  FOREIGN KEY (ProductID) REFERENCES Products(ID),
  FOREIGN KEY (CustomerID) REFERENCES Customers(ID)
);

В этом примере мы создаем таблицу Orders с тремя столбцами - ID, ProductID и CustomerID. Ограничение FOREIGN KEY связывает столбцы ProductID и CustomerID с таблицами Products и Customers соответственно. Оно гарантирует, что значения в этих столбцах ссылаются на существующие записи в соответствующих таблицах. Если мы попытаемся вставить заказы с недопустимыми значениями ProductID или CustomerID, то система баз данных выдаст ошибку.

4. Ограничение CHECK:


CREATE TABLE Employees (
  ID INT PRIMARY KEY,
  Name VARCHAR(50),
  Age INT,
  Salary DECIMAL(10,2),
  CONSTRAINT CK_Employees CHECK (Age >= 18 AND Salary >= 1000)
);

В этом примере мы создаем таблицу Employees с четырьмя столбцами - ID, Name, Age и Salary. Ограничение CHECK определяет условие (Age >= 18 AND Salary >= 1000), которое должно быть истинным для вставляемых записей. Если мы попытаемся вставить сотрудников младше 18 лет или с зарплатой меньше 1000, то система баз данных выдаст ошибку.

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

Похожие вопросы на: "sql constraint "

Permission Denied - Отказано в доступе
JS console.log - вывод сообщений в консоль браузера
Защищенный Java: основные принципы безопасности программирования
Генерация случайных чисел с библиотекой NumPy
Градус Цельсия на клавиатуре: как набрать символ
Генератор списков Python
HTML lang - основы языка разметки страницы
Использование метода reduce() в JavaScript для работы с массивами
Usleep - все о сне и его регулировании
Python append: метод для добавления элемента в конец списка