logo

SQL | Kısıtlamayı KONTROL EDİN

CHECKSQL'deki kısıtlama, eklenebilecek veya güncellenebilecek verileri sınırlayarak sütun değerlerine ilişkin kuralları uygular. Değerlerin belirtilen koşulları karşılamasını sağlar. Bir değer koşulu ihlal ediyorsa işlem reddedilir.CHECKtablo oluşturma veya değiştirme sırasında eklenebilir.

CHECK Kısıtlamasının Söz Dizimi

KONTROL kısıtlaması Bir tablo oluştururken tanımlanabilir veya daha sonra ALTER ifadesi kullanılarak eklenebilir.

1. CHECK'i CREATE TABLE ile kullanma :

CREATE TABLE table_name (  
column1 datatype
column2 datatype CHECK (condition)
...
);

2. ALTER TABLE ile CHECK kullanımı

ALTER TABLE table_name  
ADD CONSTRAINT constraint_name CHECK (condition);

CHECK Kısıtlaması Hakkında Önemli Noktalar:



çok biçimlilik java
  • Alan Adı Bütünlüğü: Bir sütundaki değerlerin belirtilen koşulları karşılamasını sağlar, böylece veritabanında geçerli verilerin korunmasına yardımcı olur.
  • CREATE veya ALTER ile kullanılır: CHECK kısıtlaması bir tablo oluştururken veya mevcut bir tabloya eklenirken tanımlanabilir.
  • Diğer Kısıtlamalarla Birleştirilebilir: CHECK'i aşağıdaki gibi diğer kısıtlamalarla birlikte kullanabilirsiniz. BİRİNCİL ANAHTAR Tablo verileri için daha kapsamlı kurallar tanımlamak için FOREIGN KEY ve NOT NULL.
  • Satır Düzeyinde Kısıtlamalar: Tek tek sütunları etkileyen sütun düzeyindeki kısıtlamaların aksine, bir CHECK kısıtlaması gerektiğinde birden fazla sütuna aynı anda uygulanabilir.

CHECK Kısıtlamasının Kullanımına Örnekler

CHECK kısıtlamasının nasıl çalıştığını daha iyi anlamak için bazı pratik örneklere bakalım. SQL .

Örnek 1: Tek Bir Sütuna CHECK Uygulamak

Bu örnekte, 18 ile 120 arasında değerler içermesi gereken Yaş sütununa sahip bir Müşteriler tablosu oluşturuyoruz. CHECK kısıtlaması, tabloya geçersiz yaş eklenmemesini sağlar.

Sorgu:

CREATE TABLE Customers (  
CustomerID INT PRIMARY KEY
Name VARCHAR(50)
Age INT CHECK (Age >= 18 AND Age <= 120)
);


-- Valid insert
INSERT INTO Customers (CustomerID Name Age)
VALUES (1 'John Doe' 25);

-- Invalid insert
INSERT INTO Customers (CustomerID Name Age)
VALUES (2 'Jane Smith' 15); -- This will fail due to the CHECK constraint

Yaş sütununda, değerin 18 ile 120 arasında olmasını sağlayan bir CHECK kısıtlaması vardır. Bu aralığın dışında bir yaş eklemeye çalışırsanız veritabanı bir hata verecektir.

Örnek 2: Çoklu Sütunlarla Kısıtlamayı KONTROL EDİN

CHECK kısıtlamasını birden fazla sütunda da kullanabiliriz. Örneğin diyelim ki elimizde bir Çalışan tablosunun ve Maaşın pozitif olmasını ve Yaşın 18'den büyük veya eşit olmasını sağlamak istiyoruz.

Sorgu:

CREATE TABLE Employee (  
EmployeeID INT PRIMARY KEY
Name VARCHAR(50)
Age INT
Salary DECIMAL(10 2)
CHECK (Age >= 18 AND Salary > 0)
);


-- Valid insert
INSERT INTO Employee (EmployeeID Name Age Salary)
VALUES (1 'Alice Johnson' 30 50000);

