1.Database ve Tablo Yaratma

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 )