PL/SQL’e GİRİŞ – 2


about mePL/SQL tek başına bir programlama dili değildir; bu Oracle programlama ortamında bir araçtır. SQL * Plus ise komut isteminde SQL ve PL/SQL ifadelerini yazmanızı sağlayan interaktif bir araçtır. Bu araçta komutlar işlem için veri tabanına gönderilir, ifadeler işlenir sonrasında ise sonuçlar geri gönderilir ve ekranda görüntülenir.

PL/SQL programlarını çalıştırmak için, SQL komutlarının yürütülmesini sağlayan Oracle RBDMS Server makinenize yüklü olmalıdır. Oracle RDBMS’in en son sürümü 12g’dir. Aşağıdaki bağlantıdan Oracle 12g’nin yeni bir deneme sürümünü indirebilirsiniz (indirmeden önce site sizden üye olmanızı isteyecektir):

Oracle Database 12c Release 1 Standard Edition, Standard Edition One, and Enterprise Edition

İşletim sisteminizin uygunluğuna bağlı olarak 32 bit veya 64 bit’lik sürümünü indirmeniz gerekir. Benim bilgisayarım 64 bit Windows7 olduğu için onu indirdim. Bu download ortamında genellikle iki dosya vardır. İşletim sisteminizin Linux veya Solaris olup olmamasına göre de yine benzer adımları kullanmalısınız.

Devam edecek…

Oracle PL/SQL içinde yayınlandı | , ile etiketlendi | Yorum bırakın

PL/SQL’e GİRİŞ – 1


plsqlBu eğitim basit ve kolay bir anlatımla PL/SQL programlama dilini öğrenmeye istekli Yazılım Uzmanları için tasarlanmıştır. Buradaki en temel PL/SQL programlama kavramlarını öğrendikten sonra artık siz de kendi kendinize belirli bir öğrenme ritmini tutturmuş olacaksınız. Bu eğitim aynı zamanda başlangıç ya da orta seviyedeki uzmanlık kategorisinden daha üst seviyelere çıkabilmeniz açısından bir öngörü geliştirmenizi kolaylaştıracaktır.

Bu eğitime başlamadan önce kabul etmemiz gereken önkoşul değerlendirmeler neler olabilir?
Bu eğitici kaynağa geçmeden önce şu hususu belirtmekte fayda görmekteyim: eğer programcılığa ilk defa adım atıyorsanız bu eğitim sizler için biraz ağır gelebilir, zira bu eğitim için bir ön koşul olarak daha önceden bir veritabanı sorgulama dili ve diğer bilgisayar programlama dilleri üzerinde çalışmış, yaşantı geçirmiş iseniz bu eğitim sizin için daha açıklayıcı ve avantajlı olacaktır. Daha önce bir sorgulama dili ile çalışmış, veritabanı mantığı kavramlarını irdelemiş, kaynak kodları incelemiş, belirli bir metin editörü ile çalışmış, program parçalarının yürütülmesi aşamalarında çalışmalarınız olmuş ve yazılım dünyası için temel kavramları almış iseniz şu halde bu kaynaktan yararlanma konusunda temel bir anlayışa sahip olmuşsunuz demektir :).

Sizler için faydalı olabileceğini düşündüğüm bir kaç yabancı sitenin linklerini paylaşmak istiyorum. Bu eğitimden arta kalan zamanlarınızda göz atabileceğiniz İngilizce kaynak anlamında faydasını göreceğinizi düşündüğüm bir kaç site:

Genel Bakış

PL/SQL programlama dili SQL ve Oracle ilişkisel veritabanı için prosedürel bir dil uzantısı olarak 1980’lerin sonlarında, Oracle Corporation tarafından geliştirilmiştir.

PL/SQL ile ilgili bazı önemli özellikler: 

  • PL/SQL tamamen yüksek işlem performanslı ve taşınabilir bir işleme dilidir.
  • PL/SQL yorumlama dili yerleşik ve işletim sistemlerinden bağımsız bir programlama ortamı sağlar.
  • PL/SQL’de doğrudan komut satırı SQL * Plus arayüzü çağrılabilir.
  • PL/SQLin genel sözdizimi ADA ve Pascal programlama dillerine dayanmaktadır.
  • PL/SQL, SQL ile entegre edilmiştir.
  • PL/SQL, kapsamlı hata denetimi sunar.
  • PL/SQL çok sayıda veri türleri barındırmaktadır.
  • PL/SQL, programlama yapıları sunar.
  • PL/SQL, fonksiyonlar ve prosedürler aracılığıyla programlamayı destekler.
  • PL/SQL, nesne yönelimli programlamayı destekler.
  • PL/SQL, web uygulamaları ve sunucu sayfaları geliştirmeyi destekler.

