29 Mayıs 2011 Pazar

SQL

SQL, açılımı “Structured Query Language” yani Türkçe karşılığı ile “Yapısal Sorgulama Dili” olan veritabanı işlemleri ve komutlarından oluşan bir dildir. SQL, kullanıcıların isteklerini veritabanı sistemine anladığı dilden anlatan bir söz dizimidir, yani bir dildir. Bu dil sayesinde veritabanında var olan kayıtlar görüntülenebilir, değiştirilebilir ve yeni kayıtlar eklenebilir. SQL bir dildir ,ancak bir programlama dili değildir. Yani, program geliştirme işlemlerinde kullanılır ama tek başına yeterli değildir. Program geliştir iken SQL bilmek programcıya esneklik ve üretkenlik sağlar. SQL her ne kadar iyi bilinirse bilinsin, aynı zamanda iyi bir yapısal programlama dilini de bilmek iyi bir program yazmak için gereklidir.

SQL, 1983 yılında IBM laboratuarlarında çalışmalarla tamamlanmış ve 1987 yılında ISO ve ardında da ANSI tarafından standart olarak kabul edilmiştir. Daha sonra bu standartları kullanarak veritabanı yönetim sistemleri geliştirilmiştir. Bu veritabanı yönetim sistemlerinden en çok bilenen ve kullanılanları ise; Oracle, MS SQL Server, Sysbase, Informix, Progcess ve MySQL (MySQL’in üretirici ve geliştiricisi olan Sun, Oracle tarafından geçtiğimiz yıllarda satın alınmıştır. MySQL’in artık geliştirme çalışmaları Oracle çatısı altında devam edilmektedir. Durumun ne olacağını sonraki makalelerimde tahmin etmeye çalışacağım.) ‘dir. Bütün bu veritabanı yönetim sistemlerinde, temel SQL kodları çalışır. Aynı tablolarda aynı sonuçları verir. Veritabanı yönetim sisteminlerinde kullanılan SQL ifadelerinin farklılaşması ise veritabanı yönetim sistemlerinin SQL’e yapısal sorgulama dillerinden bazı özellikleri eklemelerinden kaynaklanmaktadır. Örneğin temel olarak SQL’den if, case, next, do gibi şartlı ifadeler, döngüler ve karşılaştırmalar bulunmaz. SQL’de bulunmayan bu prosedür, fonksiyon, şartlı ifadeler ve karşılaştırmaların yokluğunu gidermek için; Oracle PL/SQL ( Programming Language /SQL), Microsoft firması SQL Server de T-SQL, Sysbase yine T-SQL dilini geliştirmiştir.

SQL dilinin; karar yapıları, döngüler ve benzeri yapısal programlama dillerindeki özelliklerden yoksul olduğunu yukarda belirttik. Veritabanı yönetim sistemi bu eksikleri PL/SQL yada T-SQL gibi dil tanımlamalarını kullanarak giderir. Ancak veritabanında verilerin hacmi artıkça daha gelişmiş bir veritabanı yönetim sistemine ihtiyaç ise kaçınılmazdır.

Kullanıcı herhangi bir veritabanına bağlandığında SQL (PL/SQL yada T-SQL) komutlarını kullanarak veritabanı yönetim sistemine istekte bulunur. Bu isteklerde kullanılan komutlar 5 kategoride toplanabilir;

a) Veri sorgulama komutları

b) Tabloya veri ekleme, değiştirme ve silme komutları

c) Veritabanı nesnelerini oluşturma, değiştirme ve silme komutları

d) Veritabanına ve nesnelerine erişimi kontrol etme komutları

e) Veritabanın tutarlığını ve bütünlülüğünü kontrol etme komutları

SQL, bir programlama dili olmadığına göre; sadece SQL kullanılarak bir kullanıcı arayüzü tanımlanamaz ya da bir dosya yönetimi yapılamaz. SQL, temelde 3 ifade grubundan oluşur.

1. Veri Tanımlama Dili: (Data Defination Language = DLL) Tablo, trigger, view gibi veri tabanı nesnelerini tanımlayan komutlar bu grupta yer alır. Nesne CREATE komutu ile oluşturulur, ALTER komutu ile değiştirilir ve DROP komutu ile silinir.

2. Veri İşleme Dili: (Data Manuplation Language = DML ) Veri seçme, ekleme, silme ve sorgu sonuçlarında sıralama veya filtreleme gibi komutlar bu grupta yer alır. INSERT ile veri eklenir, DELETE ile veri silinir, UPDATE ile veri güncellenir, SELECT ile veri seçilir, WHERE ile filtrelenir, ORDER ile sıralama yapılır. Ayrıca INTO, FROM, LIKE, GROUP BY, HAVING… gibi yan söz deyimleri de bu grupta yer alır.

3. Veri Kontrol Dili: Veritabanı yönetim sisteminde roller ve kullanıcılar için ifade ve nesne kullanım izinlerini tanımlar. Erişim ve erişim kaldırma ifadeleri ile bu haklar ayarlanır. Ayrıca, erişim engelleme de kullanılan veritabanı yönetim sistemine (Oracle, MS SQL Server) göre bu grupta yer alabilir.

Hiç yorum yok:

Yorum Gönder