Stored Procedure Nedir Ve Nasıl Kullanılır ?

Merhaba Değerli Arkadaşlar

Bu Yazımda sizlere büyük çaplı projelerde mutlaka kullanılması gereken Stored Procedure dan bahsedeceğim. Stored Procedure dilimizde Saklı Yordam,Prosedür gibi anlamlara gelir.Büyük çaplı projelerde mutlaka kullanılması gereken dedim çünkü Stored procedure lerin farkı ancak büyük çaplı performans ve etkinlik gerektiren projelerde ortaya çıkar. Stored procedure ü genel olarak tanımlamaya kalkarsak şöyle ifade edebiliriz: Database server ında tutulan ve ilk derlemeden sonra bir daha derlenmeye ihtiyaç duyulmayan SQL ifadeleridir. Diğer taraftan Uygulama katmanı yerine Veritabanı serverın da bulunan T-SQL ifadeleri diyebiliriz.

 

Stored procedure ler, diğer dillerde olduğu gibi parametreli parametresiz olarak çalışabildiği gibi bir değerde döndürebilmektedir. Uygulamalarda yazılırken SP olarak da adlandırılmaktadır. Veritabanı işlemlerinin tamamını aynı şekilde Stored procedure lerlede yapılabilmektedir. Stored procedure leri kullanmanın en güzel özelliklerinden birisi de belki de programlama dili kodları ile DML (Database manipulation Language) dediğimiz veritabanı işlemleri birbirinden ayrı tutulmasıdır. Ayrıca 1 defa yazıp derlediğiniz bir SP yi çok defa kullanabiliyor olmanızdır. Genel olarak Stored procedure lerin avantajlarını ve neden çok fazla kullanıldığını aşağıda maddeler halinde belirteceğim.

  • Stored Procedure ler, Database server da tutulduğu için çok hızlı çalışırlar bununda sebebi 1 defa yalnız derledikten sonra 1 daha derlenmeye ihtiyaç duymamalarıdır. Halbuki Uygulama katmanında yazmış olduğunuz SQL kodu her çağırmada tekrar tekrar derlenmek zorundadır. Buda büyük çaplı projelerde ve 1 den çok client a hizmet eden serverlar için büyük bir zaman kaybı demektir.
  • Network trafiği açısından mükemmel bir tasarruf sağlar.
  • SQL ifadelerine otomatik parametreleme sağlar. SQL ifadelerinin geçtiği yerdeki bütün parametreleri değiştirme yerine sadece SP içindeki parametreleri yada kuralları değiştirip istediğinizi gerçekleştirebilirsiniz.Buda uygulamanızı modüler olmasını sağlar uygulamaların karmaşıklığını giderir.
  • Stored procedure ler yazılırken programlama ifadelerine ek olarak (İf,while,for vb.) T-SQL komutlarını da kullanabilirsiniz.
  • Stored procedure ler sadece giriş ve çıkış parametreleri uygulama katmanında göründüğü için daha güvenilirdir. Database server ına erişim genelde kullanıcı ID si ve şifreyle gerçekleştiğini düşünürsek SP kullanmanın kodlarımız açısından bir güven unsuru teşkil etmiş olduğunu açıkça söyleyebiliriz.

 

Yukarıda aklıma gelen Stored procedure lerin avantajlarını saydım. Piyasa uygulamalarının neredeyse hiçbirinde normal sql kodlarını bulamazsınız hemen hemen hepsi veritabanı işlemlerini Stored Procedure ler aracılığıyla gerçekleştirmektedirler.Yukarıda da dediğim gibi tek bir noktadan yönetilip birden çok yerde kullanılabilme ayrıca başka kişilerin kolayca görememesi SP leri çok avantajlı kılmaktadır. Hele Network trafiği açısından düşündüğümüzde istemcinin göndermiş olduğu birçok satıra sahip SQL komutlarını server a yollamaktansa ve bunu her seferinde tekrar tekrar tekrar gerçeklemektense tek bir defa Stored Procedure in ismini sunucuya göndermek Network trafiğini çok rahatlaması anlamına gelir.

