SQL | Ograniczenia

Ograniczenia SQL są istotnymi elementami projektowanie relacyjnych baz danych które zapewniają uczciwość dokładność I niezawodność danych przechowywanych w bazie danych. Egzekwując określone reguły w kolumnach tabeli, ograniczenia SQL pomagają zachować spójność danych, zapobiegając błędnym wpisom danych i optymalizując wydajność zapytań.

W tym artykule szczegółowo wyjaśnimy najczęstsze ograniczenia SQL, podając jasne przykłady i wyjaśniając, jak skutecznie je wdrożyć.

Jakie są ograniczenia SQL?

Ograniczenia SQL obowiązują zasady kolumny Lub stoły w relacyjna baza danych aby ograniczyć rodzaj danych, jakie mogą być wstawiony zaktualizowany Lub usunięte . Reguły te zapewniają, że dane są ważne, spójne i zgodne z logiką biznesową lub wymagania bazy danych . Ograniczenia można wymusić podczas tworzenia tabeli lub później za pomocą metody ALTER TABLE oświadczenie. Odgrywają one kluczową rolę w utrzymaniu jakości i integralności bazy danych.

Rodzaje ograniczeń SQL 

SQL zapewnia kilka typów ograniczeń do zarządzania różnymi aspektami integralności danych. Ograniczenia te są niezbędne do zapewnienia, że ​​dane spełniają wymagania dokładność konsystencja I ważność . Przeanalizujmy każdy z nich ze szczegółowymi wyjaśnieniami i przykładami.

1. NIE NULL Ograniczenie

The NIE NULL ograniczenie zapewnia, że ​​kolumna nie może zawierać wartości NULL. Jest to szczególnie ważne w przypadku kolumn, w których wartość jest niezbędna do identyfikacji rekordów lub wykonania obliczeń. Jeśli kolumna jest zdefiniowana jako NIE NULL każdy wiersz musi zawierać wartość dla tej kolumny.

Przykład:

 CREATE TABLE Student   
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
ADDRESS varchar(20)
);

Wyjaśnienie: W powyższym przykładzie zarówno ID I NAME kolumny są definiowane za pomocą NIE NULL ograniczenie oznaczające, że każdy uczeń musi mieć ID I NAME wartość.

2. UNIKALNE ograniczenie

The UNIKALNY ograniczenie zapewnia, że ​​wszystkie wartości w kolumnie są różne we wszystkich wierszach tabeli. W odróżnieniu od KLUCZ PODSTAWOWY który wymaga unikalności i nie pozwala na wartości NULL, ograniczenie UNIQUE pozwala na wartości NULL, ale nadal wymusza unikalność dla wpisów o wartości innej niż NULL.

Przykład:

 CREATE TABLE Student   
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
);

Wyjaśnienie : Tutaj ID kolumna musi mieć unikalne wartości, zapewniające, że dwóch uczniów nie będzie mogło dzielić tych samych wartości ID . Możemy mieć więcej niż jeden UNIKALNY ograniczenie w tabeli.

3. KLUCZ PODSTAWOWY Ograniczenie  

A KLUCZ PODSTAWOWY ograniczenie jest kombinacją NIE NULL I UNIKALNY ograniczenia. Unikalnie identyfikuje każdy wiersz w tabeli. Stół może mieć tylko jeden KLUCZ PODSTAWOWY i nie może akceptować wartości NULL. Jest to zwykle używane w przypadku kolumny, która będzie służyć jako identyfikator rekordów.

Przykład:

 CREATE TABLE Student   
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
PRIMARY KEY(ID)
);

Wyjaśnienie: W tym przypadku ID kolumna jest ustawiona jako klucz podstawowy, co gwarantuje, że identyfikator każdego ucznia jest unikalny i nie może mieć wartości NULL.

4. Ograniczenie klucza obcego

A KLUCZ OBCY ograniczenie łączy kolumnę w jednej tabeli z klucz podstawowy w innym stole. Ta relacja pomaga utrzymać integralność referencyjna upewniając się, że wartość w klucz obcy kolumna odpowiada prawidłowemu rekordowi w tabeli, do której istnieje odwołanie.

