Yığıt Yapısı

Merhaba arkadaşlar.. Bugün size önemli veri yapılarından biri olan yığıt yapısı hakkında bilgi vereceğim.Bazı kaynaklarda yığın diye geçebilir.

Bilgisayar alanında en kullanışlı yapılardan biri yığıt veri yapısıdır. Yığıt veri yapısı programlamada çok önemli bir yere sahiptir.

Yığın yapısı temel olarak sondan erişimlidir. Yığın yapısına veriler her zaman sondan eklenir ve sondan çıkarılır. Yığın yapısında LIFO(Last In First Out) mantığı işlemektedir. Yani son giren eleman her zaman ilk çıkar.

Üniversitede veri yapıları dersi aldıysanız mutlaka bu konuya aşinasınızdır. Yığın yapısının nerelerde bahsetmek istiyorum. Yazılım uygulamalarında Undo(Geri Al) işlemleri yığıt veri yapısı sayesinde kolayca gerçeklenebilir. En son yaptığımız işlemi geri almamız tam olarak yığıt kullanımını anlatmaktadır. Tarayıcılarda Back butonu ile önceki sayfaya dönme işlemi yığıt veri yapısı ile yapılmaktadır. Yüksek seviyeli bir dilde yazılmış matematiksel ifadelerin makine kodunda işlenmesinde yığıt veri yapısı kullanılmaktadır.

Son olarak bir yığıt yapısına eleman eklemenin C/C++ kodunu paylaşacağım.

Not : .c uzantısı ile derlerken hata alırsanız .cpp uzantısını deneyin.

Trigger Kullanımı

Merhaba arkadaşlar 🙂 Bugün çoğu veri tabanı sistemlerinde kullanılan Triggerlar hakkında bilgi vereceğim.

Triggerların Türkçesi tetikleyici demektir. Yani akla ilk olarak bir şey sonucunda etkilenen manası gelmektedir. Aslında tam olarak da Triggerlar bunu sağlar.

Triggerları veri tabanlarımızda kullanmamızın ana sebebi bir yerde bir değişiklik olduğunda buna paralel olarak başka bir yerde de değişikliğin sağlanmasıdır. Mesela bir veri tabanımız var ve içinde iki tane tablo olduğunu varsayalım ve X adlı tablomuzda değişiklik yapmak istiyoruz. Bu ekleme olabilir, silme olabilir ya da güncelleme olabilir. Eğer buna bağlı olarak Y tablomuzda da değişiklik olmasını istiyorsak Triggerları kullanırız. Bu bize dinamik bir değişiklik kazandırır. Yani bir tablonun içeriğini değiştirdikten sonra başka bir tablonun içeriğini değiştirmemize gerek kalmaz bu otomatik olarak gerçekleşir.

Triggerları, programlama dillerindeki şart cümleciklerine de benzetebilirsiniz.Yani şartın sağlanması gerekir şart sağlanıyorsa eğer Trigger çalışır.

Triggerlar Insert, Delete ve Update işlemleri üzerinde çalışırlar.

Veri tabanımızda bir Trigger yaratmak için aşağıdaki yapıyı kullanırız.

PL/SQL Nedir.. Neden Kullanılır..

Merhaba arkadaşlar.. Bugün size üzerinde çalıştığım PL/SQL teknolojisini anlatmaya çalışacağım.
Belki çoğunuz bu teknoloji hakkında yeterli bilgiye sahip değildir hatta ismini duymamış olanlar bile vardır. Daha çok bu teknolojinin nedir neden kullanılır ve nerelerde rol oynar bunun üzerinde duracağım.

1-PL/SQL Nedir, Neden Kullanılır?
PL/SQL yapısal dillerin SQL’e eklenmesi sonucu oluşan Oracle’a has bir dildir. PL/SQL kullanarak her türlü SQL cümleciği yazabilirsiniz. Dinamik SQL ifadeleri oluşturup, çalıştırabilirsiniz.En önemliği özelliği de PL/SQL uygulamaları veri tabanı kısmında çalışırlar. Böylece sorguların istemciden sunucuya ya da tekrar sunucudan istemciye gitmesine gerek yoktur. Yani ağ trafiği de azalmış olur.

2-PL/SQL Yapısal Özellikler
PL/SQL, SQL cümlelerine blok yapılarının, şart cümlelerinin, döngülerin vs. diğer özelliklerin eklenmesiyle oluşmuş bir dildir. En temel yapı birimi bloktur. Bir veya birden fazla bloktan oluşabilirler. Akış kontrolü sayesinde yapısal dillere ait olan şart cümleleri ve döngüler PL/SQL bloklarında kullanılabilir. Böylece yazılan programlar çok etkin ve hızlı hale gelmektedir. Eğer bu özellik olmasaydı SQL cümlelerini ayrı ayrı yazmak ve çalıştırmak gerekecekti.Bu da performansı azaltan etkenlerden bir tanesidir.

3-Blok Yapısı
Birbirleriyle ilişkili ifadelerin mantıksal bölümlere ayrılması demektir. Değişken tanımlamaları ve hata kontrolleri de her blok içerisinde yapılabilir. PL/SQL blok yapısı üç bölümden oluşur.Bunlar;

  • Bildirim Deyimleri
  • Program Komutları (Zorunlu!)
  • Aykırı Durumlar (Exception ifadeleri)

Bu üç bölümden sadece ikincisi zorunludur. Klasik bir PL/SQL blok yapısı şu şekildedir.

Şimdi de bu ifadede geçen komutları kısaca tanıyalım.

  • DECLARE : Blok içerisinde kullanılan değişkenlerin tanımlandığı bölümdür.
  • BEGIN : Bloğun başlangıcını belirten referans isimdir
  • EXCEPTION : Aykırı durumların başlangıcını belirten rezerve isimdir. Hata durumlarında neler yapılacağını kontrol eder.
  • END : Bloğun sonunu belirten referans isimdir.

Not:Exception kısmı nesneye yönelik programlama dillerindeki try/catch’e çok benzer. Bir hata olduğunda ne yapacağını belirtir.

Örnek bir blok yapısı yapalım.