Database ve Table Oluşturmak
İlk üzerinde duracağımız nokta tabloyu yaratmak olacak. Sql komutlari ingilizce tabanlıdır. Eger biraz ingilizce biliyorsanız SQL komutlarını da rahatlıkla anlayabilirsiniz.
Tablo yaratmak için kullanacağımız komutun şablonu “Create Database VerıTabanıIsmı“ seklinde olacaktır. Bu sebepten aşagıdaki komut cagatay adında bir database yaratır.
Create Database cagatay
* Var olan databaseyi siler
Drop database cagatay
* Tablo Yaratir. Ayni visual oluşturulan tablolar gibi ilk parametre isim, ikincisi tip, üçüncüsü ise boş geçip geçilemeyeceğidir.
Create Table Cagatay ( p_no int, ad nvarchar(30), soyad nvarchar(30), ssn char(5), email nvarchar(30), tel char(15), adres nvarchar(100), sehir nvarchar(30), departman nvarchar(30) )
Tablo oluştururken kısıtlamaları ayarlamak
1. Not null
Yarattığımız tablodaki herhangi bir sütunun boş bırakılma opsiyonunu kaldırmak istiyorsak not null ifadesini kullanırız. İfade tablo tipinin hemen yanına yazılır.
Create Table Cagatay ( p_no int, ad nvarchar(30) NULL, soyad nvarchar(30) NOT NULL, ssn char(5), email nvarchar(30), tel char(15), adres nvarchar(100), sehir nvarchar(30), departman nvarchar(30) )
2. Unique
Tablodaki bir kolonda bir değerin uniq yani o değerden sadece bir tane olmasını istiyorsak unique ifadesini kullanırız.
Create Table Cagatay ( p_no int, ad nvarchar(30) NULL, soyad nvarchar(30) NOT NULL, ssn char(5) unique, email nvarchar(30), tel char(15), adres nvarchar(100), sehir nvarchar(30), departman nvarchar(30) )
*İkinci bir yöntem ise parantezlerin arasında bir kısıt değişkeni oluşturmaktır.
constraint unq_ssn unique (ssn)
unq_ssn isminde bir kısıt değişkeni yarattık. Daha sonra değişkenin kısıt tipi olan unique’ı verdik ve en sonda hangi kolonda uygulanacağını (ssn) verdik.
Primary keyin iki tane özelliği vardır.
1. Tekrar edemez.
2. Sadece bir kere null değeri alabilir.
3.Primary Key
Primary key özel değeriyle her bir satırı bir diğerinden farklı kılar ve genelde sqlde spesifik satırlara ulaşma işlemleri primary key üzerinden yapılır.
Primary keyin iki tane özelliği vardır.
1. Tekrar edemez.
2. Null değeri alamaz.
Create Table Cagatay ( p_no int primary key identity(1,1) NOT NULL, ad nvarchar(30) NULL, soyad nvarchar(30) NOT NULL, ssn char(5) unique, email nvarchar(30), tel char(15), adres nvarchar(100), sehir nvarchar(30), departman nvarchar(30) )
constraint pk_pno Primary Key (p_no)
4. Foreign Key
Foreign key iki tablonun kolonları arasında ilişki tanımlar.
fk_deparman adında bir kısıt yaratıp bunun tipini de FOREIGN KEY olarak tanımlıyoruz. Ardından bu kısıtı çalışmasını istediğimiz kolona veriyoruz (departman_no). Daha sonra bu foreign key’i başka bir tabloyla eşleyebilmek için REFERENCES departman() yani diğer departman tablosuyla eşle diyoruz ve de parantezler içine eşlenecek kolonu yazıyoruz. Böylece elimizdeki tablonun departman_no’su ile departman tablosundaki departman_no ilişkili hale gelmiş oluyor.
constraint fk_departman FOREIGN KEY(departman_no) REFENCES deparman(departman_no)
5. Default
Default kısıtı tablodaki bir kolonun hücresine değer girilmediği zaman default olarak atanacak değeri belirler. Aşağıda sehri boş bırakılan kolonlara şehir izmir olarak atanmıştır.
Create Table Cagatay ( p_no int primary key identity(1,1) NOT NULL, ad nvarchar(30) NULL, soyad nvarchar(30) NOT NULL, ssn char(5) unique, email nvarchar(30), tel char(15), adres nvarchar(100), sehir nvarchar(30) default 'izmir', departman nvarchar(30) )
6. Check
Check kısıtı bir kolondaki değerlerin belli kalıplar altında kontrol edilmesini doğruysa kaydedilmesini sağlar. Örneğin sayı olarak tanımlanmış yaş adında bir kolona girilen değerleri kontrol et eğer 1 den küçükse uyar.
constraint ck_dp_no check(departman_no>0 and departman_no<6 )