-- Invalid insert (age < 18)
INSERT INTO Employee (EmployeeID Name Age Salary)
VALUES (2 'Bob Lee' 16 45000); -- This will fail due to the CHECK constraint

CHECK kısıtı her iki koşulun da sağlanmasını sağlar. çalışanın en az 18 yaşında olması ve maaşının 0'dan büyük olması gerekir. Bu tür bir kısıtlama, kuralda birden fazla sütun yer aldığında faydalıdır.

Örnek 3: ALTER TABLE ile CHECK Kısıtlaması Ekleme

ALTER TABLE deyimini kullanarak mevcut bir tabloya CHECK kısıtlaması ekleyebiliriz.

Java tamsayıyı dizeye dönüştürme

Sorgu:

ALTER TABLE Employee  
ADD CONSTRAINT chk_salary CHECK (Salary >= 30000);

Bu, Çalışan tablosuna chk_salary adlı bir CHECK kısıtlaması ekleyerek Maaş sütununun minimum 30000 değerine sahip olmasını sağlar. Maaşı 30000'den düşük olan bir kayıt eklemeye veya güncellemeye çalışırsanız işlem başarısız olur.

Önerilen Test Testi Düzenle 5 Soru

CHECK kısıtlaması SQL'de neyi sağlar?

  • A

    Sütun, değerleri hiçbir kural olmadan kabul eder

  • B

    Sütun yalnızca benzersiz olduğunda değerleri kabul eder

  • C

    Sütun yalnızca boş olmadığında değerleri kabul eder

  • D

    Sütun, verilen kuralla eşleşen değerleri kabul eder

    java dizileri
Açıklama:

CHECK, tanımlanan kuralı ihlal eden verileri reddeden sütun değerlerine bir koşul uygular.

SQL, CHECK kullanarak bir INSERT'i ne zaman engeller?

  • A

    Değer sütunda yinelendiğinde

  • B

    Değer tanımlanan koşulu ihlal ettiğinde

  • C

    Tablonun birincil kısıtlaması olmadığında

  • D

    Değer NULL olduğunda ve sütun null değerine izin verdiğinde

Açıklama:

Eklenen veya güncellenen veriler CHECK koşulunu bozarsa SQL işlemi iptal eder.

CHECK kısıtlaması nerede tanımlanabilir?

  • A

    Yalnızca SELECT sorgu sözdiziminin içinde

    Java'da regresyon ifadesi
  • B

    Yalnızca birincil anahtar bildirildikten sonra

  • C

    Tablo oluşturma veya değiştirme sırasında

  • D

    Yalnızca aralıkları olan sayısal sütunlar için

Açıklama:

CHECK, tabloyu oluştururken veya daha sonra ALTER TABLE deyimi kullanılarak eklenebilir.

Çok sütunlu CHECK kısıtlamasında ne olur?

  • A

    Koşul yalnızca bir sütuna referans verebilir

    Java normal ifadesi $
  • B

    Koşul birden fazla sütuna referans verebilir

  • C

    Koşul yalnızca sayısal sütunlarda çalışır

  • D

    Koşul, ekleme sırasında değerleri yok sayar

Açıklama:

CHECK, birleştirilmiş doğrulamayı zorunlu kılan iki veya daha fazla sütun kullanarak kuralları uygulayabilir.

Hangi ek CHECK (Yaş ≥ 18) sınırlamasında başarısız olur?

  • A

    Yaş değeri onbeş yaşın altında

  • B

    Yaş değeri tam olarak on sekize eşit

  • C

    Yaş değeri yirmi beşten büyük

  • D

    NULL değer olarak saklanan yaş değerine izin veriliyor

Açıklama:

18'in altındaki herhangi bir değer CHECK kuralını ihlal eder ve ekleme hatasıyla sonuçlanır.

SQL | Kısıtlamayı KONTROL EDİNSınav Başarıyla Tamamlandı Puanınız :  2/5Kesinlik : %0Açıklamayı Görmek İçin Giriş Yapın 1/5 1/5 < Previous Sonraki >