SQL Constraints
Constraints are used to limit the type of data that can go into a table.
Constraints can be specified when a table is created (with the CREATE TABLE statement) or after the table is created (with the ALTER TABLE statement).
We will focus on the following constraints:
- NOT NULL
- UNIQUE
- PRIMARY KEY
- FOREIGN KEY
- CHECK
- DEFAULT
Unique ve Primary Key örneklerini geçen yazıda öğrendik,şimdi Kulllanıcı ile Kullanıcı Rol tablosu arasında bir foreign Key oluşturalım.
Bu oluşumu ilk olarak database diagrams ile gerçekleyelim DataBase Diagrams seçeneğine sağtıklayıp karşımıza çıkan uyarıya Yes dersek ,veri tabanımızdaki tüm tabloları görebilirz burada ilişki kurmak istediğimiz tabloları seçerek Add demeliyiz daha sonrasında tablolar ekranda gmzükecektir ,bağlamak istediğimiz tablo sütunlarını oklar ile birleştirip bu işlemi tamamlayabiliriz.
Designing Database Diagrams (Visual Database Tools)
SQL Server 2008 R2
The Database Designer is a visual tool that allows you to design and visualize a database to which you are connected. When designing a database, you can use Database Designer to create, edit, or delete tables, columns, keys, indexes, relationships, and constraints. To visualize a database, you can create one or more diagrams illustrating some or all of the tables, columns, keys, and relationships in it.
Bir Query yazarak bu işlemi gerçekleştirmek için:
Create Table Kullanici
(
ID int IDENTITY NOT NULL PRIMARY KEY,
RolId int NOT NULL Foreign Key References Parcalar(ParcaId),
Adi nvarchar(200) not null,
Soyadi nvarchar(200) not null,
CONSTRAINT cnst_KullanıcıRol
FOREIGN KEy(RolId) References Rol(ID)
ON DELETE CASCADE
)
Unique ve Check Constraintlerine Query Örnekleri
USE YazOkulu
ALTER TABLE Kullanici
ADD CONSTRAINT Uk_KullaniciMail
UNIQUE(email)
Alter Table Kullanici
ADD Constraint Ck_KayitTarihi
Check(KayitTarihi=getdate())
Bir tabloda bir Primary Key varken birden çok Unique olabilir.
! Yazdığımız Queryleri çalıştırmak için Query nin tamamını seçip Execute ye tıklamamız yeterlidir.
USE YazOkulu
Create TABLE Kampanyalar
(
ID tinyint PRIMARY KEY not null,
Kampanya nvarchar(50) NOT NULL,
KampanyaOrani tinyint NOT NULL,
BaslangýcTarihi DateTime not null,
BitisTarihi DateTime not null,
)
--Sp_helpdb:veri tabani hakkinda bilglier veriri tek bir parametre alir parametre olarak da veri tabaninin isminni alir.
EXEC sp_helpdb 'YazOkulu'
Hiç yorum yok:
Yorum Gönder