Database
 sql >> база данни >  >> RDS >> Database

Какво представляват SQL ограниченията и различните му типове?

Тъй като в базите данни присъстват големи количества данни, за всички нас е много важно да увеличим точността и надеждността на данните, присъстващи в базата данни. Е, SQL ограниченията се използват за поддържане на същото. Има различни видове ограничения, които могат да се използват. В тази статия ще обсъдя тези ограничения с примери.

Следните теми ще бъдат разгледани в тази статия:

  1. Какво са ограниченията?
  2. Ограничения, налични в SQL:
      • Ограничение NOT NULL
      • УНИКАЛНО ограничение
      • ПРОВЕРИТЕ Ограничение
      • Ограничение по подразбиране
      • Ограничение INDEX

Какво представляват SQL ограниченията?

SQL ограниченията се използват за определяне на правилата за данните в таблица. Те се използват за ограничаване на типа данни, които трябва да се съхраняват в базата данни, и имат за цел да повишат точността и надеждността на данните, съхранявани в базата данни.

И така, ограниченията гарантират, че няма нарушение по отношение на транзакция на данните, но все пак има открити нарушения; действието се прекратява.

Има два типа ограничения, които могат да бъдат приложени:

  1. Ограничения на ниво колона – Тези ограничения се прилагат към една колона
  2. Ограничения на ниво таблица – Тези ограничения са приложението към пълната таблица

Продължавайки напред в тази статия, нека разберем различните видове ограничения. Освен това ще разгледам следната таблица, за да ви помогна да разберете по-добре.

Налични са различни SQL ограничения:

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

Ограничението NOT NULL гарантира, че колоната не може да има стойност NULL. Можете да използвате ограничението NOT NULL или докато създавате базата данни на таблицата, или докато я модифицирате.

Пример

Ограничение NOT NULL за CREATE TABLE

Напишете заявка за създаване на горната таблица Students, където StudentID и StudentName не могат да бъдат NULL.

CREATE TABLE Students( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, City varchar(255) );

Ограничение НЕ NULL за ALTER TABLE

Напишете заявка, за да промените горната таблица Students, където трябва да се добави нова колона с DOB и тя не трябва да има стойности NULL.

ALTER TABLE Students ADD COLUMN DOB year NOT NULL;

Продължавайки в тази статия за SQL ограниченията, нека разберем как да използваме ограничението UNIQUE.

УНИКАЛНО ограничение

Ограничението UNIQUE се използва, за да се гарантира, че всички стойности в колона са уникални. Можете да използвате ограничението UNIQUE или за множество колони, или за една колона с. Освен това можете да продължите напред и да използвате ограничението UNIQUE, за да промените съществуващите таблици.

Забележка:

  1. Докато създавате таблици, ограничението ПЪРВЕН КЛЮЧ автоматично има ограничение УНИКАЛНО, за да се гарантира уникалността на колона.
  2. Една таблица може да има много УНИКАЛНИ ограничения, но може да има ограничение с един първичен ключ.

Пример:

УНИКАЛНО ограничение за CREATE TABLE

Напишете заявка за създаване на таблица Студенти, с колони StudentID, StudentName, Age и City. Тук StudentID трябва да е уникален за всеки запис.

CREATE TABLE Students ( 
StudentID int NOT NULL UNIQUE, 
StudentName varchar(255) 
NOT NULL, Age int, City varchar(255) );

Наименувайте УНИКАЛНО ограничение за множество колони

За да наименувате уникално ограничение и да го дефинирате за множество колони, можете да се обърнете към следния пример:

Напишете заявка за създаване на таблица Студенти, с колони StudentID, StudentName, Age и City. Тук StudentID и StudentName трябва да бъдат уникални за всеки запис.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255) CONSTRAINT Stu_Example 
UNIQUE (StudentID,StudentName) );

Тук Stu_Example е името, дадено на уникалното ограничение, приложено към StudentID и StudentName.

УНИКАЛНО ограничение за ALTER TABLE

Напишете заявка за промяна на таблицата Students, където трябва да се добави ограничение UNIQUE към колоната StudentID.

ALTER TABLE Students ADD UNIQUE (StudentID);

По същия начин, ако искате да използвате ограничението UNIQUE за множество колони и също така да го наименувате, можете да напишете заявка, както следва:

ALTER TABLE Students ADD CONSTRAINT Stu_Example UNIQUE (StudentID,StudentName);

Отпуснете УНИКАЛНО ограничение

За да премахнете ограничението, посочено в колона, можете да използвате конвенцията за именуване, която може да сте споменали, докато добавяте ограничението.

Например, ако трябва да напишем заявка, за да премахнем ограничението UNIQUE, което създадохме по-горе, можете да напишете заявката, както следва:

ALTER TABLE Students DROP CONSTRAINT Stu_Example;

След това в тази статия за SQL ограниченията нека разберем как да използваме ограничението CHECK.

Проверка на ограничение

Ограничението CHECK гарантира, че всички стойности в колона отговарят на определено условие.

Пример:

ПРОВЕРАЙТЕ Ограничението за СЪЗДАВАНЕ НА ТАБЛИЦА

