Обмеження в SQL

  |
 3543

У 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 Зірок (9 оцінок, середня: 5,00 з 5)
Завантаження...

Залишити відповідь

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