Query Builder ile Sorgu Görselleştirme/Geliştirme

Herkese Selam,

Bu yazıda Oracle SQL Developer’ın Query Builder özelliğinden kısaca bahsedeceğim umarım farkındalık anlamında faydalı bir yazı olur.

Yazılım geliştirdiğimiz araçların her geçen gün daha görsel ve kullanıcı dostu arayüze sahip olduğunu görüyoruz. Yazılım üreticilerin yaptığı bu kullanıcı dostu arayüzlerin yazılım geliştiricilerin hayatını her geçen gün daha da kolaylaştırdığına şahit oluyoruz. Geçmişte bir çok adımda yaptığımız geliştirmeleri artık çok basit sihirbazlar ile gerçekleyip uygulamalarımızı geliştirebiliyoruz. Oracle SQL Developer’da bu noktada DB üzerinde sorgu yazan geliştiricilerin hayatlarını bir miktar daha kolaylaştırmak adına Query Builder özelliğini ürün içerisine entegre etmiş durumda. Bu özellik ile sorgu yazmaya yeni başlayan veya SQL bilgisi çok iyi olmayan profesyoneller için daha kolay sorgu yazma ortamı sağlanırken, sorgu yazma konusunda profesyonel olan kullanıcılar içinse yazdıkları sorguları görselleştirme fırsatı sunulmakta.

Şimdi bu özelliğin nasıl kullanıldığını daha iyi kavrama adına iki tane örnek gerçekleyelim.

Sorgu: Employees tablosundaki maaşı (salary) 10000’den büyük olan çalışanların first_name, last_name, department_name ve çalıştıkları departmanın hangi ülkede olduğu bilgisini (country_name) gösteren sorguyu Query Builder ile yapalım.

İlk olarak Query Builder’ın nerede olduğunu aşağıdaki görselden görebilirsiniz.

builder

 

Query builder ı açtıktan sonra şimdi sorgumuzdaki kolonların tek tek hangi tablolardan geldiğini listeleyelim.

Employees : first_name, last_name

Departments: department_name

Countries: country_name

Şimdi bu tabloların hangi kolonlar ile bağlanacağı bilgisini söyleyelim.

Employees ve Departments tabloları department_id üzerinden joinlenerek first_name, last_name ve department_name kolonları elde edilecek.

Countries tablolosundaki country_name kolonuna ulaşabilmek için departments tablosundan doğrudan bir bağlantı ile countries tablosuna gidemiyoruz. Veri modeli gereği departments tablosundaki location_id kolonu ile  locations tablosuna gidip elde ettiğimiz country_id bilgisi ile countries tablosuna gidip buradan country_name kolonunu elde edeceğiz.

Kurallarımızı belirledikten sonra şimdi Query Builder ile sorgumuzu oluşturmaya başlayalım.

builder

Yukarıdaki görselde gösterilmiş 1 numaralı alanda bizim tablo listemiz bulunmakta. Görselde ki 2 numaralı alan ise sorgumuzu oluşturacağımız alan. İlk etapta sorgumuzda kullanacağımız employees, departments, countries ve locations tablolarını tek tek 1 numaralı alandan 2 numaralı alana sürükleyip bırakalım.

graf

Query Builder da gördüğümüz görsel yukarıdaki gibi olacak. Gördüğümüz üzere Oracle kolon adları aynı olan kolonları otomatik bağlayarak bize ekstra bir iş bırakmadı. Ancak bu bağlamada işimize yaramayacak 1 join işlemini daha gerçekledi. Görsel’de kırmızı ile işaretlemiş olduğum bağlantı bu sorgu için gereksiz bir bağlama alanı. Dolayısıyla bu bağlantıyı, bağlantı üzerine sağ tıklayarak açılacak seçenekler arasından Remove opsiyonuna tıklayarak kaldırınız.

Evet bu işlemide yaptıktan sonra geri kalan işlemlerimiz filtre ve ekranda gösterilecek alanları seçmek. Öncelikle kolonlarımızı aşağıdaki görselde gösterildiği gibi işaretleyerek işlemimizi tamamlayalım.

builder2

Evet kolonlarımızı seçtikçe aşağıdaki output penceresinde seçtiğimiz kolonların listelendiğini görüyoruz. Şimdi son işlemimiz olan filtre operasyonunu gerçekleyelim. Bunun için employees tablosundaki salary kolonunu öncelikle seçip output penceresine gelmesini sağlayalım, daha sonra output kolonundaki işaretçinin onayını kaldırarak ekranda görünmesini engelleyip, criteria kolonuna >10000 değerini yazalım ve yukarıdaki sorgu çalıştırma düğmesine basalım.

queryresult Evet gerekli işlemleri yaptıktan sonra Query Builder daki yapıyı Run düğmesi aracılıüı ile çalıştırdığımızda Query Result penceresinde sorgu sonucumuzu görmekteyiz. Şimdi Query Builder tabının hemen yanındaki worksheet tabını tıkladığımzda bu görsel sonucunda oluşturulan SQL’ide net bir şekilde görebilmekteyiz.

builder3

 

Görselden de anlaşılacağı üzere sorgumuzun başarılı bir şekilde SQL cümlesinin de paralelde oluştuğunu gözlemledik.

Bu işlemin tam tersi de başarılı bir şekilde çalışmakta. Yani önce sorguyu yazıp sonra Query Builder sekmesine tıklayarak yazdığımız sorguyu görselleştirebiliriz.

Sonuç olarak çok karmaşık sorguları oluşturma da ve görselleştirmede çok tercih edeceğiniz bir yöntem olmasa da. Basit ihtiyaçlarınız görmek için ve sorguları hızlıca görselleştirip, sorguların okunabilirliğini arttırma konusunda başarılı sonuçlar elde edilebilir.

Advertisements

About ... from Emrah METE

Bilgisayar Mühendisi
This entry was posted in Oracle, Uncategorized and tagged , , , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s