Takip et

3 Yıllık Deneyime Sahip PL/SQL Geliştiricileri İçin Mülakat Soruları

3 Yıllık Deneyime Sahip PL/SQL Geliştiricileri İçin Mülakat Soruları

PL/SQL, Oracle veritabanı sistemleri için kullanılan güçlü bir programlama dilidir. Bir PL/SQL geliştiricisi olarak, veritabanı nesneleri oluşturma, verileri manipüle etme ve karmaşık iş mantığı uygulamak gibi görevler üstlenirsiniz. 3 yıllık deneyime sahip bir PL/SQL geliştiricisi olarak, mülakatlarda karşılaşabileceğiniz bazı soruları ve bunlara nasıl yanıt verebileceğinizi inceleyelim.

Temel PL/SQL Kavramları

PL/SQL ile çalışmaya başlamak için bazı temel kavramları bilmeniz gerekir. Bu kavramları anlamak, mülakat sorularını cevaplamanıza ve PL/SQL’nin yeteneklerini tam olarak kullanmanıza yardımcı olacaktır.

1. PL/SQL’nin Özellikleri ve Avantajları Nelerdir?

PL/SQL, Oracle veritabanı için yapılandırılmış bir programlama dilidir. Bu dilin temel özellikleri arasında:

  • Prosedürel Programlama: Bloklar, değişkenler, döngüler ve koşullu ifadeler gibi prosedürel programlama kavramlarını destekler.
  • Veritabanı Odaklı: SQL ile entegre çalışır ve veritabanı işlemlerine doğrudan erişim sağlar.
  • İşlemsel: İşlemsel kod yazmak için kullanılır ve bu sayede karmaşık iş mantığını veritabanında gerçekleştirebilirsiniz.
  • Hata Yönetimi: Hata yakalama ve işleme mekanizmalarıyla kodunuzun güvenilirliğini artırır.

PL/SQL’in avantajları arasında:

  • Verimlilik: Veritabanı işlemlerini optimize ederek performansı artırır.
  • Güvenlik: Yetkilendirme ve erişim kontrol mekanizmalarıyla verilerin güvenliğini sağlar.
  • Tekrar Kullanılabilirlik: Prosedürler ve fonksiyonlar gibi kod parçacıklarının tekrar kullanılabilirliğini artırır.
  • Bakım: Modüler bir yapıya sahip olduğu için kodun bakımı ve güncellenmesi kolaylaşır.

2. PL/SQL’de Farklı Veri Tipleri Nelerdir?

PL/SQL, sayılar, metin, tarih ve diğer verileri depolamak için farklı veri tipleri sunar. Bu veri tiplerini anlayarak doğru veri türünü seçip kullanabilirsiniz.

  • Sayısal Veri Tipleri: NUMBER, INTEGER, FLOAT, DECIMAL gibi veri tipleri sayıları temsil etmek için kullanılır.
  • Metin Veri Tipleri: VARCHAR2, CHAR, LONG gibi veri tipleri metin verilerini depolamak için kullanılır.
  • Tarih ve Zaman Veri Tipleri: DATE, TIMESTAMP gibi veri tipleri tarih ve zaman bilgilerini depolamak için kullanılır.
  • BLOB ve CLOB Veri Tipleri: BLOB (Binary Large Object) ve CLOB (Character Large Object) veri tipleri büyük miktarda ikili veya karakter verilerini depolamak için kullanılır.

3. PL/SQL’de Değişkenler Nasıl Tanımlanır ve Kullanılır?

Değişkenler, PL/SQL bloklarında değerleri depolamak için kullanılır. Değişkenler, veri türleri ve isimlerini belirterek tanımlanır ve değerleri atama operatörü (=) ile atanabilir.

“`sql
DECLARE
— Sayısal değişken tanımlama
my_number NUMBER := 10;
— Metin değişkeni tanımlama
my_string VARCHAR2(20) := ‘Merhaba Dünya’;
BEGIN
— Değişkenlere değer atama
my_number := my_number + 5;
— Değişkenleri ekrana yazdırma
DBMS_OUTPUT.PUT_LINE(‘Sayı: ‘ || my_number);
DBMS_OUTPUT.PUT_LINE(‘Metin: ‘ || my_string);
END;
/
“`

