logo

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ń.

stany zjednoczone, ile miast

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ównoIDINAMEkolumny są definiowane za pomocą NIE NULL ograniczenie oznaczające, że każdy uczeń musi miećIDINAMEwartość.

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 : TutajIDkolumna musi mieć unikalne wartości, zapewniające, że dwóch uczniów nie będzie mogło dzielić tych samych wartościID. Możemy mieć więcej niż jeden UNIKALNY ograniczenie w tabeli.

csma i płyta CD z csma

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 przypadkuIDkolumna 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_IDZAMÓWIENIE NRC_ID
122533
233253
345212
485321

Tabela klientów:

C_IDNAZWAADRES
1RAMESZDELHI
2PEWNYNOIDA
3DHARMESZGURGAON

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ładzieC_IDkolumna wOrderstable jest kluczem obcym, który odwołuje się doC_IDkolumna wCustomerstabela. Dzięki temu do pliku można wstawić wyłącznie ważne identyfikatory klientaOrderstabela.

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:

pełna forma
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ściAGEpodczas 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ędziaALTER TABLEoświadczenie.

Składnia tworzenia ograniczeń:

sumator pełny

UTWÓRZ TABELĘ nazwa_tabeli

(

kolumna1 typ_danych [nazwa_ograniczenia]

wydruk javascript

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