Tasarım görünümünde sorgu oluşturmak

Libreoffice Türkiye Vikisi sitesinden
Atla: kullan, ara



LibreOffice.org Base uygulamasında sorgu oluşturmada 3 seçenek mevcuttur. Bunlar;

  • Tasarım Görünümünde Sorgu Oluştur.
  • Sihirbaz Kullanarak Sorgu Oluştur.
  • SQL Görünümünde Sorgu Oluştur.

Şimdi bu maddeleri ayrıntılı bir şekilde inceleyeceğiz. Fakat bundan önce sorguları oluşturabileceğimiz bir veritabanına sahip olmamız gerekiyor. Bu veritabanı herhangi bir konu üzerine olabilir. Ben kitap takibi üzerine küçük bir veritabanı oluşturdum ve örneklerin tamamında bu tabloları kullandım. Eğer isterseniz sizler yeni bir veritabanı oluşturabilir veya mevcut veritabanınızı kullanabilirsiniz. Veritabanı oluşturma hakkında bilgisi olmayanlar daha önce yayınladığımız Temel Base Özellikleri adlı makaleyi okuyabilirler.

Tüm örneklerimde kullanacağım tablolar aşağıdaki gibidir.


BaseTasarim 1.png


BaseTasarim 2.png


BaseTasarim 3.png


BaseTasarim 4.png


BaseTasarim 5.png


LibreOffice.org Base uygulamasını mevcut veritabanımız ile başlatıyoruz. Ardından sol menüde yer alan Sorgular sekmesine geçiş yapıyoruz.


BaseTasarim 6.png


Sorgular bölümünü seçtiğimizde karşımıza 3 seçeneğin çıkacağını az önce söylemiştik. Şimdi bu seçenekleri tek tek inceleyelim. Sorgular bölümünden Tasarım Görünümünde Sorgu Oluştur'a tıklıyoruz.

Karşımıza sorgu tasarım penceresi ile birlikte küçük bir diyalog penceresi gelecektir. Bu küçük pencere tablo ve/veya sorgu eklemede kullanılacaktır. Tablolarımızın görüntüsü aşağıdaki gibi olacaktır.


BaseTasarim 7.png


Bu diyalog penceresinde bulunan tabloların hepsini teker teker seçip Ekle butonu yardımıyla sorgu tasarım penceresine aktarıyoruz. Tablolarımızı aktardıktan sonra Kapat butonuna tıklayarak küçük diyalog penceresini kapatabilirsiniz. Eğer bu pencereyi yanlışlıkla kapatmış iseniz tekrar açmak için Ekle-->Tablo veya Sorgu Ekle yolunu takip ederek ya da kısaca F7 tuşuna basarak başlatabilirsiniz. Aktarmış olduğumuz tabloların görüntüsü aşağıdaki gibi olacaktır.


BaseTasarim 8.png


Gördüğünüz gibi tablolar yan yana dizilmiş durumda ve şuan birbirleriyle herhangi bir ilişkileri bulunmamakta. Şimdi bu tabloları biraz düzenleyelim ve gerekli ilişki için bağlantıları yapalım. Tabloları farenin(Mouse) sol tuşuna basılı tutarak istediğiniz yere sürükleyebilirsiniz ve aynı zamanda tabloların sağ alt köşesinden fare yardımıyla görünümlerini büyütebilirsiniz. Aranızdan bazıları tabloları illa düzenlemek zorunda mıyız? Diye sorular sorabilir. Buradaki amaç tabloların birbiriyle olan ilişkilerini ve biz kullanıcıların sorgu oluşturma esnasında karmaşık bir görüntünün oluşmamasını sağlamaktır.Tabloları düzenledikten sonra ne demek istediğimi daha iyi anlayacaksınız. Düzenlenmiş hali aşağıdaki gibi görünecektir.


BaseTasarim 9.png


