Sayfalar

18 Eylül 2013 Çarşamba

QlikView ile Oracle ve Excel Veri Kaynağına Bağlanma

Merhaba Arkadaşlar!

Bir önceki yazımda QlikView hakkında tanıtım mahiyetinde bir yazı yazmıştım. Şimdi QlikView'e uygulamalı olarak biraz daha yakından bakalım. Basit bir kullanımı olmasına rağmen, ülkemizde çok yaygın olmadığı için çok fazla kaynak mevcut değil. O yüzden birkaç veri kaynağına bağlanma (Oracle, Excel) metodunu göstereceğim. Diğer kaynaklara da zaten benzer şekilde bağlanıyor olacaksınız.

UYGULAMA İÇİN:
QlikView'ın resmi sitesinden QlikView Personal Edition sürümünü ücretsiz olarak indirip bilgisayarınıza kurabilirsiniz. Bu sürümü; ticari amaçlar için kullanmadıkça istediğiniz kadar kullanabilirsiniz. Tabii beraberinde bazı kısıtlamalarla birlikte:
  • Başka bilgisayarlarda hazırlanan QlikView dokümanlarını kendi bilgisayarınızda açamazsınız!
  • Sadece QlikView Client yazılımını edinebilirsiniz. Bunun dışındaki Server ve yönetim araçlarını lisanssız olarak kullanamazsınız.
Yani bu şu demek oluyor: Sadece bilgisayarınızda şahsi çalışmalarınız için öğrenme amaçlı olarak bu sürümü kullanabilirsiniz. Onun dışında QlikView ürününüzü lisanslamanız gerekecektir. 

Kurulumu oldukça basit olan bu yazılım (Client) sizi gerçekten yormuyor. Bir OBI yada ODI kurarken harcadığınız o enerjiyi, bu 260 MB'lık yazılımda harcamıyorsunuz. Hatta Server için kurulum dosyası bile 200 MB civarında. Bu sebeple kurulumu anlatmaya gerek görmüyorum.

13 Eylül 2013 Cuma

İş Zekasına En Kolay Çözüm: QlikView

Merhaba Arkadaşlar,

Biraz uzunca bir zamandır yazı paylaşmaya ara verdim. Malum mezuniyet, işe alım süreci v.s. beni yeterince meşgul etti. Bu açıdan şimdi en azından biraz daha rahatlamış durumdayım. Yani öğrendiklerimi paylaşmaya devam ediyor olacağım.

Bu yazıda iş zekası ile haşır neşir olanları gerçekten memnun edecek, şirketlere bu konuda yeni bir soluk getirecek bir tool'dan bahsedeceğim. İlerleyen zamanlarda da bu tool'u ayrıntılı olarak blog üzerinde ele alabiliriz.

QlikView dediğimiz gibi bir iş zekası aracı. Diğer iş zekası ürünleriyle karşılaştırdığımızda neredeyse tüm özellikleri sunmasının yanı sıra bazı çok özel yeni teknolojiler de sunuyor. Şimdi en başından başlayarak bunları irdeleyelim.


QlikView Nedir?

Az önce de belirttiğimiz gibi, iş zekası alanında farklı bir bakış açısıyla esnek, kolay, başarılı sonuçlar üreten çapraz raporlamaya imkan veren, diğer ürünlere mukabil oldukça hızlı sonuçlar döndüren bir iş zekası ve raporlama aracı. Tabi tüm özellikler bunlarla sınırlı değil. Maddeler halinde bakalım:

27 Ocak 2013 Pazar

Şema Nesnelerinin Yönetimi ve Silinen Tabloları Kurtarma

Merhaba arkadaşlar!

Daha önce DDL ve şema nesnelerini anlatan yazılar yazdık. Fakat şema nesneleri üzerinde nasıl değişimler yapacağımız hakkında çok fazla bilgi vermedik. Biraz da bunlardan bahsedelim istiyorum.

