Data Definition Language – Veri Tanımlama Dili (DDL)

Herkese merhaba,

Bu yazımda DDL (Data Definition Language) komutlarını anlatmaya çalışacağım.

Data Definition Language (Veri Tanımlama Dili) kısaca DDL temel olarak CREATE, DROP, ALTER ve TRUNCATE komutlarını içerir. Peki bu komutlar nedir, nasıl çalışır? Şimdi tek tek hepsini inceleyelim.

1)CREATE

CREATE komutunu temel olarak yeni bir veri tabanı, tablo, index, prosedür, tetikleyici vs. oluşturmak için kullanırız.

Örneğin yeni bir veri tabanı oluşturmak istediğimizde temel kod yapımız aşağıdaki gibi olacaktır.

CREATE DATABASE database_name

Örneğin yeni bir tablo oluşturmak istediğimizde temel kod yapımız aşağıdaki gibi olacaktır.

CREATE TABLE table_name (column1 data_type, column2 data_type...)

Şimdi CREATE komutunu kullanarak veri tabanı ve tablo oluşturalım.

Resim-1

Veri tabanımız sorunsuz bir şekilde oluştu. Veri tabanı isimlerimiz farklı olmalıdır, aksi halde veri tabanı oluşturma işlemimiz başarısız olur. Örnek olarak aynı isimde veri tabanı oluşturmaya çalışırsak aşağıdaki gibi bir hata ile karşılaşırız.

Resim-2

Yukarıda da gördüğümüz gibi zaten bu isimde bir veri tabanı olduğunu ve farklı bir isimde veri tabanı oluşturmamız gerektiğini anlıyoruz.

Resim-3

USE komutu ile kullanacağımız veri tabanını seçeriz.

CREATE DATABASE ECommerce
USE ECommerce
GO

CREATE TABLE Categories(
Id int Identity(1, 1),
CategoryName nvarchar(50),
Constraint Pk_Category Primary Key(Id)
)

CREATE TABLE Products(
Id int Identity(1, 1),
CategoryId int not null,
ProductCode char(10) not null,
ProductName nvarchar(50) not null,

Constraint Pk_Product Primary Key(Id),
Constraint Fk_Product_Category Foreign Key(CategoryId) References Categories(Id)
)

2)DROP

Veri tabanımızı, tablomuzu yada oluşturduğumuz tetikleyici, prosedürleri vs. veri tabanımızdan silmek istiyoruz. Bunun için DROP komutunu kullanırız. Temel kullanımı aşağıdaki gibidir.

DROP DATABASE database_name

DROP TABLE table_name

DROP TRIGGER trigger_name

DROP SEQUENCE sequence_name vs.

Örneklerimizde de gördüğünüz gibi DROP komutundan sonra kaldırmak istediğimiz nesneyi ve hemen ardından nesnemizin adını yazıyoruz. Kategoriler tablomuzu kaldırmak istersek;

Resim-4

3)ALTER

Veri tabanımızı oluşturduk ama veri tabanımıza yeni kolon eklemek, mevcut kolonu silmek istiyoruz. Bu aşamada ALTER komutu çok işimize yarıyor. Örnek olarak oluşturduğumuz veri tabanına yeni bir kolon eklemek istersek;

Resim-5

Yeni bir kolon ekledik peki mevcut kolonu kaldırmak istersek;

Resim-6

Son olarak tablomuzda bulunan foreign key(yabancıl anahtar) alanını silmek istersek;

Resim-7

4)TRUNCATE

TRUNCATE komutu tablodaki verileri silmek için kullanılır. (DELETE komutunu WHERE şartı eklemeden çalıştırmak gibi düşünebiliriz.) Temel kullanımı aşağıdaki gibidir.

TRUNCATE TABLE table_name

Burada aklınıza bir soru gelebilir: “DELETE komutu ile de silme yapıyoruz, ikisi arasında ne fark var?” Kısaca primary key (birincil anahtar) alanını sıfırlamak için TRUNCATE komutunu kullanırız.

Peki nasıl sıfırlıyoruz? Örnek olarak TRUNCATE komutunu çalıştırdığımızda Id değeri en baştan başlar ama DELETE komutunu çalıştırdığımızda Id değeri en son kaldığı değerden devam eder.

Örnek olarak tablomuza yeni kayıtlar ekleyelim ve aradaki farkı görelim. Tabloya yeni kayıt eklemek ve tabloyu listelemek konusunu bu yazımda anlatmayacağım. Detaylı bir şekilde buradan inceleyebilirsiniz.

Resim-8

Kayıtlarımızı ekledik şimdi ilk olarak tablolarımızda DELETE komutunu çalıştıralım.

Resim-9

Ve tekrar kayıt ekleyelim.

Resim-10

Şimdi TRUNCATE komutunu çalıştıralım.

Resim-11

Tablolara tekrar kayıt ekleyelim ve aradaki farkı görelim.

Resim-12

Evet, gördüğünüz gibi tablolarımız ilk halini aldı. Yani primary key(birincil anahtar) alanımız sıfırlanmış oldu.

* * * * * * * * * * * *

Bu yazımda DDL yani Data Definition Language komutlarını, nasıl kullandığımızı anlatmaya çalıştım. Umarım faydalı olur. Bir sonraki yazıda görüşmek üzere.

Sağlıcakla kalın…

Leave a Reply

Your email address will not be published. Required fields are marked *