Özet:
Bugünün dünyasında, yaşam kalitemizi artırmak amacıyla bilgisayar kullanmak eğitim, bankacılık, sağlık, mühendislik, idari işler gibi bir çok sahada çok önemli bir rol oynar. Bilgisayarlar aynı işi otomatik olarak ve daha verimli yapacağından insan kaynaklı hatalar en aza indirgenir. Bilgisayarlar teşhis numaralan, banka hesaplan ve barkodlar gibi pek çok önemli bilgileri saklarlar ve bu bilgiler birçok kez tekrar tekrar kullanılabilirler. Veritabanı sistemi, temel olarak bilgisayar tabanlı veri saklama sistemidir. Bu sistemin amacı veri saklamak ve gerektiğinde veriye erişmektir. Bir veritabanı yönetim sistemi kullanıcılarının veriye erişebilmesi için bir sorgulama diline ihtiyaç duyar. Yapısal sorgulama dili olan SQL çoğu veritabanı sisteminde kullanılan en yaygın ve standartlaşmış sorgulama dilidir. SQL İngilizce tabanlı bir dildir. Create, select, update, delete, insert into, where, order gibi komutları vardır. Kayıtlar kümesinin en genel şekli tablodur. SQL çeşitli işler için komutlar sağlar. Bunlar veriyi sorgulama, güncelleme, kayıt eklenmesi, silinmesi, veri tabanı nesnelerinin düzeltilmesi ve silinmesi, veritabanı ve veritabanı nesnelerinin erişiminin kontrol edilmesidir. Bu tezde, en son sorgu iyileştirme yaklaşımı olan Anlamsal Sorgu İyileştirme (SQO) yaklaşımına odaklanılmıştır. SQO, verilen bir sorguya alternatif sorgular inşa etmek için anlamsal bilgiler (kurallar) kullanır ve sonra alternatifler içinde optimum sorguyu, hesaplama maliyetlerine göre seçer. Daha da fazlası, bu alternatif sorgular anlamsal olarak aynı fakat sözdizimsel olarak farklıdırlar. Önemli olan alternatif sorguların hepsinin aynı cevap kümesine sahip olmasıdır. Bir başka önemli husus ise bu kuralların ilk sorgudan itibaren türetilmesidir. Türetilen kurallar kullanılarak yeni kuralların elde edilmesi sağlanabilir. Kuralların kullanımında maksimum performans artışı, sorgunun veritabanına giriş yapılmadan sonucunun verildiği durumlarda sağlanır. Diğer performans kazanımı ise kurallar sayesinde sorgunun daha hızlı arama metotları ile yapılmasıdır. Örneğin birincil anahtar veya dizin içeren kuralların kullanılmasında performans artışı ispatlanmıştır. SQO yaklaşımı çeşitli bileşenlerden oluşur: Sorgunun ifade edilmesi, otomatik olarak sorguya dayalı öğrenme, sorgunun iyileştirilmesi ve öğrenilen bilgilerin, kısaca kuralların güncellenmesidir. Tez içerisinde ise kuralların sorgulama performans artışının, DML'lerde de sağlanmasının araştırılması ve araştırma sonuncunda bu artışın ispatlanması yapılmaktadır.