4. PL/SQL’de Koşullu İfadeler Nasıl Kullanılır?

Koşullu ifadeler, belirli koşullar altında kod bloklarının çalıştırılmasını sağlar. PL/SQL’de IF-THEN-ELSE ve CASE ifadeleri kullanılır.

“`sql
DECLARE
age NUMBER := 18;
BEGIN
— IF-THEN-ELSE ifadesi
IF age >= 18 THEN
DBMS_OUTPUT.PUT_LINE(‘Reşit’);
ELSE
DBMS_OUTPUT.PUT_LINE(‘Reşit değil’);
END IF;

— CASE ifadesi
CASE age
WHEN 18 THEN DBMS_OUTPUT.PUT_LINE(‘Tam reşit’);
WHEN 19 THEN DBMS_OUTPUT.PUT_LINE(‘Yeni reşit’);
ELSE DBMS_OUTPUT.PUT_LINE(‘Belirtilmemiş’);
END CASE;
END;
/
“`

5. PL/SQL’de Döngüler Nasıl Kullanılır?

Döngüler, belirli bir kod bloğunun tekrar tekrar çalıştırılmasını sağlar. PL/SQL’de LOOP, WHILE ve FOR döngüleri kullanılır.

“`sql
DECLARE
i NUMBER := 1;
BEGIN
— LOOP döngüsü
LOOP
DBMS_OUTPUT.PUT_LINE(‘Döngü adım: ‘ || i);
i := i + 1;
EXIT WHEN i > 5;
END LOOP;

— WHILE döngüsü
WHILE i <= 10 LOOP DBMS_OUTPUT.PUT_LINE('WHILE döngüsü: ' || i); i := i + 1; END LOOP; -- FOR döngüsü FOR j IN 1..10 LOOP DBMS_OUTPUT.PUT_LINE('FOR döngüsü: ' || j); END LOOP; END; / ```

6. PL/SQL’de Prosedürler ve Fonksiyonlar Nasıl Tanımlanır ve Kullanılır?

Prosedürler ve fonksiyonlar, tekrar tekrar kullanılan kod parçacıklarını düzenlemek ve kodun tekrarını azaltmak için kullanılır. Prosedürler sonuç döndürmezken, fonksiyonlar sonuç döndürür.

“`sql
— Prosedür tanımlama
CREATE OR REPLACE PROCEDURE sayilari_topla(p_sayi1 NUMBER, p_sayi2 NUMBER)
AS
toplam NUMBER;
BEGIN
toplam := p_sayi1 + p_sayi2;
DBMS_OUTPUT.PUT_LINE(‘Toplam: ‘ || toplam);
END;
/

— Prosedürü çağırma
EXECUTE sayilari_topla(10, 20);

— Fonksiyon tanımlama
CREATE OR REPLACE FUNCTION sayilari_carp(p_sayi1 NUMBER, p_sayi2 NUMBER)
RETURN NUMBER
AS
carpim NUMBER;
BEGIN
carpim := p_sayi1 * p_sayi2;
RETURN carpim;
END;
/

— Fonksiyonu çağırma
DECLARE
sonuc NUMBER;
BEGIN
sonuc := sayilari_carp(5, 10);
DBMS_OUTPUT.PUT_LINE(‘Çarpım: ‘ || sonuc);
END;
/
“`

7. PL/SQL’de Hata Yönetimi Nasıl Yapılır?

Hata yönetimi, kodun hataları ele almasını ve beklenmedik durumlarla başa çıkmasını sağlar. PL/SQL, hata yakalama ve işleme için EXCEPTION bloğunu kullanır.

“`sql
DECLARE
my_number NUMBER;
BEGIN
— Hatalı kod
my_number := 10 / 0;
EXCEPTION
WHEN ZERO_DIVIDE THEN
DBMS_OUTPUT.PUT_LINE(‘Sıfıra bölme hatası!’);
END;
/
“`

Veritabanı İşlemleri

PL/SQL, veritabanı nesneleri oluşturmak, verileri manipüle etmek ve veritabanı işlemlerini yönetmek için kullanılır. Bu alanlardaki deneyiminizi göstermek için aşağıdaki soruları cevaplamaya hazır olun.