Tabela zamówień:

O_ID ZAMÓWIENIE NR C_ID
1 2253 3
2 3325 3
3 4521 2
4 8532 1

Tabela klientów:

C_ID NAZWA ADRES
1 RAMESZ DELHI
2 PEWNY NOIDA
3 DHARMESZ GURGAON

Jak widać wyraźnie, że pole C_ID W Tabela zamówień jest klucz podstawowy w tabeli Klienci, tj. jednoznacznie identyfikuje każdy wiersz w tabeli Klienci tabela. Dlatego jest to klucz obcy w tabeli Zamówienia. 

Przykład:

 CREATE TABLE Orders   
(
O_ID int NOT NULL
ORDER_NO int NOT NULL
C_ID int
PRIMARY KEY (O_ID)
FOREIGN KEY (C_ID) REFERENCES Customers(C_ID)
)

Wyjaśnienie: W tym przykładzie C_ID kolumna w Orders table jest kluczem obcym, który odwołuje się do C_ID kolumna w Customers tabela. Dzięki temu do pliku można wstawić wyłącznie ważne identyfikatory klienta Orders tabela.

5. SPRAWDŹ ograniczenie

The SPRAWDZAĆ ograniczenie pozwala nam określić warunek, jaki muszą spełnić dane, zanim zostaną wstawione do tabeli. Można to wykorzystać do egzekwowania reguł, takich jak zapewnienie, że wartość kolumny spełnia określone kryteria (np. wiek musi być większy niż 18 lat)

Przykład:

 CREATE TABLE Student   
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int NOT NULL CHECK (AGE >= 18)
);

Wyjaśnienie: W powyższej tabeli SPRAWDZAĆ ograniczenie zapewnia, że ​​do tabeli można wstawić wyłącznie uczniów w wieku 18 lat lub starszych.

6. Domyślne ograniczenie

The DOMYŚLNY ograniczenie zapewnia wartość domyślną dla kolumny, jeśli podczas wstawiania nie określono żadnej wartości. Jest to przydatne, aby zapewnić, że określone kolumny zawsze będą miały znaczącą wartość, nawet jeśli użytkownik jej nie poda

Przykład:

 CREATE TABLE Student   
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int DEFAULT 18
);

Wyjaśnienie: Tutaj, jeśli nie podano żadnej wartości AGE podczas wstawiania automatycznie zostanie przypisana domyślna wartość 18.

Jak określić ograniczenia w SQL

Ograniczenia można określić podczas procesu tworzenia tabeli za pomocą opcji CREATE TABLE oświadczenie. Dodatkowo ograniczenia można modyfikować lub dodawać do istniejących tabel za pomocą narzędzia ALTER TABLE oświadczenie.

Składnia tworzenia ograniczeń:

UTWÓRZ TABELĘ nazwa_tabeli

(

kolumna1 typ_danych [nazwa_ograniczenia]

kolumna2 typ_danych [nazwa_ograniczenia]

kolumna3 typ_danych [nazwa_ograniczenia]

...

);

Możemy także dodawać lub usuwać ograniczenia po utworzeniu tabeli:

Przykład dodania ograniczenia:

 ALTER TABLE Student   
ADD CONSTRAINT unique_student_id UNIQUE (ID);

Wniosek

Ograniczenia SQL są niezbędne do utrzymania integralność danych oraz zapewnienie spójności w relacyjnych bazach danych. Zrozumienie i skuteczne wdrożenie tych ograniczeń pomoże w projektowaniu solidnych, wolnych od błędów baz danych. Poprzez wykorzystanie NIE NULL UNIKALNY KLUCZ PODSTAWOWY KLUCZ OBCY SPRAWDŹ DOMYŚLNE i INDEKS możesz mieć pewność, że Twoja baza danych jest zoptymalizowana pod kątem dokładność I wydajność .

Utwórz quiz