Create komutunu veritabanı (database) oluşturma başlığından hatırlıyoruz. MSSQL’de Tablo oluşturmak için de CREATE TABLE komutundan yararlanılır.
New Query butonu ile kendimize yeni bir çalışma sayfası açıyoruz.
Tablo oluşturmadan önce daha önce oluşturduğumuz OKUL veritabanını USE komutu ile aktif hale getiriyoruz. Eğer bu işlem atlanırsa oluşturduğumuz tablo o an aktif olan farklı bir veritabanının içerisine eklenecektir.
Öğrenci Tablosunun Oluşturulması
Yukarıdaki tabloya uygun bir şekilde öğrenci tablomuzu oluşturuyoruz. Öğrenci numaraları otomatik olarak 1’er artacak şekilde ve Birincil Anahtar olarak tanımlandı. Diğer alanların veri tipleri saklayacağı verilere göre belirlendi.
1 2 3 4 5 6 7 8 9 | CREATE TABLE ogrenci ( ogrenci_no INT IDENTITY(1,1) PRIMARY KEY, ogrenci_ad VARCHAR(15), ogrenci_soyad VARCHAR(20), sinif CHAR(3), dogum_tarihi DATE, dogum_yeri VARCHAR(15) ); |
MSSQL’de IDENTITY, ACCESS’te AUTOINCREMENT
MSSQL’de örneğin ogrenci_no alanının 100’den başlayarak beşer beşer artmasını isteseydik otomatik artış seçeneğini IDENTITY(100,5) olarak değiştirmemiz gerekirdi. Bu özellik Microsoft Access veritabanında AUTOINCREMENT ile karşılanmakta ancak 1’den başlayıp birer birer artmakta, başlangıç noktası ve artış değeri değiştirilememektedir. Yazdığımız kodu Execute butonu ile çalıştırıyoruz.
NOT: Çalıştıracağınız kodları yukarıda görüldüğü gibi seçerek çalıştırmak ilerleyen zamanda hatayı daha kolay bulmak için iyi bir yöntem olacaktır. Aksi halde SQL Server Management Studio’nun Query penceresindeki tüm komutlar sırasıyla çalışır.
NOT NULL(Boş Geçilemez Alanlar)
Çoğu durumda oluşturulan tablolara kayıt girilirken boş geçilmemesi gereken alanları belirtmemiz gerekir. Örneğin yukarıdaki öğrenci tablosu örneğinde her öğrencinin adı, soyadı, doğum tarihi ve doğum yeri vardır, ancak henüz sınıfı atanmamış olabilir. Böyle bir durumda ad, soyad, doğum tarihi ve yeri alanları için NOT NULL tanımlaması yapmak gereklidir.
1 2 3 4 5 6 7 8 9 | CREATE TABLE ogrenci ( ogrenci_no INT IDENTITY(1,1) PRIMARY KEY, ogrenci_ad VARCHAR(15) NOT NULL, ogrenci_soyad VARCHAR(20) NOT NULL, sinif CHAR(3), dogum_tarihi DATE NOT NULL, dogum_yeri VARCHAR(15) NOT NULL ); |
DEFAULT (Varsayılan Değerler)
MSSQL’de oluşturulan tabloların bazı alanları için veri gönderilmediği durumlarda otomatik bir şekilde varsayılan değer verilmesi sağlanabilir. Bunun için DEFAULT kısıtlaması kullanılmaktadır. Öğrenci tablosunda, okula kayıt yaptıran her yeni öğrencinin büyük olasılıkla 9. sınıfta olduğunu düşünürsek tabloyu şu şekilde de oluşturabiliriz:
1 2 3 4 5 6 7 8 9 | CREATE TABLE ogrenci ( ogrenci_no INT IDENTITY(1,1) PRIMARY KEY, ogrenci_ad VARCHAR(15) NOT NULL, ogrenci_soyad VARCHAR(20) NOT NULL, sinif CHAR(3) DEFAULT '9', dogum_tarihi DATE NOT NULL, dogum_yeri VARCHAR(15) NOT NULL ); |
Böylece öğrenci tablosuna eklenecek her yeni kayıtta, aksi belirtilmediği sürece sınıf değeri 9 olarak ayarlanacaktır.
One Comment on “SQL Server – CREATE TABLE ile Tablo Oluşturma”