Transact-SQL 101 Başlangıç Seviyesi

by Mustafa-Bodur 17. Haziran 2009 16:18

Structured Query Language (SQL)

SQL, (Yapısal Sorgulama Dili*Wikipedia Türkçe) isminden de rahatça anlaşılacağı gibi veritabanı sorgu dilidir. SQL sayesinde Oracle, Microsoft SQL Server, MS Access, db2, PostgreSQL vb. gibi birçok veritabanı yönetim sisteminde istediğimizi yapabiliriz. Peki, istediğimiz derken nelerden bahsediyoruz; veritabanındaki kayıtlar için sorgular çalıştırma, yeni tablolar oluşturma, var olan tabloları kaldırma ya da üzerinde değişiklikler yapma, bu tablolara yeni kayıtlar ekleme, var olan kayıtları silme veya bu kayıtlar üzerinde düzenlemeler yapma kullanacağımız işlemlerden başlıcalarıdır.

  

Transact-SQL (T-SQL)

Yukarıda bahsettiğimiz SQL'e, Microsoft ve Sybase tarafından yapılan eklemelerle oluşturulmuş genişleme paketidir. Bu yazıyı Microsoft SQL Server, kullanmayı öğrenmek isteyen kullanıcılar için yazdığımdan buradan sonraki örneklerimiz Microsoft SQL Server üzerinden olacaktır. Transact-SQL aracılığıyla SQL'de de bahsettiğimiz gibi veri ve sorgulara erişip bunları güncelleyebiliriz. Transact-SQL'de bu işlemleri yapmak için kullanacağımız komutlar üç genel bölüme ayrılır:

-Data Manipulation Language(DML) - Veri düzenleme ile ilgili işlemleri yapabileceğimiz komutları içerir.

   DML Komutlar:

  • Select - Veri/Verileri seçmek
  • Insert - Yeni veri eklemek
  • Delete - Var olan veriyi silmek
  • Update - Var olan veriyi güncellemek

 

-Data Definition Language(DDL) - Verilerin saklandığı yapıların (tabloların) tanımlandığı ve düzenlendiği komutları içerir.

   DDL Komutlar:

  • Create - Yeni bir Veritabanı(Database), Tablo(Table), İndeks(Index), Veri Tipi(Type), View(View), Stored Procedure-Saklı Yordam(Procedure), Fonksiyon(Function), Trigger-Tetikleyici(Trigger) vb. gibi oluşturabileceğimiz komuttur.
  • Alter - Daha önce oluşturulmuş bir veritabanı nesnesinin(database objects) üzerinde değişiklik yapmamızı sağlayacak komuttur.
  • Drop - Daha önce oluşturulmuş veritabanı nesnesini kaldırmak için kullanılan komuttur.

 

-Data Control Language(DCL) - Verilere ulaşırken, kimin-neye yetkisi olduğunu belirlemekte kullanılacak komutları içerir.

   DCL Komutlar:

  • Grant - Yetki vermek için kullandığımız komuttur.
  • Deny - Kullanıcı, grup veya rolü bir eylem için engeller.
  • Revoke - Belirtilmiş olan yetkiyi ya da engeli kaldırır.

 

Birde bu kategorilerin dışında kalan Commit, RollBack gibi komutlarımız var. Bu işin müdavimleri, bu komutları Transactional Control Language(TCL) başlığında toplamayı uygun görmüşler. Transaction yapılan işlemlerin belirli kontroller içinde sürdürülmesini sağlayan komutlardır. Böylece veri kaybına ve işlem karışıklığına karşı önlem alınmış olunur.

Commit - Transaction işlemi sırasında yapılan değişikliklerin geçerli olmasını sağlar.

RollBack - En sonuncu Commit, ya da RollBack işleminden sonra yapılan değişiklikleri iptal eder.

 

Daha sonra sık sık kullanacağımız bu komutların genel olarak ne işe yaradıklarını bilmemiz kullanım aşamasında bize kolaylık sağlayacağından, T-SQL komut listesinin genel bir tanıtımı ile makale serisine başlamayı uygun gördüm.

Bilgisayar Alarm

by Mustafa-Bodur 7. Eylül 2008 08:12