Genel amaçlı Stored Procedure lerin 4 çeşidi bulunmaktadır.

  1. Sistem Stored Procedure : Master veritabanında tutulan kullanımında sp_ prefixi kullanılan stored procedure lardır. Veritabanı üzerinde sistemle alakalı yönetimsel işlerde kullanılırlar.
  2. Kullanıcı Tabanlı Stored Procedure : Uygulamalarımız için kullandığımız sp lerdir.Bu sp leri çok rahat oluşturup silebilir ve değiştirebiliriz.
  3. Extended Stored Procedure :  Genelde .dll şeklinde derlenmiş olup Database Server ın işlevselliğini artıran bir çeşit stored procedure lerdir. Yalnız Master veritabanına eklenirler.
  4. CLR Stored Procedure : CLR ortamında herhangi bir dili kullanarak da stored procedure ler geliştirilen bir tür Stored procedure çeşididir.

Stored Procedure lerin çeşitlerini de saydıktan sonra bir yazımın daha sonuna geldiğimi belirtmek isterim. Son olarak şunu söylemek isterim ki kendimde bizzat büyük çaplı bir projede denedim gördüm ki Stored Procedure kullanmak çok önemli yönetimsel olarak,ağ trafiği olarak,hız olarak ,1 çok yerde kullanılabilmesi olarak çok muhteşem bir şey sizlerin de mutlaka uygulamalarınızda database işlemlerinizde bütün işlemleri Stored Procedure olarak yazmanızı şiddetle tavsiye ederim.

 

Oracle Exadata SQL Server Goldengate Weblogic EBS ve Linux konusunda aşağıdaki konularda 7×24 Uzman Danışmanlara yada Eğitimlere mi İhtiyacınız var mehmet.deveci@gridgroup.com.tr adresine mail atarak Bizimle iletişime geçebilirsiniz.

– Oracle Veritabanı Danışmanlığı
– Oracle Veritabanı Bakım ve Destek
– Exadata Danışmanlığı
– Exadata Bakım ve Destek
– SQL Server Veritabanı Danışmanlığı
– SQL Server Veritabanı Bakım ve Destek
– Goldengate Danışmanlığı
– Goldengate Bakım ve Destek
– Linux Danışmanlığı
– Linux Bakım ve Destek
– Oracle EBS Danışmanlığı
– Oracle EBS Bakım ve Destek
– Weblogic Danışmanlığı
– Weblogic Bakım ve Destek
– Oracle Veritabanı Eğitimleri
– Oracle VM Server Danışmanlığı
– Oracle VM Server Bakım ve Destek
– Oracle EPPM Danışmanlığı
– Oracle EPPM Bakım ve Destek
– Oracle Primavera Danışmanlığı
– Oracle Primavera Bakım ve Destek
– Oracle Eğitimleri
– SQL Server Eğitimleri
– Goldengate Eğitimleri
– Exadata Eğitimleri
– Linux Eğitimleri
– Oracle EBS Eğitimleri
– Oracle VM Server Eğitimleri
– Weblogic Eğitimleri
– Oracle EPPM Eğitimleri
– Oracle Primavera Eğitimleri

Mehmet Salih Deveci

I am Founder of IT Tutorial and Certified Expert about Oracle & SQL Server database, Goldengate, Exadata Machine, Oracle Database Appliance administrator with 10+years experience. I have OCA, OCP, OCE RAC Expert Certificates I have worked 100+ Banking, Insurance, Finance, Telco and etc. clients as a Consultant, Insource or Outsource. I have done 200+ Operations in this clients such as Exadata Installation & PoC & Migration & Upgrade, Oracle & SQL Server Database Upgrade, Oracle RAC Installation, SQL Server AlwaysOn Installation, Database Migration, Disaster Recovery, Backup Restore, Performance Tuning, Periodic Healthchecks. I have done 2000+ Table replication with Goldengate or SQL Server Replication tool for DWH Databases in many clients. If you need Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS Consultancy and Training you can send my email adress mehmetsalih.deveci@outlook.com. -                                                                                                                                                                                                                                                 - Oracle DBA, SQL Server DBA, APPS DBA,  Exadata, Goldengate, EBS ve linux Danışmanlık ve Eğitim için  mehmetsalih.deveci@outlook.com a mail atabilirsiniz.

8 thoughts on “Stored Procedure Nedir Ve Nasıl Kullanılır ?