Subscribe:

5 Temmuz 2013 Cuma

STORED PROCEDURE

sadık dereköy, stored procedure anlatımı
Stored Procedure yapısının faydaları oldukça fazladır
Bu yazımda özellikle orta ve büyük çaplı projelerde olmazsa olmazlardan olan stored procedure yapısına değineceğim. En basit açıklamayla bu yapıyı bizim uygulamalarda kullandığımız fonksiyon yapısı gibi görebilirsiniz. Zaten kelime anlamı da saklı yordam, methot anlamalarına geliyor.
Konuya giriş yapmadan önce kendimden örnekler vererek bu yapıya giriş yapmak ist
edim. Ben bir proje yaparken ilk başlarda temel sql ifadelerini kullanarak veritabanı işlemlerini gerçekleştiriyordum. Nasıl oluyordu bu? Mesela en basit ifadeyle veritabanına kullanıcı eklediğinizi düşünün. "İnsert" ifadesini kullanarak işlemi gerçekleştiriyoruz. Sonra eklediğimiz kaydın veritabanında olup olmadığını kontrol etmemiz gerektiğinin farkına varıyorsunuz. Onun için "select" ifadelerini kullanarak tekrar veritabanına bağlanıp o kaydın veritabanında olup olmadığının kontrol edilmesine ihtiyaç duyuluyor. Bunun gibi daha bir çok veritabanına sürekli bağlanıp işlem yapılması gereken durumlar ortaya çıkıyor. Durum böyle olunca stored procedure kavramını kullanmak en mantıklı ve sağlıklı çözüm oluyor. O kadar fazla faydası var ki şimdi onlardan bir kısmına kısaca değineceğim.
Stored Procedure'ler veritabanı sunucularında tutulduğu için çok hızlı çalışırlar. Bunun sebeplerinden biri, bir defa derlendikten sonra bir daha derlenmeye ihtiyaç duymamalarıdır. Bir de uygulama katmanında yazmış olduğumuz koda bakalım. Burada sql kodu her çağırmada tekrar tekrar derlenmek zorunda. Büyük çaplı projelerde oluşacak zaman ve performans kaybını siz düşünün.
Programlama dili ile veritabanı dili dediğimiz kavramları birbirinden ayrı tutmaya olanak sağlıyor.
Güvenlik açısından da kullanılması mutlaka önerilen bir yapıdır. Tablo isimlerimizi ve alanların görülmemesi için bu yapıyı kullanmak şart.
Bir kere yazıp bir yerde kullanmak gibi daha bir çok faydası olan bu yapıyı kısaca anlatmak istedim. Farkı büyük çaplı projelerde daha belirgin olan bu yapıyı karmaşık veritabanı işlemleri gerektiren projelerle uğraşırken mutlaka öğrenmeniz gerekecektir.

0 yorum:

Yorum Gönder