Artık tablolar arasındaki ilişkileri de belirledikten sonra sorgu oluşturmak için önümüzde hiçbir engel kalmamıştır. Sorgumuza tablo eklemek için hemen alt tarafta bulunan menüden Alan adlı bölümden yararlanacağız. Alan adlı bölümün yanında bulunan açılır listeden eklemek istediğiniz tablonun adını seçebilirsiniz. Burada dikkat etmeniz gereken bir husus var. Yukarıda yapmış olduğumuz bağlantı işlemlerinden Alan adları değişebilmektedir. Bu yüzden sorguya başlamadan önce tüm bağlantı işlemlerinizi bitirin. Yoksa sorgularınız hata verecektir. Şimdi eklediğimiz tabloyu bir görelim.


BaseTasarim 10.png


Alan kısmından KIRALAMALAR tablosunda bulunan KIRA_ID adlı alanı eklemiş olduk. Burada yabancı olduğunuz birkaç seçenek olabilir. Bunlar Takma Ad, Sırala ve Görünürdür. Bu kavramları sorgularda çok sık kullanacağız. İsterseniz hemen kısaca inceleyelim.


  • Alan : Biraz önce de bahsettiğimiz gibi tablodan alan ekler.
  • Takma Ad : Eklemiş olduğunuz alan adını değiştirmek için kullanılır.(Sadece Sorguda)
  • Tablo : Eklemiş olduğunuz alan adının hangi tabloda yer aldığını gösterir. İsterseniz bu bölümü menüden Tablo İsmi butonuna tıklayarak kapatabilirsiniz.
  • Sırala : Mevcut alandaki verileri sıralamak için kullanılır. Eğer isterseniz bu verileri artan veya azalan şekilde sıralayabilirsiniz.
  • Görünür : Bu seçenek sadece eklemiş olduğunuz bu alanın sorguda görünüp görünmeyeceğini belirler. İsterseniz görünmesini istemediğiniz alanları bu seçenekle iptal edebilirsiniz. Örneğin 2 tane alanı toplayıp yeni bir alan oluşturduğunu düşünelim. Sorgu sonucunda sadece toplam alanını görüp, diğer 2 alanı görmek istemeyebilirsiniz. Görmek istemediğimiz alanları neden ekliyoruz? Sorusu aklınıza gelebilir. Az önce verdiğim örnekte olduğu gibi toplanacak 2 alan eklenmek zorunda ancak görüntülenecek alan bu ikisinin toplamı olacaktır.


Bu şekilde sorgumuza birkaç alan ekleyerek çalıştıralım. Bakalım herhangi bir işleme tabi tutmadan nasıl görünecek. Eklemiş olduğum alanlar aşağıdaki gibidir.


BaseTasarim 11.png


Sorgunuzu Düzenle-->Sorgu Çalıştır yolunu takip ederek, araç çubuğunda yer alan Sorgu Çalıştır butonuna tıklayarak veya kısaca F5 tuşuna basarak çalıştırabilirsiniz. Eğer buraya kadar anlatılanları doğru bir şekilde yapmış iseniz sonuç aşağıdaki gibi olacaktır.


BaseTasarim 12.png


Evet artık basit bir sorgu oluşturacak kadar bilgiye sahibiz. Ama şimdi isterseniz bu sorguları biraz daha geliştirmeyi öğrenelim. Bu konuda kullanacağımız diğer bölümler ise şunlar olacaktır.


BaseTasarim 13.png


Kısaca bahsetmek gerekirse.

  • İşlev : Bu bölümde hazır işlevleri(Topla, Minimum vb.) kullanarak alanlar üzerinde bir takım sorgular oluşturmamıza yarar.
  • Kriter : Bu bölüm, kendi belirlediğiniz bir kriter mevcut ise bunu yazarak sorguya eklemenizi sağlar. Ör(<> Mehmet)
  • Veya : Sorguya birden fazla kriteri veya operatörü ile ekler.

Bu konuları sırası geldikçe inceleyeceğiz.

Sıralama Yapmak

