Sayfalar

9 Eylül 2019 Pazartesi

TSql - Constraints


CONSTRAINTS

Contraints tablolarda ki kısıtlamaları, kuralları belirlemek için kullanılırlar. Genellilke tablo yaratılırken yada alter komutu ile kullanılırlar.

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



ALTER TABLE TableName
ADD CONSTRAINT ConstraintName TYPE  Value  FOR ColumnName


  • DEFAULT - Varsayılan bir değer atar.
  • CHECK - Veri işlenmeden önce belirtilen şarta uygunluğunu kontrol eder.
  • NOT NULL - Kolonun mutlaka bir değer alacağını belirtir.
  • UNIQUE - Kolondaki tüm değerlerin tekil olacağını belirtir.
  • PRIMARY KEY -Kolonda yer alacak her bir satır için özel bir anahtar üretir.
  • FOREIGN KEY -Diğer tablodaki bir primary keyîn ilişkisel olarak bu tabloya eklenmesini sağlar
  • INDEX - Daha hızlı veri çekilmesini sağlar.


Örnek:
DEAFULT***********

ALTER TABLE CUSTOMERS
ADD CONSTRAINT TitleConstDF DEFAULT ('Mr') FOR Title


Örnek:
CHECK***********

ALTER TABLE CUSTOMERS
ADD CONSTRAINT AgeConst CHECK (Age>=18)

**Önemli Not: Eğer Check Constrait oluşturulurken ilgilil tabloda bu şarta uymayan veriler varsa Check Constrait oluşturulmayacaktır. Bunu aşmak içinse With NoCheck ile kullanılmalıdır.

Hata Kodu:
Msg 547, Level 16, State 0, Line 38
The ALTER TABLE statement conflicted with the CHECK constraint "AgeConstBelow". The conflict occurred in database "TESTDB", table "dbo.Customers", column 'Age'.


ALTER TABLE CUSTOMERS 
WITH NOCHECK ADD CONSTRAINT AgeConstBelow CHECK (Age<=18)

Örnek:
UNIQUE*************

ALTER TABLE Customers
ADD CONSTRAINT TCUniConst UNIQUE (TCKimlik); 






MVC LOADING TOO SLOW ISSUE