Skip to main content

AccessTr.neT


Saklı Prosedürler (Stored Procedures)

arzuu
arzuu
SQL
7
7411

Saklı Prosedürler (Stored Procedures)

#1
Prosedür ne demektir?

Nesneye dayalı programlama bu kadar popüler değilken, programlar sadece prosedür denilen parçacıklardan oluşurdu.Her bir prosedür, belli bir işlevi yerine getirmek için özenle yapılandırılmış program parçacığıdır. Mesela, iki sayı alıp bunların toplamlarını hesaplayan bir kod parçasını toplayıcı adında bir prosedür içerisine paketleyebiliriz. Bir prosedür, başka bir prosedür içerisinden çağrılabilir. Bu da sık kullanılan işlemler için yazılmış kodların bir defa yazılıp çok defa kullanılmasını böylelikle de programlamayı kolaylaştırmayı amaçlar.

Saklı prosedürler, bir çok gelişmiş programlama dilindeki fonksiyon yapılarına karşılık gelir. Birden fazla işlemi, paketlenmiş bir halde bir tek komut ile çalıştırmamız gerektiğinde stored procedures kullanılır. İşlemden kasıt T-SQL ile yapılabilen her şeydir.

Stored procedure, 1980’li yılların sonunda Sybase SQLServer ile birlikte kullanıma girdi. En büyük özelliği sorguların önceden hazırlanması (derlenmesi) ve VTYS ile aynı uzayda çalışmasından dolayı daha hızlı sonuç vermesidir.

Bir SP oluşturulduktan sonra, veritabanı sunucusunda saklanır. Her ihtiyaç duyulduğunda aynı sp defalarca çağrılabilir.Cursor gibi oturum kapandığında silinmez.
Network bazlı çalışmalarda ağ trafiği ve sistem kaynaklarının kullanımını düzenleyerek de performans artışı sağlar. Bir dize işlem, bir tek paket içerisinde yer alır. Gerektiğinde bir tek komut ile tetiklenebilir. Paketin tamamı çalışıncaya kadar istemde bulunan terminale hiçbir şey gönderilmez. Tüm komutlar bittiğinde bir tek sonuç gönderilir. Bu da bazı durumlarda ağ trafiğini rahatlatır.

Bir SP sistem tarafından oluşturulduğu anda şu aşamalara tabi tutulur:
1. SP’nin bileşenleri parçalara ayrıştırılır.
2. Veritabanı içerisinde table,view gibi başka nesnelere atıfta bulunan referanslar
varsa, geçerli olup olmadıkları kontrol edilir. (Geçerli:1-nesne varmı, 2-izin var mı)
3. Kontrollerden geçen SP’nin adı sysobjects tablosuna, kodları ise syscomments tablosuna saklanır.
4. Bu işlemlerle birlikte derleme işlemi yapılır. Normalizasyon işlemleri olarak da anılan bu işlemler sonucunda, ağaç şeması elde edilir. Bu şema da sysprocedures tablosunda saklanır.
5. SP herhangi bir anda çağrıldığında, ilk kez çalışıyorsa bu işlemler gerçek¬leştirilir. İlk sefa çağrılmıyorsa, kontrol, sorgulama ağacı oluşturma işlemleri yapılmaz ve oldukça hızlı bir şekilde SP’nin derlenmiş hali çalışır. Bundan dolayı sp’ler derlenen nesnelerden biri olarak anılır.

SP’ler şu faydaları sağlar:
1. Uygulamanın getirdiği bazı iş kural¬ları prosedür içinde tanımlanabilir. Bir kez oluştuktan sonra bu kurallar birden çok uygulama tarafından kullanılarak daha tutarlı bir veri yönetimi sağlanır. Ayrıca bir fonksiyonelliğin değişmesi ihtiyacı doğduğunda her uygulama için değişiklik yapmak yerine, sadece bir platformda değişiklik yapılır.
2. Tüm prosedürler üstün performansla çalışır ancak birden fazla çalıştırılacak olan prosedürler sorgulama planları procedure tamponcache içinde saklandığından daha da hızlı çalışırlar.
3.Stored Procedure’ler Sql Server start ettikten sonra otomatik olarak çalıştırılmak üzere ayarlanabilirler.
4.Stored Procedure’ler harici olarak kullanılırlar. Trigger’lardan farklı olarak prosedürler uygulama tarafından ya da script tarafından bir şekilde çağrılmak zorundadırlar. Otomatik devreye giremezler.
5.Stored Procedure’lerın içinde Sql sorgulama diline ek olarak T-SQL komutlarını kullanabiliriz.
6. Kullanıcının bir tabloya erişim izni olmasa bile o tablo üzerinde işlem yapan bir stored procedure’ü kullanma izni olabilir.

ALINTIDIR.
"Gülümsemenin, parasal değeri yoktur. Satın alınmaz, ödünç verilmez, dilenilmez, çalınmaz ama verilmedikçe hiç alınamaz."
Baştan sona Sql veritabanı oluşturma
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Saklı Prosedürler (Stored Procedures) - Yazar: arzuu - 16/10/2009, 15:22
Task