Sizden istediğim yukarıdaki yapmış olduğumuz basit sorguya bir kez daha bakmanız. Sizinde görmüş olduğunuz gibi UYE_ID alanında bulunan sayılar sıralı değildir. Eğer bu bizim için bir sorunsa hemen Sırala bölümünden verilerin sıralanmasını sağlayabiliriz. Azalan veya artan seçeneğini işaretledikten sonra sorguyu tekrar çalıştırmayı unutmuyoruz.


BaseTasarim 14.png


Sıralamadan sonraki görüntü aşağıdaki gibi olacaktır.


BaseTasarim 15.png


 UYARI : Bu sıralamayı yaptıktan sonra diğer alandaki verilerin sırasının da değişeceğini unutmayın.

Kriter Eklemek

Kitap takibi yaptığımızdan dolayı bazen belli tarihleri listeden çekip almak isteyebiliriz. Düşünsenize yüzlerce hatta binlerce satır işlem varsa bu bizim için kaçınılmaz olacaktır. İşte bu yüzden kriter belirleriz. Ama bu işlemi yapmadan önce kullanabileceğimiz karşılaştırma operatörlerini bir tanıyalım.


  • = Eşittir
  • <= Küçük eşittir
  • >= Büyük eşittir
  • > Büyüktür
  • < Küçüktür
  • <> Eşit değildir


Bu verdiğimiz operatörleri zaten matematikten hatırlıyoruz. İşte bunları kriter bölümünde rahatça kullanabileceğiz. İsterseniz hemen bir örnek yapalım.


Teslim tarihi 15/03/2012 dan daha büyük tarihleri listelemesini isteyelim. Bunun için TESLIM_TARIHI adlı alanın altında yer alan kriter kutucuğuna “> 15/03/2012” değerini yazalım ve ardından sorgumuzu çalıştıralım.


BaseTasarim 16.png


Sorgumuzun görüntüsü aşağıdaki gibi olacaktır.


BaseTasarim 17.png


Kriter bölümünü yukarıda listelediğimiz karşılaştırma operatörleri ile kullanmak zorunda değilsiniz. İsterseniz tabloda yer alan verileri kriter olarak kullanabiliriz. Bu işlemi örnek üzerinde inceleyelim. Öncelikle sorgumuza UYE_ADI adlı alanı ekleyelim. Ardından eklemiş olduğumuz alana kriter olarak 'HAMURCU' değerini verelim. Sorgumuzu çalıştırarak sonucu inceleyelim.


BaseTasarim 18.png


Sorgumuzun görüntüsü aşağıdaki gibi olacaktır.


BaseTasarim 19.png


Sonucu incelediğimizde sadece HAMURCU adlı üyenin listelendiğini göreceğiz. Bu işlemi diğer alanlar içinde rahatlıkla kullanabilirsiniz.


Eğer isterseniz daha karmaşık bir kriter belirlemekte mümkün. Bu işlem için VEYA bölümünden de yardım alabiliriz. Örneğin, HAMURCU veya PEKGENÇ adlı üyenin 12/02/2012 tarihinden sonraki işlemlerini almak isteyelim. Artık bu konuda ne yapacağınızı biliyorsunuz. Hemen ilgili işlemleri yapalım.


BaseTasarim 20.png


Sorgumuzun görüntüsü aşağıdaki gibi olacaktır.


BaseTasarim 21.png


Kriter kullanımının başka bir modeli daha var. Bu modelde LibreOffice.org Base komutlarının yardımıyla bir takım işlemler yaptırabiliriz. Mesela basit bir arama işlemi gibi. Yukarıdaki örnekte üyenin soyadını tamamını yazarak elde edebildik. Halbuki bu model ile daha ayrıntılı sonuç elde edebiliriz. HAMURCU yerine sadece H yazarak listedeki H ile başlayan tüm soyadları listeleyebiliriz. Ama nasıl? Çok basit. İlgili alanın kriter bölümüne LIKE A*(Türkçe Olarak BENZER) değerini yazarak istediğimiz sonucu elde edebiliriz. Buradaki * karakteri bir operatör olup her şey anlamını taşır. Yani yukarıda yapmış olduğumuz işlemin anlamı, H değeri ile başlayan bütün satırları getir demektir. Lafı fazla uzatmadan örneğimizi uygulayalım.