Tablolar Üzerinde Değişimler
Daha önce ALTER TABLE komutundan bahsetmiştik. Zaten ALTER komutunu var olan bir nesneyi düzenlemek amacıyla kullandığımızı biliyoruz. Peki ALTER TABLE ile neler yapılabilir?
  • Var olan sütunları değiştirebilirsiniz. Bir sütunda veri tipini, verinin boyutunu ve varsayılan değer kısımlarını değiştirebilirsiniz. Varsayılan değer kısmını değiştirirseniz bu önceki kayıtları etkilemez. Bundan sonraki kayıtlar bu değere göre düzenlenirler.
    ALTER TABE tabloismi
    MODIFY (sütunismi veritipi [DEFAULT varsayilandeger]
    [, düzenlenecek diger sütunlar]);
  • Yeni sütun ekleyebilirsiniz. Eklediğiniz son sütun tabloda en sona yerleşir.
    ALTER TABE tabloismi
    ADD (sütunismi veritipi [DEFAULT varsayilandeger]
    [, eklenecek diger sütunlar]);
  • Var olan bir sütunu silebilirsiniz
    ALTER TABE tabloismi
    DROP sütunismi;
  • Kullanılmayan sütunları "kullanılmayan" olarak işaretleyebilirsiniz. Böylece veritabanındaki performansa pozitif katkıda bulunabilirsiniz. Bir sütunu UNUSED olarak işaretlemek için:
    ALTER TABLE tabloismi
    SET UNUSED [COLUMN] (sütunismi);

    UNUSED durumunu kaldırmak için:
    ALTER TABLE tabloismi
    DROP UNUSED COLUMNS;

25 Ocak 2013 Cuma

Veri Sözlüğü ve Kullanıcı Erişim Hakları

Merhaba Arkadaşlar!

Biliyoruz ki Oracle RDBMS; güvenli oluşuyla tercih edilen bir sistemdir. Zaten veritabanına bağlandığınız andan itibaren size verilen yetkilerle hareket etmek durumundasınız. Tabiri caizse bir başkasının şemasında at koşturmanıza izin verilmez :) Her kullanıcı kendi şemasında çeşitli haklara sahip olduğu gibi başkalarının şemalarında da bazı ayrıcalıklara sahiptir. Tahmin edeceğiniz gibi bu hakları veritabanı yöneticileri belirler. Bazen de yetkili olan kullanıcılar kendi şemalarında diğer kullanıcıların neler yapabileceğini belirleyebilirler. Bugün tüm bunların nasıl yapılacağını öğreneceğiz.

Tüm bu hak verme işlemleri PL/SQL ile sağlanır. Veritabanı yöneticileri, kullanıcıyı daha oluştururken bu hakları belirlerler. Kullanıcı aktif olup, veritabanına bağlandığı andan itibaren, bu haklar devreye girerler. Yani DBA sizin ne kadar özgür olmanızı istiyorsa o kadar özgürsünüz demektir :) Bu sınırların ötesine geçemezsiniz.

Takdir edersiniz ki bu hakların verilmesi büyük önem arz eder. Bir kullanıcıya yanlışlıkla maaşların tutulduğu tabloya yazma hakkı verirseniz ve bu kullanıcı da muzur çıkar ve biraz da SQL biliyorsa, tüm şirketi ters yüz edebilir. Bazen öyle durumlar olur ki DBA bile bazı tablolar üzerinde tam yetkili olamaz.Bu açıdan bakıldığında bu konunun önemli olduğunu anlıyoruz. Şimdi; SQL konuları boyunca sürekli veri sözlüğü olarak bahsettiğimiz alan hakkında bilgi vererek konuya başlayalım. Zira bu konu bugünkü konu ile de yakından ilgili.

24 Ocak 2013 Perşembe

Hiyerarşik Sorgulama

Merhaba Arkadaşlar!

Veriler veritabanında çoğu kez bir ağaç yapısıyla yerleşirler. Örneğin; bir şirketin organizasyon yapısını düşünürseniz, en başta şirketin sahibi, onun altında bölümlerin yöneticileri, onun altında iş birimlerinin yöneticileri ve en altta da çalışanlar şeklinde hiyerarşik bir yapıda dizilirler. Bu bir ağaç yapısıdır. Ağaç yapısında düğümler ve dallar olur. Dallar düğümleri birbirine bağlayan ilişkilerdir. Burada elbette ağaç veri yapısını anlatmayacağım.

Açıklamak istediğimiz nokta şu: Veritabanlarında saklanan veriler arasındaki hiyerarşiyi nasıl ortaya çıkarabiliriz? Örneğin sizden bir şirketin çalışanları arasındaki hiyerarşik yapıyı bulmanız istendi. Bunu nasıl sorgularsınız? Elbette Oracle'ın PL/SQL'i bu duruma bir çözüm getiriyor. Hemen bakalım:

SELECT [LEVEL], sütunlar, ifadeler...
FROM tabloismi
[WHERE sartlar]
[START WITH sartlar]
[CONNECT BY PRIOR sartlar];


ROLLUP ve CUBE İle İstatistik Oluşturma

Merhaba Arkadaşlar,

SQL ile ilgili konuları tamamladık. Şimdi bazı temel PL/SQL kavramlarını öğrenmeye çalışacağız. Elbette PL/SQL uzmanı olmak için uğraşmıyoruz :) Ancak bizim için çok yararlı olabilecek komutları öğrenmek durumundayız. Ki Oracle sertifikasyon sınavlarını başarmak isteyen biriyseniz; bu kavramların da sınav konularına dahil olduğunu bilmenizi isterim.

Bu kez, daha önceden öğrendiğimiz GROUP BY ifadesini yeni kavramlarla zenginleştireceğiz. Bunlar ROLLUP ve CUBE kavramları.

Biliyoruz ki Oracle'ın, iş dünyasında tercih edilmesinin önemli nedenleri arasında; "çok özel istatistiksel bilgi sunma kabiliyeti" sayılır. Hatta öyle ki bu yetkinliklerden OLAP uygulamasını kullanmadan da faydalanabilirsiniz. Biliyorsunuz ki OLAP çok boyutlu bir raporlama sistemi ve veritabanızdaki verilerle oluşturacağınız raporlamalarda size inanılmaz kolaylık sağlayan bir sistem. Ancak OLAP kullanmak istemediğinizi yada sisteminizde OLAP sisteminin aktif olmadığını düşünelim. Verilerinizi nasıl istatistiksel olarak görüp değerlendireceğiz?

Konuya geçmeden önce hemen GROUP BY ifadeli olan SQL cümlemizin son halini kısaca hatırlayalım:

22 Ocak 2013 Salı

HR Şeması İle Uygulamalı SQL(Şema Nesneleri)

Merhaba Arkadaşlar!

Bu yazıda tablolardan sonraki diğer şema nesneleriyle ilgileneceğiz. Böylelikle SQL konusunu bitirmiş oluyoruz. Ancak daha sertifika sınavları sadece SQL'den ibaret değil. Bu sınavlar için PL/SQL'in bazı konularını daha bilmeniz gerekiyor. Bunları da mümkün oldukça burada işleyeceğiz.

1. Görüntüler(Views)
Görüntüler hayali, aslında fiziksel olarak var olmayan tablolardır. Sanal bir tablo olarak düşünebilirsiniz. Bu tabloları bir veya birden fazla gerçek yani fiziksel olarak var olan tabloların birleşiminden oluşturursunuz. Böylelikle aşağıdaki avantajları yakalarsınız:
  • Çok sık kullanılan ve aynı tabloda bulunmayan verilerin bir tabloda birleşimi ile kullanım kolaylığı sağlar.
  • Veriyi tablodan bağımsız hale getirir ve kullanım esnekliği sağlar.
  • Erişimini kısıtlamak istediğiniz verileri bu yöntemle kısıtlarsınız.
  • Karmaşık sorguların (çok fazla JOIN içeren v.b.) kolaylaştırılmasını sağlar.
Bu faydalarla görüntüler işinizi gerçekten kolaylaştıracaktır. Tablo oluştururken kullandığımız DDL komutları bütün şema nesneleri için kullanılır. Oluşturmak için CREATE VIEW, değiştirmek için CREATE OR REPLACE VIEW, düşürmek/kaldırmak için DROP VIEW şeklinde kullanılır.