romegames 1
romegames
Krutzo 1
Krutzo
shrpnl 1
shrpnl
Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
melankolıa18 1
melankolıa18
Agora Metin2 1
Agora Metin2
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Altın Konu SQL Kısıtlamaları Oluşturma Nasıl Yapılır?

Karadayı ✓

Karadayı ✓
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Uzman
Ayın Üyesi
Katılım
21 May 2024
Konular
1,450
Mesajlar
2,451
Çözüm
7
Online süresi
3mo 25d
Reaksiyon Skoru
2,564
Altın Konu
1,027
Başarım Puanı
274
Yaş
51
MmoLira
36,853
DevLira
110
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

turkmmo.png


SQL Kısıtlamaları Oluşturma Nasıl Yapılır?

SQL Kısıtlamaları

SQL Kısıtlamaları, bir tabloya girebilecek veri türünü sınırlamak için bir veri sütununa veya tüm tabloya uygulanan kurallardır. Tabloda herhangi bir INSERT, UPDATE veya DELETE işlemi gerçekleştirmeye çalıştığınızda, RDBMS bu verinin mevcut kısıtlamaları ihlal edip etmediğini kontrol eder ve tanımlanan kısıtlama ile veri eylemi arasında herhangi bir ihlal varsa, işlemi iptal eder ve bir hata döndürür.

Bir sütun düzeyi veya tablo düzeyi kısıtlamaları tanımlayabiliriz. Sütun düzeyi kısıtlamaları yalnızca bir sütuna uygulanırken, tablo düzeyi kısıtlamaları tüm tabloya uygulanır.

SQL Kısıtlamaları Oluşturma

Bir tablonun oluşturulması sırasında CREATE TABLE ifadesini kullanarak tablo üzerinde kısıtlamalar oluşturabiliriz veya tablo oluşturulduktan sonra ALTER TABLE ifadesini kullanarak tablo kısıtlamaları oluşturabilir veya silebiliriz.

CREATE TABLE table_name (
column1 datatype constraint,
column2 datatype constraint,
....
columnN datatype constraint
);

Farklı RDBMS'ler farklı kısıtlamalar tanımlamaya izin verir. Bu eğitim MySQL'de bulunan en önemli 7 kısıtlamayı ele alacaktır.

NOT NULL Kısıtlaması

Bir sütuna uygulandığında, NOT NULL kısıtlaması bir sütunun NULL değerine sahip olamayacağını garanti eder. Aşağıda bir NOT NULL kısıtlaması oluşturma örneği verilmiştir:

Kod:
CREATE TABLE CUSTOMERS (
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2)
);

UNIQUE Anahtar Kısıtlama

Bir sütuna uygulandığında, UNIQUE Key kısıtlaması bir sütunun yalnızca UNIQUE değerlerini kabul etmesini sağlar. Aşağıda, sütun ID'sinde UNIQUE Key kısıtlaması oluşturma örneği verilmiştir. Bu kısıtlama oluşturulduktan sonra, sütun ID'si boş olamaz ve yalnızca UNIQUE değerlerini kabul eder.

Kod:
CREATE TABLE CUSTOMERS (
ID INT NOT NULL UNIQUE,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2)
);

DEFAULT Değer Kısıtlaması

Bir sütuna uygulandığında, DEFAULT Değer kısıtlaması, belirtilmediğinde bir sütun için varsayılan bir değer sağlar. Aşağıda, NAME sütununda bir DEFAULT kısıtlaması oluşturma örneği verilmiştir. Bu kısıtlama oluşturulduktan sonra, NAME bir değere ayarlanmamışsa NAME sütunu "Kullanılamaz" değerine ayarlanır.

Kod:
CREATE TABLE CUSTOMERS (
ID INT NOT NULL UNIQUE,
NAME VARCHAR (20) DEFAULT 'Not Available',
AGE INT NOT NULL,
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2)
);

PRIMARY Anahtar Kısıtlama