BaseTasarim 22.png


Sorgumuzun görüntüsü aşağıdaki gibidir.


BaseTasarim 23.png


SQL ile aşina olanlar LIKE komutunun bir SQL komutu olduğunu söyleyebilirler. Evet doğrudur. Fakat bu kullanım tüm SQL komutları için geçerli değildir. Sadece benzer özellikler taşır. Bu işlemde kullanabileceğimiz bazı komutları veya operatörleri bir liste halinde göstermek gerekirse.


LibreOffice.org Komutları
Komut Türkçe Açıklama
LIKE BENZER Verileri istenen şekilde listelemek ya da aramak için kullanılır.
IS EMPTY Boş olan değerleri döndürür.
IS NOT EMPTY Boş olmayan değerleri döndürür.
=TRUE Değeri doğru olan yani sayısal olarak 1 olan değerleri döndürür.
=FALSE Değeri yanlış olan yani sayısal olarak 0 olan değerleri döndürür.
BETWEEN X AND Y İki değer arasındaki verileri döndürür.


İşlev Eklemek

LibreOffice.org Base bizlere sorgumuzda kullanmak üzere bir takım hazır işlevler sunar. Bunlar aşağıdaki gibidir.

  • Ortalama : Sayısal değere sahip bir alandaki değerlerin ortalamasını hesaplar.
  • Say : Kaç adet satır olduğunu bildirir.
  • Maksimum : En büyük değeri döndürür.
  • Minimum : En küçük değeri döndürür.
  • Topla : Sayısal değere sahip bir alandaki değerlerin toplamını hesaplar.
  • Her Zaman :
  • Hiçbir Zaman :
  • Zaman Zaman :
  • STDDEV_POP :
  • STDDEV_SAMP :
  • VAR_SAMP :
  • VAR_POP :
  • Biriktir :
  • Birleştir :
  • Kesişme :
  • Grup : Seçilen alandaki verileri gruplar.

Alanların Mevcut Biçimini Değiştirmek

LibreOffice.org Base her zaman varsayılan olarak basit bir alan görünümü sağlar. Varsayılan görünüm aşağıdaki gibidir.


BaseTasarim 23.png


Alanlarda kullanacağımız birçok veri tipi mevcuttur. Bunlar sayı, tarih, zaman vb. veri tipleri olabilmektedir. Ancak kullanacağımız bu veri tipleri sorgularda varsayılan bir biçimde görünür. Mesela bizim kullandığımız tabloda tarihler mevcut. Tarihlerin varsayılan biçimi 12/02/2012 dur. Diyelim ki tarihin 12.Şubat.2012 olarak görünmesini istiyoruz. İşte tam burada alan biçimi ortaya çıkıyor. Hangi alan üzerinde değişiklik yapacaksak o alanın üzerinde farenin sağ tuşuna basarak açılan menüden sütun biçimini seçeceğiz.


BaseTasarim 24.png


Karşımıza gelen bu diyalog penceresinden verinin kategorisini belirledikten sonra istenilen biçim seçilecektir. Bizim verimiz tarih olduğundan dolayı Kategori bölümünden Tarih'i seçeceğiz. Ardından biçim menüsünden 31.Aralık.1999 değerini seçerek Tamam butonuna tıklıyoruz. Bundan sonra tarih alanı bu seçtiğimiz biçimde görünecektir. İsterseniz örnek üzerinde ne yapmışız bir görelim.


BaseTasarim 25.png


Gördüğünüz gibi KIRA_TARIHI adlı alanın mevcut biçimini düzenledik ve görüntüledik. Bu kullanımı tüm veri tipleri için yapmak mümkündür. Ayrıca aynı menüden verilerin hizasınıda ayarlayabilirsiniz.


Eskiwiki.png This page is imported from Eskiwiki (previously Wiki.OpenOffice.org.tr) The whole page content and all revisions are licensed under:
24px24px This work is licensed under the Attribution NonCommercial 3.0 Unported License