Напишете заявка за създаване на таблица Студенти, с колони StudentID, StudentName, Age и City. Тук градът трябва да е Мумбай.

CREATE TABLE Students ( 
StudentID int NOT NULL UNIQUE, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)CHECK (City==’Mumbai’) );

Проверете ограничение за множество колони

За да използвате ограничението за проверка на множество колони, можете да напишете заявка, както следва:

Напишете заявка за създаване на таблица Студенти, с колони StudentID, StudentName, Age и City. Тук градът трябва да е Мумбай, а възрастта на учениците трябва да е> 19.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)CHECK (City==’Mumbai’ AND Age>19));

По подобен начин можете да използвате и ограничението CHECK с командата ALTER TABLE. Вижте по-долу.

ПРОВЕРАЙТЕ Ограничението на ALTER TABLE

Напишете заявка за промяна на таблицата Студенти, където трябва да се добави ограничение CHECK към колоната City. Тук градът трябва да е Мумбай.

ALTER TABLE Students ADD CHECK (City=='Mumbai');

По същия начин, ако искате да използвате ограничението CHECK, като му дадете име, можете да напишете заявка, както следва:

ALTER TABLE Students ADD CONSTRAINT StuCheckExample CHECK (City=='Mumbai');

Изхвърлете ограничение CHECK

За да премахнете ограничението, посочено в колона, можете да използвате конвенцията за именуване, която може да сте споменали, докато добавяте ограничението.

Например, ако трябва да напишем заявка, за да премахнем ограничението CHECK, което създадохме по-горе, можете да напишете заявката, както следва:

ALTER TABLE Students DROP CONSTRAINT StuCheckExample;

Продължавайки в тази статия за SQL ограниченията, нека разберем как да използваме ограничението ПО ПОДРАЗБИРАНЕ.

Ограничение ПО ПОДРАЗБИРАНЕ

Ограничението DEFAULT се използва за споменаване на набор от стойности по подразбиране за колона, когато не е посочена стойност. Подобно на това при другите ограничения, можем да използваме това ограничение за командата CREATE и ALTER table.

Пример

Напишете заявка за създаване на таблица Студенти, с колони StudentID, StudentName, Age и City. Също така, когато няма вмъкната стойност в колоната Град, автоматично трябва да бъде включен Делхи.

CREATE TABLE Students ( 
StudentID int NOT NULL, 
StudentName varchar(255) NOT NULL, 
Age int, 
City varchar(255)DEFAULT ‘Delhi’);

Ограничение по подразбиране за ALTER TABLE

За да използвате ограничението DEFAULT с командата ALTER TABLE, можете да напишете заявка, както следва:

ALTER TABLE Students ADD CONSTRAINT StuDefauExample DEFAULT 'Mumbai' FOR City;

Изхвърлете ограничение ПО ПОДРАЗБИРАНЕ

За да премахнете ограничението DEFAULT, можете да използвате командата ALTER TABLE, както следва:

ALTER TABLE Students ALTER COLUMN City DROP DEFAULT;

След това в тази статия за SQL ограниченията нека разберем как да използваме ограничението INDEX.

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

Ограничението INDEX се използва за създаване на индекси в таблицата. С помощта на тези индекси можете да създавате и извличате данни от базата данни много бързо.

Синтаксис

--Create an Index where duplicate values are allowed
CREATE INDEX IndexName
ON TableName (ColumnName1, ColumnName2, ...ColumnName(N));

--Create an Index where duplicate values are not allowed
CREATE UNIQUE INDEX IndexName
ON TableName (ColumnName1, ColumnName2, ...ColumnName(N));

Пример

Напишете заявка за създаване на индекс с името Stu_index в таблицата Students, която съхранява StudentName.

CREATE INDEX Stu_index ON Students (StudentName);

По същия начин, за да изтриете индекс от таблицата, трябва да използвате командата DROP с името на индекса.

DROP INDEX Students.Stu_index;

Освен горните ограничения ПЪРВИЧНИЯТ КЛЮЧ и ВЪНШНИЯТ КЛЮЧ също се считат за ограничения. Ограничението PRIMARY KEY се използва за дефиниране на ограничения за това как конкретна колона идентифицира уникално всеки кортеж. Ограничението FOREIGN KEY се използва за свързване на две таблици въз основа на връзка.

С това стигаме до края на тази статия. Надявам се, че сте разбрали как да използвате различните ограничения, присъстващи в базата данни. Ако искате да научите повече за MySQL и да се запознаете с тази релационна база данни с отворен код, разгледайте нашето Обучение за сертифициране на MySQL DBA която идва с обучение на живо от инструктор и реален опит с проекти. Това обучение ще ви помогне да разберете MySQL в дълбочина и ще ви помогне да постигнете майсторство по темата.

Имате въпрос към нас? Моля, споменете го в секцията за коментари на тази статия относно SQL ограниченията и аз ще се свържа с вас.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да свържете база данни към Python

  2. Подобряване на най-горното/горе низходящо средно решение

  3. Разглеждане на празници с очите на модела на данни

  4. Първичен ключ в SQL:Всичко, което трябва да знаете за операциите с първичен ключ

  5. Сравнете четири водещи IDE инструмента за база данни