Sabah saat 6:00 Smile. Gene uyku tutmadı çoğu gün olduğu gibi, yoksa genelde 4:00 - 4:30 gibi uyuyorum. Laughing Benim gibi günde 3-4 saat uyuyan herkesin ihtiyacı olacak yararlı bir program yaptım bu zamanda. Artık demode pili durmadan biten saatleri bir kenara atın Wink (gece, pazarlama şovları gibi oldu yine), bilgisayarını 7/24 açık bırakanlar için sabah kalkamadım telefonu ya da saati kapatmışım bahaneleri tarih oluyor. Kesin çözüm, ComputerAlarm (biliyorum ismi biraz saçma ama programlamanın dili olmaz diye İngilizce...)

 

-Programı indirdikten sonra uygulamayı ve içinde 36 farklı rahatsız edici ses dosyası(*.wav) bulunan "audio" klasörünü bir klasörün içine atın. Şekildeki gibi.

Klasör Görüntüsü

  (Şekil-1)

 

 

 

-Uygulamayı çalıştırın! Karşınıza gelen ekranda alarmın sizi uyaracağı saati ve dakikayı girin. 24'lük saat dilimine göre ayarlandı. Alarm etkinleştir butonuna tıklayın.

 -Eğer içinde "audio" klasörü yoksa yine alarmı ayarlayıp çalıştırabilirsiniz ama sadece tek ses seçeneğiniz var. "Attention" diye bağıran bir robot sesi! Eğer "audio" klasöründeki sesleri beğenmezseniz, kendi mp3lerinizden şarkılarda ekleyebilirsiniz. Seçtiğiniz mp3 vb. programın açamadığı dosyaları, windows media player - winamp artık hangi programda çalıştırıyorsanız bu dosya türünü orada açıp karşınıza getirir. Hatta ses dosyalarını geçtim, video, ya da doküman tarzı dosyaları da bu klasöre ekleyip alarm zamanında açabilirsiniz. Tabi bu tarz dosyaları az önce dediğimiz gibi daha önceden ayarlanmış uygun programlarda karşınıza getirecektir. Bir nevi mola ya da çalışma hatırlatıcısı olarak kullanabilirsiniz.

ComputerAlarm Görüntüsü

-Programın basit bir ekranı var. Eğer benim gibi Vista kullanıp görüntü ayarlarını windows klasikte kullanıyorsanız görüntü çok sıkıcı gelebilir. Ama Vista Temel'de yukarıda görüldüğü gibi görüntü veriyor. Daha önceki TimeEnforcer gibi Alarmı etkinleştirdikten sonra Alarmı durdurmadan programdan çıkamıyorsunuz. Bu durumda "Kapatma" ya da "Küçültme" butonuna basıldığında görev çubuğunda(system tray) ikon olarak görünüyor ve açıklamasında ne zaman alarmın çalacağını bildiriyor.

 

Programı kullanırken karşılaştığınız hataları, görüş ve önerilerinizi bana yorum olarak atabilirseniz, düzeltme şansım olur. Çok sevinirim Smile

*Tabları(TabIndex) düzeltmeyi unutmuştum onları düzelttim!!! Artık Tab tuşuyla düzgün bir şekilde gezebileceksiniz.

Kaynak Kod: ComputerAlarm_KaynakKod.zip (704,75 kb)

Uygulama(sadece çalıştırmak için): ComputerAlarm_Uygulama.zip (626,23 kb)

Zamanlayıcı - Bilgisayar Kapatıcı

by Mustafa-Bodur 1. Eylül 2008 12:27

Yasal uyarıyı da yaptığıma göre geçenlerde yaptığım küçük bir programı paylaşarak başlayayım:

İsmini "TimeEnforcer" koydum. Bilgisayarınızı kapatmak için kullanabileceğiniz bir araç. Programı çalıştırdıktan sonra kapatma süresini girip etkinleştir diyerek bilgisayarın kapanmasını zamanlayabilirsiniz. Kapatmayı etkinleştirmeyi durdurmadan programdan çıkamıyorsunuz. Bu durumda "Kapatma" ya da "Küçültme" butonuna basıldığında görev çubuğunda(system tray) ikon olarak görünüyor ve açıklamasında kaç dakika sonra kapanacağını bildiriyor.

 

 Kullanarak ve ya inceleyerek daha iyi anlayacağınızı umuyorum. İyi kullanımlar!

TimeEnforcer_KaynakKod.zip (58,46 kb)

