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 SoruCHECK 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
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
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
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
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
18'in altındaki herhangi bir değer CHECK kuralını ihlal eder ve ekleme hatasıyla sonuçlanır.
Sınav Başarıyla Tamamlandı Puanınız : 2/5Kesinlik : %0Açıklamayı Görmek İçin Giriş Yapın 1/5 1/5 < Previous Sonraki >