[]
PostgreSQL den anlayan vatandaş
Duyuru sakinleri bu PostgreSQL'de Stored Procedure nasıl tanımlanıyor mantığı nedir neden foksiyonlarla kullanılıyor açıklayabilecek biri var mıdır ?
Bu saatte cevap gelmesi cok zor ama soyle bisey buldum belki isini gorur.
www.postgresqltutorial.com
www.postgresqltutorial.com
- Solem (10.06.14 01:52:17)
ilk öncelikle hangi dil ile kullanacak iseniz o dili db üzerinde aktif hale getirmeniz gerekiyor, python,php, lisp, perl, vb. pek çok dil ile sp yazabilirsiniz ama tavsiye etmiyorum bu diller ile yazılmasını zira her çalıştırmaya birde bu dillerin interpreter'i çalıştırılıyor arkada, en temizi plpgsql denen postgresql'in kendi dili.
create language plpgsql;
ardından da procedure'unuzu yazarsınız,
yukarıdaki satır ile dili oluşturur ardından procedure'unuzu yazarsınız.
create function hede() returns integer as $
-- buraya bişiyler gelecek
return 1;
$ language plpgsql;
fonksiyon olarak tanımlanmasının nedeni ise adından da belli bir procedure yani işlem tanımlanız, bu işlem/yöntem kendi içerisinde birden fazla alt işlem içerebilir (select, delete, update insert vs.)
sp'ler db de saklanır, eşşek kadar bir yazılımınız var ise tablo güncellemelerinde yazılımın da update edilmesini istemiyor iseniz sp ile yazarsınız, tablolar güncellenirse/yapı değişirse sadece sp'yi yeniden düzenleriniz ve yazılımınızın bundan haberi bile olmaz.
bilgi güvenliği içinde iyi bir yöntemdir, yazılımcı ekip tabloların yapısını vs. bilmez, db admin her sorgu için bir sp yazar, dökümante eder yazılımcı ekibe bildirir onlarda bunu kullanır, böylece uygulama içerisinden tablolar vs. ile ilgili dışarı bilgi verilmemiş olur.
her bir sp, oluşturulduğu sırada parse edilir, sorgu optimizasyonu yapılır, hangi indexler kullanılacak vs. bu bilgiler saklanır böylece sp kullanılırken bu işlemler tekrar tekrar yapılmaz bu da db performasını bir miktar arttırır.
sp'ler için de mantıksal işlemler yapabilirsiniz ve değişkenler tanımlayabilirsiniz.
nasıl yazılacağı ile ilgili internette pek çok örnek var, umarım yardımcı olur bu kadar bilgi.
birde burada ufak tefek faydalı olabilecek bilgiler var www.sqlines.com
create language plpgsql;
ardından da procedure'unuzu yazarsınız,
yukarıdaki satır ile dili oluşturur ardından procedure'unuzu yazarsınız.
create function hede() returns integer as $
-- buraya bişiyler gelecek
return 1;
$ language plpgsql;
fonksiyon olarak tanımlanmasının nedeni ise adından da belli bir procedure yani işlem tanımlanız, bu işlem/yöntem kendi içerisinde birden fazla alt işlem içerebilir (select, delete, update insert vs.)
sp'ler db de saklanır, eşşek kadar bir yazılımınız var ise tablo güncellemelerinde yazılımın da update edilmesini istemiyor iseniz sp ile yazarsınız, tablolar güncellenirse/yapı değişirse sadece sp'yi yeniden düzenleriniz ve yazılımınızın bundan haberi bile olmaz.
bilgi güvenliği içinde iyi bir yöntemdir, yazılımcı ekip tabloların yapısını vs. bilmez, db admin her sorgu için bir sp yazar, dökümante eder yazılımcı ekibe bildirir onlarda bunu kullanır, böylece uygulama içerisinden tablolar vs. ile ilgili dışarı bilgi verilmemiş olur.
her bir sp, oluşturulduğu sırada parse edilir, sorgu optimizasyonu yapılır, hangi indexler kullanılacak vs. bu bilgiler saklanır böylece sp kullanılırken bu işlemler tekrar tekrar yapılmaz bu da db performasını bir miktar arttırır.
sp'ler için de mantıksal işlemler yapabilirsiniz ve değişkenler tanımlayabilirsiniz.
nasıl yazılacağı ile ilgili internette pek çok örnek var, umarım yardımcı olur bu kadar bilgi.
birde burada ufak tefek faydalı olabilecek bilgiler var www.sqlines.com
- selam (11.06.14 13:17:36 ~ 13:20:55)
1