SQL kısıtlamaları temel unsurlardır ilişkisel veritabanı tasarımı sağlayan bütünlük kesinlik Ve güvenilirlik bir veritabanında saklanan verilerden oluşur. Tablo sütunlarına belirli kurallar uygulayarak SQL kısıtlamaları, geçersiz veri girişlerini önleyerek ve sorgu performansını optimize ederek veri tutarlılığının korunmasına yardımcı olur.
Bu yazıda, en yaygın SQL kısıtlamalarını ayrıntılı olarak, net örnekler vererek ve bunların nasıl etkili bir şekilde uygulanacağını açıklayarak açıklayacağız.
SQL Kısıtlamaları Nelerdir?
SQL kısıtlamaları kurallar uygulanır mı sütunlar veya tablolar bir ilişkisel veritabanı olabilecek veri türünü sınırlamak için yerleştirildi güncellendi veya silindi . Bu kurallar, verilerin geçerli ve tutarlı olmasını ve iş mantığına veya veritabanı gereksinimleri . Kısıtlamalar tablo oluşturulurken veya daha sonra aşağıdaki komut kullanılarak uygulanabilir: ALTER TABLE ifade. Veritabanınızın kalitesini ve bütünlüğünü korumada hayati bir rol oynarlar.
SQL Kısıtlama Türleri
SQL, veri bütünlüğünün farklı yönlerini yönetmek için çeşitli türde kısıtlamalar sağlar. Bu kısıtlamalar, verilerin gereksinimleri karşılamasını sağlamak için gereklidir. kesinlik tutarlılık Ve geçerlilik . Ayrıntılı açıklamalar ve örneklerle her birini inceleyelim.
1. NOT NULL Kısıtlaması
BOŞ DEĞİL kısıtlama, bir sütunun NULL değerler içermemesini sağlar. Bu, özellikle kayıtları tanımlamak veya hesaplamaları gerçekleştirmek için bir değerin gerekli olduğu sütunlar için önemlidir. Bir sütun şu şekilde tanımlanmışsa BOŞ DEĞİL her satır o sütun için bir değer içermelidir.
Örnek:
CREATE TABLE Student
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
ADDRESS varchar(20)
);
Açıklama: Yukarıdaki örnekte her ikisi deIDVeNAMEsütunlar ile tanımlanır BOŞ DEĞİL kısıtlama her öğrencinin sahip olması gerektiği anlamına gelirIDVeNAMEdeğer.
2. BENZERSİZ Kısıtlama
EŞSİZ kısıtlama, bir sütundaki tüm değerlerin tablodaki tüm satırlarda farklı olmasını sağlar. Farklı olarak BİRİNCİL ANAHTAR benzersizlik gerektirir ve NULL'lara izin vermez UNIQUE kısıtlaması NULL değerlere izin verir ancak yine de NULL olmayan girişler için benzersizliği zorlar.
Örnek:
CREATE TABLE Student
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
);
Açıklama : İşteIDsütunu, iki öğrencinin aynı şeyi paylaşamayacağı şekilde benzersiz değerlere sahip olmalıdırID. Birden fazlasına sahip olabiliriz EŞSİZ Bir tablodaki kısıtlama.
3. PRIMARY KEY Kısıtlaması
A BİRİNCİL ANAHTAR kısıtlama aşağıdakilerin bir kombinasyonudur: BOŞ DEĞİL Ve EŞSİZ kısıtlamalar. Bir tablodaki her satırı benzersiz şekilde tanımlar. Bir tabloda yalnızca bir tane bulunabilir BİRİNCİL ANAHTAR ve NULL değerleri kabul edemez. Bu genellikle kayıtların tanımlayıcısı olarak görev yapacak sütun için kullanılır.
Örnek:
CREATE TABLE Student
(
ID int(6) NOT NULL UNIQUE
NAME varchar(10)
ADDRESS varchar(20)
PRIMARY KEY(ID)
);
Açıklama: Bu durumdaIDsütunu, her öğrencinin kimliğinin benzersiz olmasını ve NULL olmamasını sağlayacak şekilde birincil anahtar olarak ayarlanır.
4. YABANCI ANAHTAR Kısıtlaması
A YABANCI ANAHTAR kısıtlama bir tablodaki bir sütunu birincil anahtar başka bir tabloda. Bu ilişkinin sürdürülmesine yardımcı olur referans bütünlüğü değerin sağlanmasını sağlayarak yabancı anahtar sütunu, başvurulan tablodaki geçerli bir kayıtla eşleşir.
Java dizesini değiştir
Sipariş Tablosu:
| O_ID | ORDER_NO | C_ID |
|---|---|---|
| 1 | 2253 | 3 |
| 2 | 3325 | 3 |
| 3 | 4521 | 2 |
| 4 | 8532 | 1 |
Müşteri Tablosu:
| C_ID | İSİM | ADRES |
|---|---|---|
| 1 | RAMEŞ | DELHİ |
| 2 | SÜRESH | NOIDA |
| 3 | Dharmeş | GURGAON |
Açıkça gördüğümüz gibi alan C_ID içinde Siparişler tablosu bu birincil anahtar Müşteriler tablosunda, yani her satırı benzersiz şekilde tanımlar. Müşteriler masa. Bu nedenle Siparişler tablosunda Yabancı Anahtardır.
Örnek:
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)
)
Açıklama: Bu örnekteC_IDiçindeki sütunOrderstablo, referans veren bir yabancı anahtardır.C_IDiçindeki sütunCustomersmasa. Bu, yalnızca geçerli müşteri kimliklerinin girilebilmesini sağlar.Ordersmasa.
5. Kısıtlamayı KONTROL EDİN
KONTROL ETMEK kısıtlama, verilerin tabloya eklenmeden önce yerine getirmesi gereken bir koşulu belirtmemize olanak tanır. Bu, bir sütunun değerinin belirli kriterleri karşılamasını sağlamak gibi kuralları uygulamak için kullanılabilir (ör. yaş 18'den büyük olmalıdır)
Örnek:
CREATE TABLE Student
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int NOT NULL CHECK (AGE >= 18)
);
Açıklama: Yukarıdaki tabloda KONTROL ETMEK kısıtlama, tabloya yalnızca 18 yaş ve üzeri öğrencilerin eklenmesini sağlar.
6. VARSAYILAN Kısıtlama
VARSAYILAN kısıtlama, ekleme sırasında hiçbir değer belirtilmediğinde bir sütun için varsayılan bir değer sağlar. Bu, kullanıcı bir sütun sağlamasa bile belirli sütunların her zaman anlamlı bir değere sahip olmasını sağlamak için kullanışlıdır.
Örnek:
CREATE TABLE Student
(
ID int(6) NOT NULL
NAME varchar(10) NOT NULL
AGE int DEFAULT 18
);
Açıklama: Burada herhangi bir değer sağlanmadıysaAGEekleme sırasında varsayılan değer olan 18 otomatik olarak atanacaktır.
SQL'de Kısıtlamalar Nasıl Belirlenir
Kısıtlamalar tablo oluşturma işlemi sırasında şu şekilde belirtilebilir: CREATE TABLE ifade. Ek olarak kısıtlamalar, kullanılarak mevcut tablolara değiştirilebilir veya eklenebilir.ALTER TABLEifade.
Kısıtlama Oluşturma Sözdizimi:
TABLO OLUŞTUR tablo_adı
(
sütun1 veri_türü [kısıtlama_adı]
sütun2 veri_türü [kısıtlama_adı]
sütun3 veri_türü [kısıtlama_adı]
...
);
Bir tablo oluşturulduktan sonra da kısıtlamalar ekleyebilir veya kaldırabiliriz:
Kısıtlama Eklemeye Örnek:
dize karşılaştırma java
ALTER TABLE Student
ADD CONSTRAINT unique_student_id UNIQUE (ID);
Çözüm
SQL kısıtlamaları korumak için gereklidir veri bütünlüğü ve ilişkisel veritabanlarında tutarlılığın sağlanması. Bu kısıtlamaların etkili bir şekilde anlaşılması ve uygulanması, sağlam, hatasız veritabanlarının tasarlanmasına yardımcı olacaktır. Yararlanarak BOŞ DEĞİL EŞSİZ BİRİNCİL ANAHTAR YABANCI ANAHTAR KONTROL VARSAYILANI ve DİZİNİ veritabanınızın optimize edildiğinden emin olabilirsiniz kesinlik Ve performans .
Test Oluştur