Lütfen, "Sık Sorulan Sorular" sayfasını dikkatli bir biçimde okuyun.


27 Ocak - 3 Şubat
2018
Karabük Üniversitesi

       

Ana Sayfa

Kurs Listesi

Güncellemeler için takip edin.

PostgreSQL: Geliştiriciler İçin

 
Kurs kapsamı; geliştiriciler için veritabanı gereksinimlerinin PostgreSQL ile nasıl, karşılanabileceğine dair anlatı ve uygulamalardan oluşmaktadır.
 
Kurs Sorumlusu/Sorumluları: Yasin Tatar, Ahmet Fincan
Eğitmen/Eğitmenler: Yasin Tatar, Ahmet Fincan
 
Katılımcılar için ön-şartlar:
Başlangıç düzeyinde veritabanı bilgisi
 
Katılımcıların kursa getirmesi gereken donanım/yazılım:
Kişisel bilgisayarları ile gelmeleri gerekmektedir.

Kurs İç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, NoSQL, XML, IP )
– Karakter Veri Tipleri İle Çalışmak
– Veri Tiplerini Birbirine Dönüştürmek (tipCast)
– Özel Veri Tipleri İle Çalışmak (Timestamp, Rowversion, Alias)
– 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”

* 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 Management & 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 Yaratmak
– Dinamik SQL İfadleri Oluşturmak ve Çalıştırmak
– Kontrol Logic Yapıları (if, while vs)
– RAISE Yapısı,
– Hata Yönetimi(RAISEERROR ve THROW Deyimleri)
– TRY-CATCH Kullanımı
– Throw Deyimi
– Exception ERROR Nesnesi ile Çalışmak
– Tablo Döndüren Fonksiyonlar
– Parametreleri (In ve Out) SP’lerle Çalışmak

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

– AFTER ve INSTEAD OF Trigger’ları
– INSERT, UPDATE ve DELETE Trigger’ları
– İçiçe Geçmiş Trigger’lar
– Recursive Trigger Kavramı
– 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
– Explicit Cursors
– Cursor tanımlama
– Cursor Açma/Kapama
– Cursor’dan veri fetch etme
– Hata yakalama (Exception Handling)

* SQL Server Index Mimarisi
– Neden Index’e İhtiyaç Duyulur?
– Temel Index Terminolojisi (Selectivity, Depth, Density)
– HEAP Kavramı
– Clustered Index Kavramı
– Unique ve Non-Unique Clustered Index Kavramı
– Non-Clustered Index Kavramı
– Index Ayarları (Padding, Fill Factor, Include vs)
– Index ve Veri Tipi İlişkisi
– Tek Sütunlu ve Çok Sütunlu İndeksler
– Columns Store Index
– Index İstatistiği
– Uygun Indeksi Seçme Yöntemleri
– Mevcut Indekslerin Bakımı
– Mevcut Indekslerin Elde Edilmesi

* Sorgu Performansını Artırma Yöntemleri
– Performans Artırıcı Etmenler
– Distribution İstatistikleri
– Cursor Tanımları
– Çalıştırma Planı (Execution Plan)( * EXPLAIN ‘ i anlamak)
– Execution Plan Okuma ve Yorumlama
– Actual ve Estimated Plan Kavramları
– Sorgu İstatistiklerini Anlamak