Eğitimin Amacı ve Kapsamı
Bankacılık, sigortacılık, telekom ve ERP sistemlerinde kritik iş kuralları ve günsonu (batch) hesaplamaları doğrudan verinin yanında, Oracle PL/SQL katmanında çalışır. Satır satır (row-by-row) döngülerle veya dağınık prosedürlerle yazılan PL/SQL kodları hem SQL–PL/SQL bağlam geçişi (context switching) nedeniyle saatler sürer hem de bakımı zorlaşır.
Bu eğitimde PL/SQL mimarisi, bileşik veri tipleri (Record ve Collection türleri), açık/örtük ve parametreli Cursor'lar, kullanıcı tanımlı istisnalar ve hata loglama (PRAGMA AUTONOMOUS_TRANSACTION), modüler Package tasarımı, Compound Trigger'lar, güvenli Native Dynamic SQL ve BULK COLLECT / FORALL ile toplu veri işleme uygulamalı olarak ele alınır.
Kimler Katılmalı?
- Oracle üzerinde iş mantığı, entegrasyon ve günsonu (batch/ETL) geliştiren PL/SQL ve veri tabanı geliştiricileri
- Oracle tabanlı kurumsal uygulamalarla çalışan backend yazılım mühendisleri
- Mevcut PL/SQL paketlerinin performansını ve kod kalitesini iyileştirmek isteyen teknik ekipler
- Ön koşul: temel SQL sorgulama (SELECT, JOIN, DML) bilgisi
Kazanımlar
%TYPE,%ROWTYPE, Record, Associative Array ve Nested Table yapılarını doğru senaryoda kullanmak- İlgili prosedür, fonksiyon, tip ve durum değişkenlerini modüler PL/SQL Package yapısı altında toplamak
PRAGMA EXCEPTION_INIT,SQLCODE/SQLERRM,DBMS_UTILITY.FORMAT_ERROR_BACKTRACEve otonom işlemlerle kalıcı hata loglama kurmak- Yavaş satır bazlı Cursor döngülerini
BULK COLLECT(LIMIT) veFORALL(SAVE EXCEPTIONS) ile onlarca kat hızlandırmak - Dinamik SQL'de bind değişkenleri ve
DBMS_ASSERTkullanarak hem performansı hem SQL injection güvenliğini sağlamak
Konular
PL/SQL Mimarisi, Blok Yapısı ve Bileşik Veri Tipleri
- PL/SQL motoru ile SQL motoru etkileşimi, anonim bloklar ve değişken kapsamı
- Şema bağımsız kodlama için
%TYPEve%ROWTYPEnitelikleri, kullanıcı tanımlı Record tipleri - Koleksiyonlar: Associative Array (
INDEX BY), Nested Table ve VARRAY farkları ve koleksiyon metotları
Cursor Yönetimi ve Kurumsal Hata (Exception) Mimarisi
- Implicit vs Explicit Cursor'lar, Cursor FOR döngüleri, parametreli cursor'lar ve
SYS_REFCURSOR - Önceden tanımlı istisnalar,
PRAGMA EXCEPTION_INITveRAISE_APPLICATION_ERRORile iş kuralı hataları DBMS_UTILITY.FORMAT_ERROR_BACKTRACEvePRAGMA AUTONOMOUS_TRANSACTIONile rollback'ten etkilenmeyen log tablosu
Prosedür, Fonksiyon ve Modüler Package Tasarımı
- Stored Procedure ve Function parametre modları (
IN,OUT,IN OUT,NOCOPY) ve SQL içinde çağrılabilir fonksiyon kısıtları - Package Specification (genel arayüz) ve Package Body (gizli uygulama), overloading ve paket durumu
- Invoker's Rights (
AUTHID CURRENT_USER) vs Definer's Rights, bağımlılık yönetimi veRESULT_CACHE
Trigger Tasarımı ve Güvenli Dinamik SQL
- DML Trigger türleri (BEFORE/AFTER, satır vs ifade seviyesi) ve ne zaman trigger yerine paket kullanılmalı?
- Mutating Table (
ORA-04091) hatasının nedeni veCOMPOUND TRIGGERile temiz çözümü EXECUTE IMMEDIATE,USINGile bind variable kullanımı veDBMS_ASSERTile SQL Injection önleme
Yüksek Performanslı PL/SQL: Bulk Processing ve Profiling
- SQL–PL/SQL Context Switch maliyeti: neden tekil DML içeren döngüler günsonu işlerini kilitler?
BULK COLLECT INTO ... LIMITile PGA belleğini tüketmeden yığın okuma ve Pipelined Table FunctionsFORALL ... SAVE EXCEPTIONSveSQL%BULK_EXCEPTIONSile toplu yazma veDBMS_PROFILER/DBMS_HPROFanalizi
Bu Kategorideki Diğer Eğitimler
-
SQL Veri Modelleme, Normalizasyon ve Şema Optimizasyonu
Kavramsal/mantıksal/fiziksel veri modelleme, 1NF–3NF/BCNF normalizasyon kuralları, veri anomalilerini önleme, kontrollü denormalizasyon, doğal vs vekil (surrogate) anahtarlar, veri tipleri, kısıtlar ve sıfır kesintili şema evrimi.
- Canlı Kurs
- 5 modül
-
SQL Sorgulama Temel
İlişkisel veritabanı mimarisi, veri modelleme, normalizasyon, indeksleme, tablolar, görünümler (Views), saklı prosedürler (Stored Procedures) ve JOIN ile temel SQL sorgulama.
- Canlı Kurs
- 8 modül
-
SQL Veri Tabanı Sorgulama
SQL Server mimarisi, SSMS kullanımı, T-SQL temelleri, SELECT sorguları, çoklu tablo JOIN işlemleri (INNER, OUTER, CROSS, SELF JOIN), OFFSET-FETCH sayfalama ve yerleşik (Scalar, Aggregate, Window) fonksiyonlar.
- Canlı Kurs
- 7 modül
-
Apache Spark SQL ile Büyük Veri Sorgulama
Apache Spark SQL ve DataFrame API, Catalyst Optimizer ve Adaptive Query Execution (AQE), Parquet/Delta Lake/Iceberg tablo formatları, join stratejileri ve data skew çözümü; büyük veri analitiği geliştiren ekipler için.
- Canlı Kurs
- 5 modül
-
PostgreSQL Temelleri ve İleri Seviye Geliştirme
PostgreSQL veri tipleri, ileri SQL (CTE, window functions, LATERAL), JSONB ile belge modelleme, tam metin arama, B-Tree/GIN/GiST/BRIN indeksleri, PL/pgSQL, MVCC/kilitler ve tablo bölümleme; uygulama geliştiricileri için.
- Canlı Kurs
- 5 modül
-
PostgreSQL Administration (Veri Tabanı Yönetimi)
PostgreSQL mimarisi, bellek ve WAL yapılandırması, MVCC/Autovacuum ve bloat yönetimi, PgBouncer bağlantı havuzu, pgBackRest ile PITR yedekleme, Streaming/Logical Replication ve Patroni ile yüksek erişilebilirlik.
- Canlı Kurs
- 5 modül
Bizimle iletişime geçin