PostgreSQL: Geliştiriciler İçin

Ana Sayfa » Kurslar » PostgreSQL: Geliştiriciler İçin

Eğitimin Kısa Özeti
Bir yazılım içim gerekli olabilecek veritabanı gereksinimlerinin PostgreSQL ile karşılanması.

 

Eğitmenler: Yasin Tatar, Ahmet Fincan

 

Katılımcılar için ön-şartlar

  • Temel veritabanı bilgisi

Eğitim İçeriği

Giriş

  • PostgreSQL temelleri
  • PostgreSQL kurulumu (Binary paket ve kaynak koddan)
  • Veritabanı Nesneleri (table,Schema,Index vb..)
  • Veritabanı Oluşturma
  • PostgreSQL’ de kullanıcı/grup kavramı
  • Kullanıcı/grup yetkilendirmesi
  • Erişim kontrol mekanizması (hba.conf)
  • PostgreSQL yapılandırması
  • Veritabanına Bağlanma (psql de bağanılcak)
  • ACID & RDBM

Temel Tablo İşlemleri

  • Normalizasyon Kuralları (Index, Tablo Kullanımı vb. )
  • Temel Tablo İşlemleri: ALTER, DROP, CREATE, Truncate (sadece ana obje Tabloolanlar)
  • Schema Kavramı (default shema değişimi olacak)
  • Sequences (Bağlı Sequences yapısı, bağı koparma bağlama, Sequences sıfırlama, Sequences değer artırımı, DDL Çalışır değin)
  • Tablespaces (optimizasyon da önemi)

Veri Tipleri İle Çalışmak

  • Veri Tipleri (Array, Json, Hstore, XML )
  • Karakter Veri Tipleri İle Çalışmak
  • Veri Tiplerini Birbirine Dönüştürmek (Cast)
  • Domain
  • “Composite Type” Tanımlama ve Kullanma

Tablo Kısıtları (Constraints) ile Veri Bütünlüğünü Sağlamak

  • Data Bütünlüğü nedir?(Referential Integrity)
  • Constraint Çeşitleri ve Tanımlanması (DEFAULT, CHECK)
  • Tablolar Arası Veri Bütünlüğü Sağlamak (Primary, Uniquee, Foreign Constraint)
  • Cascade Operasyonlar
  • Rules Tanımlamak ve “Check Constraints” ile farklı

SELECT Deyimi ile Veri Sorgulama

  • Temel Bir Select ifadesinin yazılması
  • DISTINCT ile Tekil Veri Getirmek
  • Sütun ve Tablolara Takma İsim Vermek,

Gruplama ve Grup Veri Üzerinde Çalışmak

  • ORDER BY ile Veri Sıralama
  • GROUP BY İfadesi
  • HAVING İfadesi
  • OFFSET
  • Ön Tanımlı Fonksiyonlar (Sum, Max, Avg vs)

DML (Data Manipulation Kavramı)

  • Veritabanına Kayıt Eklemek
  • INSERT Cümleceği
  • SELECT ve INSERT’in Birlikte Kullanımı
  • Veritabanından Kayıt Güncellemek
  • UPDATE Cümleciği
  • Güncellemede WHERE Kullanımı
  • Veritabanından Kayıt Silmek
  • DELETE Cümleceği

Birden Çok Tabloyu Birbirine Bağlama, JOIN’ler

  • INNER JOIN’ler ve Alıştırmalar
  • OUTER JOIN ve Alıştırmalar
  • SELF JOIN
  • Ambiguous Hatası

Null Değerle Çalışmak

İleri Seviye SQL

  • Alt Sorgular (Nested Query) ile Çalışmak
  • Alt Sorgularda EXIST, ANY-SOME ve ALL Kullanımı
  • UNION, UNION ALL ve EXCEPT, INTERSECT sorgularına destek
  • SELECT İçerisinde Fonksiyon/SP Kullanımları (Dağıtılan Foksiyon Listesi Baz Alıncak)

Transaction Yönetimi ve MVCC

  • Temel TRANSACTION Yönetimi
  • Transaction Gerekliliği
  • BEGIN, ROLLBACK ve COMMIT, SAVEPOINT Deyimleri

View Nesneleri ve Tablo İfadeleri

  • View Nesneleri
  • View Yaratmak
  • View’ları Sorguda Kullanmak (View içinde View Çağırmak)
  • MATERIALIZED VIEW

Stored Procedure ile Çalışmak

  • Stored Procedure Kullanarak Veri Sorgulamak & Tipleri
  • Stored Procedure Parametreleri ile Çalışmak
  • Stored Procedure Oluşturmak
  • Dinamik SQL İfadleri Oluşturmak ve Çalıştırmak
  • Kontrol Logic Yapıları (if, while vs)
  • RAISE Yapısı,
  • EXCEPTION Kullanımı,
  • Tablo Döndüren Fonksiyonlar
  • Parametreleri (In ve Out) SP’lerle Çalışmak

Veri Değişikliklerini Trigger Nesneleri ile Yönetmek

  • BEFORE, AFTER ve INSTEAD OF Trigger’ları
  • INSERT, UPDATE ve DELETE Trigger’ları
  • İçiçe Geçmiş Trigger’lar
  • Trigger İçerisinde Update Yapmak
  • Trigger’ların Çalışma Sırası
  • Trigger’ların Alternatifi
  • Trigger’lar İle İlgili Dikkat Edilmesi Gereken Kuralları

PL/SQL ‘de operatörler

  • Kontrol Yapıları
  • IF cümleleri
  • CASE cümleleri
  • Basit Loop cümlesi
  • While Loop cümlesi
  • For Loop cümlesi
  • Continue cümlesi
  • Cursor tanımlama
  • Cursor Açma/Kapama
  • Cursor’dan veri fetch etme
  • Hata yakalama (Exception Handling)

PostgreSQL Index Mimarisi

  • Neden Index’e İhtiyaç Duyulur?
  • Unique Index Kavramı
  • Index ve Veri Tipi İlişkisi
  • Tek Sütunlu ve Çok Sütunlu İndeksler,
  • Function Index,
  • Partition Index,
  • Mevcut Indekslerin Bakımı

Sorgu Performansını Artırma Yöntemleri

  • Performans Artırıcı Etmenler
  • Çalıştırma Planı (Execution Plan)( * EXPLAIN ‘ i anlamak)
  • Execution Plan Okuma ve Yorumlama
  • Sorgu İstatistiklerini Anlamak