8. PL/SQL’de Veri Ekleme, Güncelleme ve Silme İşlemleri Nasıl Yapılır?

INSERT, UPDATE ve DELETE SQL ifadelerini kullanarak veritabanına veri ekleyebilir, mevcut verileri güncelleyebilir ve verileri silebilirsiniz. PL/SQL, bu işlemleri kodunuzun içinde gerçekleştirmenizi sağlar.

“`sql
— Veri ekleme
INSERT INTO employees (employee_id, first_name, last_name, salary)
VALUES (100, ‘Fatih’, ‘Soysal’, 5000);

— Veri güncelleme
UPDATE employees
SET salary = 6000
WHERE employee_id = 100;

— Veri silme
DELETE FROM employees
WHERE employee_id = 100;
“`

9. PL/SQL’de DML (Data Manipulation Language) İşlemlerini Nasıl Yönetmek İçin İşlemler Kullanılır?

İşlemler, bir veya daha fazla DML işlemini tek bir atomik işlem olarak yönetmek için kullanılır. Bu, işlemlerin tamamen başarılı veya tamamen başarısız olmasını sağlar. PL/SQL’de işlemler, TRANSACTION anahtar sözcüğü kullanılarak yönetilir.

“`sql
DECLARE
v_employee_id NUMBER;
BEGIN
— İşlem başlatma
BEGIN TRANSACTION;
— Yeni bir çalışan ekleme
INSERT INTO employees (employee_id, first_name, last_name, salary)
VALUES (101, ‘Ali’, ‘Yılmaz’, 4500);
— Çalışanın maaşını güncelleme
UPDATE employees
SET salary = 5000
WHERE employee_id = 101;
— İşlem sonlandırma
COMMIT;
EXCEPTION
WHEN OTHERS THEN
— Hatalı işlem durumunda geri alma
ROLLBACK;
RAISE;
END;
/
“`

10. PL/SQL’de Triggerlar Nasıl Kullanılır ve Ne İşe Yararlar?

Triggerlar, veritabanı tablolarında olaylara tepki olarak çalıştırılan özel PL/SQL kod bloklarıdır. INSERT, UPDATE veya DELETE işlemleri gibi belirli olaylar olduğunda otomatik olarak çalıştırılabilirler.

“`sql
CREATE OR REPLACE TRIGGER employee_salary_update
BEFORE UPDATE OF salary ON employees
FOR EACH ROW
BEGIN
— Maaş artış oranı hesaplama
IF :new.salary > :old.salary THEN
DBMS_OUTPUT.PUT_LINE(‘Çalışan maaşı artırıldı.’);
ELSIF :new.salary < :old.salary THEN DBMS_OUTPUT.PUT_LINE('Çalışan maaşı azaltıldı.'); END IF; END; / ```

11. PL/SQL’de Stored Procedures ve Functions Nasıl Kullanılır?

Stored procedures ve functions, tekrar kullanılabilir kod bloklarının veritabanında depolanmasını sağlar. Bunlar, karmaşık iş mantığını paketlemek, veritabanı işlemlerini optimize etmek ve veri erişimini kontrol etmek için kullanılır. Stored procedures ve functions, daha önceki örneklerde olduğu gibi CREATE OR REPLACE PROCEDURE ve CREATE OR REPLACE FUNCTION komutları ile oluşturulur ve çağırılır.

12. PL/SQL’de Cursorlar Ne İşe Yarar ve Nasıl Kullanılır?

Cursorlar, veritabanından alınan veri kümelerine satır satır erişim sağlayan özel PL/SQL nesneleridir. Bu, veritabanı sorgularının sonuçlarını işlerken her bir satır üzerinde işlem yapmanıza olanak tanır.

“`sql
DECLARE
— Cursor tanımlama
CURSOR employee_cursor IS
SELECT employee_id, first_name, last_name, salary
FROM employees
WHERE salary > 5000;
— Cursor değişkeni tanımlama
employee_record employee_cursor%ROWTYPE;
BEGIN
— Cursor açma
OPEN employee_cursor;
— Satır satır veri okuma
LOOP
FETCH employee_cursor INTO employee_record;
EXIT WHEN employee_cursor%NOTFOUND;
— Verileri işleme
DBMS_OUTPUT.PUT_LINE(‘Çalışan ID: ‘ || employee_record.employee_id);
DBMS_OUTPUT.PUT_LINE(‘Çalışan Adı: ‘ || employee_record.first_name);
END LOOP;
— Cursor kapatma
CLOSE employee_cursor;
END;
/
“`

13. PL/SQL’de Paketler Nasıl Kullanılır?

Paketler, PL/SQL prosedürleri, fonksiyonları, değişkenleri, tipleri ve cursorlar gibi ilgili nesneleri bir araya getirmek için kullanılır. Paketler, kodun organizasyonunu ve tekrar kullanılabilirliğini artırır.

“`sql
CREATE OR REPLACE PACKAGE employee_package
AS
— Fonksiyon tanımlama
FUNCTION get_employee_count RETURN NUMBER;
— Prosedür tanımlama
PROCEDURE update_employee_salary(p_employee_id NUMBER, p_new_salary NUMBER);
END;
/

CREATE OR REPLACE PACKAGE BODY employee_package
AS
FUNCTION get_employee_count RETURN NUMBER
IS
v_count NUMBER;
BEGIN
SELECT COUNT(*) INTO v_count FROM employees;
RETURN v_count;
END;

PROCEDURE update_employee_salary(p_employee_id NUMBER, p_new_salary NUMBER)
IS
BEGIN
UPDATE employees
SET salary = p_new_salary
WHERE employee_id = p_employee_id;
END;
END;
/
“`

İleri Düzey Konular

3 yıllık deneyime sahip bir PL/SQL geliştiricisi olarak, ileri düzey konularda da bilgi sahibi olmanız beklenir. Aşağıdaki konularla ilgili sorulara hazır olun.

14. PL/SQL’de İşlemsel Görünüm (Stored Procedure) ve Fonksiyon (Function) Farkları Nelerdir?

İşlemsel görünüm (stored procedure) ve fonksiyon (function) arasında birkaç önemli fark vardır:

  • Sonuç Döndürme: Fonksiyonlar bir sonuç döndürürken, stored procedures sonuç döndürmez.
  • Çağırma: Fonksiyonlar, SQL ifadelerinde veya diğer PL/SQL kodlarında çağırılabilirken, stored procedures genellikle EXECUTE komutu ile çağırılır.
  • Parametreler: Fonksiyonlar ve stored procedures parametre alabilir, ancak fonksiyonlar parametreleri girdi olarak alıp bir sonuç döndürürken, stored procedures parametreleri girdi olarak alır ve sonuç olarak sadece yan etkileri vardır.

15. PL/SQL’de Performans Optimizasyonu Nasıl Yapılır?

PL/SQL kodunuzun performansını iyileştirmek için çeşitli teknikler kullanılabilir:

  • SQL ifadelerini optimize etme: Sorguları daha verimli hale getirmek için uygun indeksler oluşturun, gereksiz verileri sorgulamayın ve en uygun SQL ifadelerini kullanın.
  • Veri türlerini dikkatlice seçme: Uygun veri türlerini seçerek depolama alanını azaltın ve performansı artırın.
  • Döngüleri optimize etme: Gerektiğinde FOR döngülerini kullanın, gereksiz döngü iterasyonlarını azaltın ve büyük veri kümeleri üzerinde işlem yaparken cursorlar kullanın.
  • Stored procedures ve functions kullanma: Tekrar kullanılabilir kod bloklarını paketleyerek network trafiğini ve işlem maliyetlerini azaltın.

16. PL/SQL’de Kullanılabilen Farklı Tipler (Types) Nelerdir?

PL/SQL, farklı veri yapılarına ihtiyaç duyduğunuzda kullanabileceğiniz farklı tipler sunar:

  • Kayıt Tipleri (Record Types): İlgili verileri bir araya getirmenizi sağlayan yapılandırılmış veri türleri.
  • Koleksiyon Tipleri (Collection Types): Birbirine benzer çoklu veriyi depolamak için kullanılan tablolar (TABLE) ve kümeler (VARRAY) gibi veri yapıları.
  • Kullanıcı Tanımlı Türler (User-Defined Types): Özel veri türleri oluşturmanıza olanak tanır.

17. PL/SQL’de Farklı Farklı Hatayı Nasıl Ele Alıyorsunuz?

PL/SQL, farklı hata durumlarını ele almak için kullanabileceğiniz bir hata yönetimi mekanizması sağlar. Hataları ele almak için EXCEPTION bloğunu ve çeşitli hata türlerini kullanabilirsiniz.

18. PL/SQL’de Zamanlama Nasıl Yapılır?

PL/SQL’de, belirli zamanlarda veya belirli aralıklarda otomatik olarak çalışacak kod blokları tanımlamak için zamanlama kullanabilirsiniz. Zamanlama, DBMS_SCHEDULER paketi aracılığıyla gerçekleştirilir.

“`sql
BEGIN
— Yeni bir zamanlama işi oluşturma
DBMS_SCHEDULER.CREATE_JOB (
job_name => ‘my_job’,
job_type => ‘PLSQL_BLOCK’,
job_action => ‘BEGIN DBMS_OUTPUT.PUT_LINE(”Zamanlama çalışıyor!”); END;’,
start_date => SYSDATE,
repeat_interval => ‘FREQ=MINUTELY; INTERVAL=5’,
enabled => TRUE
);
END;
/
“`

19. PL/SQL’de Güvenlik Nasıl Sağlanır?

PL/SQL kodunun güvenliğini sağlamak için birkaç önemli adım atmanız gerekir:

  • Yetkilendirme: PL/SQL nesnelerine erişim haklarını tanımlayın ve kullanıcıların yetkilerine göre erişimi kısıtlayın.
  • Giriş Doğrulama: Kullanıcı girdilerini doğrulayın ve güvenlik açıklarına karşı kodunuzu koruyun.
  • Veri Şifreleme: Hassas verileri şifreleyerek yetkisiz erişimi önleyin.

20. PL/SQL’de Yeni Özellikler (Yeni Özellikler) Nasıl Kullanılır?

Oracle, her yeni sürümle PL/SQL’ye yeni özellikler ekliyor. Yeni özelliklerden haberdar olmak ve bunları kullanmak için Oracle belgelerini takip etmeniz ve yeni sürümlerin özelliklerinden haberdar olmanız gerekir.

Mülakat Hazırlığı İpuçları

PL/SQL geliştiricisi olarak mülakatlara hazırlanmak için şunları yapabilirsiniz:

  • Temel PL/SQL konularını gözden geçirin: PL/SQL dilinin temellerini, veri türlerini, koşullu ifadeleri, döngüleri, prosedürleri ve fonksiyonları gözden geçirin.
  • Veritabanı işlemleriyle ilgili sorulara hazır olun: DML işlemleri, triggerlar, stored procedures ve functions hakkında bilgi sahibi olun.
  • İleri düzey konuları araştırın: Paketler, performans optimizasyonu, hata yönetimi ve zamanlama gibi ileri düzey konuları öğrenin.
  • Örnek projeler üzerinde çalışın: Gerçek dünya örnekleri üzerinde çalışarak deneyiminizi güçlendirin.
  • Mülakat soruları hakkında araştırma yapın: PL/SQL geliştiricileri için tipik mülakat sorularını araştırın.
  • Kendinize güvenin: Bilgilerinizle kendinize güvenin ve mülakatı rahat bir şekilde geçirin.

Umarım bu makale, 3 yıllık deneyime sahip PL/SQL geliştiricileri için mülakat sorularını anlamanıza yardımcı olur. Kendinize güvenin, çalışın ve başarıya ulaşın!

İlave Bilgiler İçin:

#Etiketler

#PL/SQL #Mülakat #Geliştirici #Oracle #Veritabanı #Programlama #SQL #Stored Procedures #Functions #Triggerlar #Paketler #Performans #Optimizasyon #Hata Yönetimi #Zamanlama #Güvenlik #Deneyim #İpuçları #Hazırlık #Eğitim #Kaynaklar

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.