Bir sütuna uygulandığında, PRIMARY Key kısıtlaması bir sütunun yalnızca UNIQUE değerini kabul etmesini sağlar ve bir tabloda tek bir PRIMARY Key olabilir ancak birden fazla sütun bir PRIMARY Key oluşturabilir. Aşağıda, sütun ID'sinde bir PRIMARY Key kısıtlaması oluşturma örneği verilmiştir. Bu kısıtlama oluşturulduktan sonra, sütun ID'si boş olamaz ve yalnızca benzersiz değerleri kabul eder.

Kod:
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);

FOREIGN Anahtar Kısıtlama

FOREIGN Anahtar kısıtlaması başka bir tablodaki bir sütunla eşleşir ve o tabloda bir satırı/kaydın benzersiz bir şekilde tanımlar. Aşağıda, aşağıdaki ifadede gösterildiği gibi CUSTOMERS tablosunda bulunan sütun kimliğinde bir yabancı anahtar kısıtlaması oluşturmanın bir örneği verilmiştir.

Kod:
CREATE TABLE ORDERS (
ID INT NOT NULL,
DATE DATETIME,
CUSTOMER_ID INT FOREIGN KEY REFERENCES CUSTOMERS(ID),
AMOUNT DECIMAL,
PRIMARY KEY (ID)
);

Değer Kısıtlamasını Kontrol Edin

Bir sütuna uygulandığında, CHECK Değer kısıtlaması bir doğrulama gibi çalışır ve tablonun belirli sütununa girilen verilerin geçerliliğini kontrol etmek için kullanılır. tablo ve o tabloda bir satırı/kaydın benzersiz bir şekilde tanımlanmasını sağlar. Aşağıda, değeri 18'in altındaysa kabul etmeyecek olan AGE sütununda bir CHECK doğrulaması oluşturma örneği verilmiştir.

Kod:
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL CHECK(AGE>=18),
ADDRESS CHAR (25),
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);

INDEX Kısıtlaması

INDEX kısıtlamaları, veritabanından veri alma işlemini hızlandırmak için oluşturulur. Bir tabloda tek bir sütun veya sütun grubu kullanılarak bir Endeks oluşturulabilir. Bir tablonun tek bir PRIMARY Anahtarı olabilir ancak birden fazla INDEXES'i olabilir. Bir Endeks, gereksinimlere göre Benzersiz veya Benzersiz Olmayan olabilir. Aşağıda, CUSTOMERS tablosunun Age Sütununda bir Endeks oluşturmaya yönelik bir örnek verilmiştir.

CREATE INDEX idx_age ON CUSTOMERS ( AGE );

SQL Kısıtlamalarını Bırakma

Tanımladığınız herhangi bir kısıtlama, DROP CONSTRAINT seçeneğiyle ALTER TABLE komutunu kullanarak bırakılabilir. Örneğin, birincil anahtar kısıtlamasını CUSTOMERS tablosundan bırakmak için aşağıdaki komutu kullanabilirsiniz.

ALTER TABLE CUSTOMERS DROP CONSTRAINT PRIMARY KEY;

Bazı RDBMS'ler kısıtlamaları veritabanından kalıcı olarak kaldırmak yerine devre dışı bırakmanıza izin verir; kısıtlamaları geçici olarak devre dışı bırakmak ve daha sonra yeniden etkinleştirmek isteyebilirsiniz.

Veri Bütünlüğü Kısıtlamaları

Veri bütünlüğü kısıtlamaları, verilerin genel doğruluğunu, eksiksizliğini ve tutarlılığını sağlamak için kullanılır. Günümüzde veri bütünlüğü, GDPR uyumluluğu vb. gibi düzenleyici uyumluluk açısından veri güvenliğini de ifade eder.

Veri bütünlüğü, ilişkisel bir veritabanında referans bütünlüğü kavramı aracılığıyla ele alınır. Referans Bütünlüğünde (RI) rol oynayan birçok türde bütünlük kısıtlaması vardır . Bu kısıtlamalar arasında Birincil Anahtar, Yabancı Anahtar, Benzersiz Kısıtlamalar ve yukarıda belirtilen diğer kısıtlamalar bulunur.
 
Paylaşım için teşekkürler.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst