Sayfalar

20 Ocak 2013 Pazar

HR Şeması İle Uygulamalı SQL(DDL)

Merhaba arkadaşlar!

SQL'e ait son konularla devam ediyoruz. DML komutlarından sonra sıra DDL komutlarında. DDL'e geçmeden neden DDL komutlarına ihtiyaç duyuluyor kısaca bahsedelim:

Bildiğiniz gibi DDL-Data Definiton Language yani Veri Tanımlama Dili, veritabanı nesnelerini oluşturmak ve yönetmek maksadıyla kullanılır. Peki nedir bu veritabanı nesneleri:

  • Tablolar: Verilerin saklandığı satır ve sütunlardan oluşan yapılar.
  • Görüntüler: Tabloların kullanıcı ihtiyacına göre şekillendirilerek hayali tablolar oluşturmayla meydana gelen tablo benzeri yapılar. Kullanım kolaylığı için tercih edilirler.
  • İndeksler: Verilere erişim hızınızı ve sorgu performansınızı artıran, verilerin bir bakıma adreslerini tutan yapılar.
  • Eş Anlamlılar: Herhangi bir veritabanı nesnesine kullanım kolaylığı için farklı isimler verilebilir.
  • Sekanslar: Özel durumlarda sayısal değerler üretmeniz gerekebilir. Bu durumda sekanslara ihtiyacınız olacak.

19 Ocak 2013 Cumartesi

HR Şeması İle Uygulamalı SQL(DML ve Veri Tutarlılığı)

Merhaba arkadaşlar!

Biliyoruz ki SQL deyimleri, kendi içerisinde komutların amaçlarına göre bir kaç başlık altında incelenirler. Bu başlıklardan SQL için olanları iki şekilde inceleriz:

  • DML-Data Manipulation Language: Ver işleme dili
  • DDL-Data Definiton Language: Veri tanımlama dili
Neden özellikle SQL için diye belirttim çünkü özelleşmiş SQL versiyonlarında (PL/SQL- T-SQL v.b.) eklenen diğer komut ve deyimlerle bu maddeler çoğalmaktadır. Örneğin COMMIT ve ROLLBACK komutları DDL yada DML komutları değildir. Veri kontrol dili (Data Control Language) başlığı altında incelenen bu komutlarla birlikte, kullanıcıya haklar tanıma, rol oluşturma gibi diğer özel işlemler gerçekleştirilir. Şimdilik SQL ile çalıştığımızdan bunlar ile işimiz yok. Ancak burada bir kaç DCL komutu ile ilgili bilgi vereceğiz. Çünkü DCL Oracle ile çalışmanın püf noktalarından ve veri tutarlılığı için büyük önem arz etmekte. 

Bu yazıda DML komutlarını ele alıp uygulayarak açıklamaya çalışacağız. Bir sonraki yazı da DDL ile ilgili olacak. Başlayalım:

18 Ocak 2013 Cuma

HR Şeması İle Uygulamalı SQL(Küme Operatörleri)

Merhaba arkadaşlar!

Aslında SQL'in zorlu kısımlarını bitirdik sayılır. JOIN, alt sorgular en karmaşık gelebilecek konulardı. Geriye bazı küme operatörleri, DDL, DML ve diğer şema nesneleri ile ilgili işlemler kaldı. Tabi eğer PL/SQL'den bahsediyorsak daha çok konu var demektir. Ama biz burada SQL'i temel alıyoruz.

Bugün küme operatörlerini inceleyeceğiz. Neden küme operatörü diyorum? Çünkü ilkokuldan tanıdığımız küme mantığını tablolar arasında uygulayan basit bir işlemdir. Gerçekte ise "set operatörleri" olarak geçiyor. Burada üç adet operatör tanıyacağız:

  • UNION/UNION ALL: Birleşim işlemi
  • INTERSECT: Kesişim işlemi
  • MINUS: Fark işlemi

17 Ocak 2013 Perşembe

HR Şeması İle Uygulamalı SQL(Alt Sorgular)

Merhaba Arkadaşlar,

SQL çalışmalarımız tüm hızıyla sürüyor :) Yazılar biraz uzun oluyor ama bunun sebebi uygulamalı olarak deyimleri incelememiz. Eğer siz de bu deyimleri uygulayarak yapıyorsanız sonuçlarınızı karşılaştırabilmeniz adına sorguların çıktılarını da veriyorum.

Şimdi bugün de alt sorguları işleyeceğiz. Hemen kısaca giriş yapalım. Diyelim ki yöneticiniz sizden X kişisinin çalıştığı ülkede çalışan kişilerin maaşlarını görüntüleyen bir rapor istedi. Bu durumda tek bir sorgu ile işin içinden çıkmanız gerçekten zor. İç içe iki sorgu ile çalışmak durumundasınız. Bu gibi durumlarda sorgular hiyerarşik olarak dizilmelidir. Yani içteki sorgudan dönen sonucu dıştaki sorgu işleyerek asıl amaca dair çıktıyı size vermelidir. Mesela verdiğimiz örnekte içteki sorgu X kişisinin çalıştığı ülkeyi çekmelidir. Ana sorgu ise bu şehirde çalışan kişilerin maaşlarını görüntüler.

Alt sorguların amacını açıkladıktan sonra konuya başlayabiliriz.

16 Ocak 2013 Çarşamba

HR Şeması İle Uygulamalı SQL(JOIN)

Merhaba Arkadaşlar!

Şimdiye kadar sorgularımızda hep bir tablodan veri çektik. Yani FROM "tabloismi" ifadesini sadece bir tablo ile kullandık. Oysa buradaki tablo sayısını artırmak mümkündür. Çoğu zaman gelişmiş sorgularda tek tablo ile değil belki de üç tablo ile çalışmanız gerekecek. Bu gibi durumları bugün ele alalım. Öncelikle işi karmaşıklaştırmadan FROM ile nasıl birden fazla tablolarla çalışırız ona bakalım.

Konuya böyle giriş yaptık ama şöyle bir izlenim verdi sanki: İstediğimiz sorguda istediğimiz tabloyu kullanırız ve kafamıza göre takılabiliriz. Hayır. Maalesef durum böyle değil. Çoklu tablolarla çalıştığınız sorgularda tablolar arasındaki ilişkileri ön plana çıkarırsınız. Bu yüzden tablolar arasındaki bağlantıları gösteren şemaların her zaman gözünüzün önünde durması gerekir. O yüzden burada bir kez daha HR şemasını paylaşmak gerekecek:

Datawarehouse Türkiye Eğitimleri Başlıyor!

Datawarehouse Türkiye Ekibi'nin organizasyonu olarak ;

İş Zekası,Veri Ambarı ,Veritabanı ,Data Quality ,Data Management ,Master Data Management,Big Data,Programlama ..vb konularında ücretsiz eğitimler verilecektir.

Üniversitede okuyan, mezun veya IT sektöründeki herkes katılabilir.Başvuru için yapmanız gereken info@datawarehouse.gen.tr adresine Cv 'lerinizle mail atmaktır.Hangi alanlarda ücretsiz eğitim almak istediğinizi de mail'inizde belirterek eğitim içeriğini kendiniz belirleyebilirsiniz.

Kontenjanlar sınırlıdır.

Alanında uzman kişilerin verdiği bu eğitimler; "Bilişime Türkçe Yeter" sloganıyla yola çıkmış gayretli bir ekibin çabaları sonucu gerçekleşmektedir. Kariyer hedefini şimdiden belirlemiş ama nasıl adım atacağını henüz kestirememiş tecrübesiz biriyseniz kesinlikle bu eğitimler size göre. Yetişmiş eleman sıkıntısının çok olduğu bilişim sektöründe bu açıklığı gidermek için bir "ilaç" vazifesi gören bu etkinlik büyük düşünenler için.
Duyurunun bulunduğu sayfa için Tıklayınız..

15 Ocak 2013 Salı

HR Şeması İle Uygulamalı SQL(Fonksiyonlar ve Gruplandırma)

Merhaba Arkadaşlar

SQL deyimlerini öğrenmeye kaldığımız yerden devam edelim. Bu yazıda SQL'de veriler üzerinde kolay işlem yapmamızı sağlayan hazır fonksiyonlardan bahsedeceğiz. Öncelikle PL/SQL'de fonksiyonların nasıl ayrıldığını kısaca inceleyeceğiz. Ancak konumuz SQL olduğu için PL/SQL fonksiyonlarını ayrıntılı olarak uygulama yaparak işlemeyeceğiz. Daha sonra SQL fonksiyonlarını -COUNT, AVG, MIN, MAX- ayrıntılı olarak inceleyeceğiz.

Fonksiyon Kavramı
Programlama ile uğraşanların haşır neşir olduğu bu kavram oradaki anlamıyla eş bir kullanıma sahiptir. Yani fonksiyonunuz argüman veya argümanlar alır, onu amacınız doğrultusunda işler ve size bir sonuç döndürür. SQL'de de bu fonksiyonları çok sık kullanacaksınız. Fonksiyonlar farklı sayılarda sonuç döndürmelerine göre iki şekilde incelenirler:

  • Satır başına bir sonuç döndüren fonksiyonlar: Çekilen her satır için bir sonuç değeri üretir. Yani üzerinde işlem yapılan her satır için bir sonuç üretip bunu geriye döndürürler. Argümanlar sütun ismi yada sizin belirlediğiniz bir ifade olabilir. Bu tip fonksiyonlar iç içe yani fonksiyon1(fonksiyon2(...)) şeklinde kullanılabilirler. Yazı içerisinde tüm fonksiyonları vermeyeceğim. Bu fonksiyonlardan kimini belki de hiç kullanmayacaksınız. Şimdi bu fonksiyon başlığı altındaki fonksiyon çeşitlerini bir görelim:
    • Karakter fonksiyonları: Verilen karakterler üzerinde düzenleme işlemleri yaparlar. 
    • Nümerik fonksiyonlar: Sayısal veriler üzerinde; mod alma, sayıyı bir üst yada bir alt değere yuvarlama gibi temel işlemler yaparlar.