TimeEnforcer_Uygulama.zip (10,12 kb)

Program Arşivi - Yasal Uyarı

by Mustafa-Bodur 1. Eylül 2008 12:05

Lise çağımda ilk programlama dilleri ile tanıştığımdan beri basit işlemler yapan ama kullanışlı programlar yazmak hep hoşuma gitti. Lakin yazdığım programları bir süre sonra ya kaybettim ya da zamanla yeterince kullanmadığım için bir yerlerde unuttum. Bu programları arşiv haline getirme, toplama gibi bir isteğim hiç olmadı. Geçenlerde bir tanıdığımın "Sen bana bir iki yıl önce bir program vermiştin, artık neden çalışmıyor?"(anlayan anladı-tabi okursa!) demesi üzerine farkettim ki benim yazdığım programlar da başkaları için düşündüğümden daha fazla önem taşıyabiliyor. Bende bu azimle, can sıkıntısını geçirmek için uğraştığım basit programların uygulamalarını ve kaynak kodlarını buradan yayınlayarak hem kendime hem de ilgilenen başkalarına küçük yararlı bir arşiv sağlayayım dedim.

Sadece küçük bir uyarım ve ricam var: Bu programları isterseniz işte, isterseniz kişisel bilgisayarınızda kullanabilirsiniz. Yani eğer ileri seviye programlar yazarsam ki yakın gelecekte olmasa da aklımda bir iki tane var, ister işinizde para kazanmak için isterseniz evde kolaylık için kullanın bu benim için bir problem değil (bunu kişisel kullanım olarak görüyorum). Yalnız bu programlardan ve özellikle de kaynak kod üzerinden üretilecek türevlerinden kaynaklanabilecek her türlü sorunun kullanıcı olarak sizin sorumluluğunuz altında olduğunu programı indirmeden bilmenizi isterim. Burada yayınlanan uygulamalar ve kaynak kodlar, hiç bir maddi gelir ya da maddi amaç beklemeden, kişilere kolaylık ve yazılım alanında kendilerini geliştirmelerini sağlamak amacıyla sunulmaktadır. Bunun bu şekilde kalmasını temenni etmekteyim. Aksi kullanım sonucu, yazılan programda son müşterinin şikayet ile bana gelmesi halinde hiç bir sorumluluk kabul etmeyeceğim. Bu programı yazan kişi olarak ta sizi ifşa etmek için de elimden geleni yapacağımı bilmenizi isterim.

 

Yasal Uyarı:

Bu sitedeki bilgiler yalnızca ilgi duyulan konulara ilişkin ziyaretçilere yol gösterici nitelikte genel bilgi vermek amacıyla Mustafa Bodur tarafından orijinal olarak hazırlanmıştır. Bu web sitesi başka sitelere ait bağlantı ve referanslar içerebilir. Bu web sitesinde ve bu site üzerinden bağlantıya sahip web sitelerinde  sunulan tüm bilgi, programlar ve dökümanların kullanımı sonucu doğabilecek sorunlardan yazar sorumlu tutulamaz. Bu siteyi kullanarak bu uyarıyı okuduğunuzu ve bu şartları kabul ettiğinizi kabul etmiş bulunmaktasınız. Eğer bu şartları kabul etmiyorsanız lütfen bu siteyi kullanmayınız.

© 2008 - Mustafa Bodur

 

Legal Disclaimer:

The information and documents on this site were originally prepared for general distribution to users by Mustafa Bodur. This website may provide links or references to other sites. The author makes no warranties or assurances as to any information in this website and such sites, has no responsibility for their content or completeness and shall not be liable for any damages or injury arising from that content or completeness. By using the website, you signify your agreement to the terms and conditions of this Disclaimer. If you do not agree to these terms and conditions, please do not use this site.

© 2008 - Mustafa Bodur

Yasal Uyarı

Bu web sitesinde sunulan tüm bilgi, programlar ve dokümanların kullanımı sonucu doğabilecek sorunlardan yazar sorumlu tutulamaz. Bu siteyi kullanarak bu uyarıyı okuduğunuzu ve bu şartı kabul ettiğinizi kabul etmiş bulunmaktasınız. Eğer bu şartı kabul etmiyorsanız siteyi kullanmayınız. Uygunsuz ve reklam içerikli yorumlar silinecektir.

 

Copyright 2008-2012 © Mustafa Bodur