PL/SQL aşağıdaki avantajlara sahiptir:

  • SQL standart bir veritabanı dilidir; ancak PL/SQL güçlü bir SQL ile entegre edilmiştir.
  • PL/SQL statik ve dinamik SQL’i destekler. Yani Statik SQL’den kasıt, PL/SQL blokları içerisinde DML* işlemlerini ve işlem kontrollerini desteklemesidir. Dinamik SQL ise PL/SQL blokları içinde DDL** deyimlerini gömmeye izin vermesidir.
  • PL/SQL veritabanı tablolarına bir anda bütün bir blok gönderilmesini sağlar. Bu ağ trafiğini azaltır ve uygulamalar için yüksek performans sağlar.
  • PL/SQL, programcıların sorgularını başka bir biçime dönüştürmelerinde ve veritabanı güncelleme işlemlerinde yüksek oranda verimlilik sağlar.
  • PL/SQL, istisna işleme, muhafaza etme, veri gizleme, nesne yönelimli veri türlerini barındırma gibi güçlü özellikleri ile tasarım ve hata ayıklamada zaman kazandırır.
  • PL/SQL ile yazılmış uygulamalar taşınabilir.
  • PL/SQL yüksek güvenlik düzeyi sağlar.
  • PL/SQL önceden tanımlanmış SQL paketlerine erişim sağlar.
  • PL/SQL Nesne Tabanlı Programlama için destek sağlar.
  • PL/SQL Web Uygulamaları ve Server Pages geliştirilmeleri için destek sağlar.

(DML*), (DDL**)
Bakınız: DDL, DML, DCL ve TCL komutları arasındaki fark nedir?

Sevgili arkadaşlar, bir sonraki yazımızda görüşmek üzere sağlıcakla kalın..

Oracle PL/SQL içinde yayınlandı | , , ile etiketlendi | Yorum bırakın

SEQUENCE (Otomatik Artan ya da Azalan Numara)


Merhaba arkadaşlar, bu makalemizde otomatik artan ya da azalan numara olarak ifade edilen sequence (sekans) nesnesinin tanımını, oluşturulmasını (create edilmesini) ve oluşturulan sequence’in düşürülmesini (drop edilmesini) öğreneceğiz.

Sequence nesnesi kısaca, otomatik artan ya da azalan numara, sayı dizisi olarak tanımlanır. Özellikle primary key (birincil anahtar) ihtiyacına bağlı olarak bir unique number (benzersiz sayı) oluşturmak istediğimizde bu nesnenin özelliklerinden faydalanırız.

Oracle’da Sequence nesnesi oluşturmak için kullanacağımız sözdizimi aşağıdaki gibidir:

Sözdizimi (Syntax):

CREATE SEQUENCE sequence_name
MINVALUE value
MAXVALUE value
START WITH value
INCREMENT BY value
CACHE value;

sequence_name
Oluşturmak istediğiniz dizinin adı.

minvalue
Alabileceği en küçük değer.

maxvalue
Alabileceği en büyük değer.

start with
Değerin kaçtan başlayacağı belirtilir.

increment by
Değerin kaçar kaçar artacağı belirtilir.

cache
Performans amaçlı önbelleğe alınacak adet belirtilir.

Oracle’da otomatik artan ya da azalan bir sayı dizisini (sequence) nasıl oluşturabileceğimize dair bir örnek yapalım.

1’den başlayan ve 1’er 1’er 999999999999999999999999999 değerine kadar artan ve performans amaçlı 20’şer adet değeri önbelleğe alınmasını sağlayan örneği yapalım.

CREATE SEQUENCE musteri_seq
MINVALUE 1
MAXVALUE 999999999999999999999999999
START WITH 1
INCREMENT BY 1
CACHE 20;

Eğer MAXVALUE seçeneği kullanmazsanız, sıra otomatik olarak varsayılan değer olacaktır:

MAXVALUE 999999999999999999999999999

Böylece, CREATE SEQUENCE komutunu daha basitleştirerek aşağıdaki gibi yazabiliriz:

CREATE SEQUENCE musteri_seq
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 20;

Sequence nesnesini oluşturduğunuzda, bu sıra dizisinden değeri nasıl alabileceğimizi görelim. Belirtilen sequence nesnesinden sıradaki değeri alabilmek için nextval ifadesini kullanmamız gerekir.

Örneğin;

musteri_seq.NEXTVAL;

musteri_seq nesnesinden musteri_no alanına karşılık gelecek sıradaki değeri almak istiyorsanız bunu aşağıdaki gibi bir sql cümlesi içerisinde şu şekilde kullanmalısınız:

INSERT INTO musteriler (musteri_no, musteri_adi) 
VALUES (musteri_seq.NEXTVAL, 'Tuncay Uyar');

Şu halde tabloda aşağıdaki gibi bir değer görüyor olacaksınız.

musteri_no musteri_adi
1 Tuncay Uyar

Benzer şekilde tekrar INSERT komutunu kullanarak tabloya ikinci bir kayıt attığımızda,

INSERT INTO musteriler (musteri_no, musteri_adi) 
VALUES (musteri_seq.NEXTVAL, 'Bill Gates');

Bu durumda tabloda aşağıdaki gibi 2 adet değer olduğunu görüyor olacaksınız:

musteri_no musteri_adi
1 Tuncay Uyar
2 Bill Gates
Oracle PL/SQL içinde yayınlandı | , , , , ile etiketlendi | Yorum bırakın