PostgreSQL Database Dersi, veritabanı yönetimini öğrenmek isteyenler için hazırlanmış kapsamlı bir eğitim programıdır. Bu kurs boyunca, katılımcılar temel SQL komutlarından başlayarak veritabanı tasarımı, veri sorgulama, güncelleme, silme gibi işlemleri öğrenir. Ayrıca, PostgreSQL’e özgü özellikler, performans optimizasyonu, transaction yönetimi ve güvenlik konularına da değinilir. Eğitimin sonunda katılımcılar, öğrendiklerini kullanarak küçük bir veritabanı projesi geliştirerek bilgilerini pekiştirme imkânı bulur.
Postgresql'e GirişBu modülde, PostgreSQL veritabanı sisteminin ne olduğu, hangi amaçlarla kullanıldığı ve diğer veritabanlarına göre avantajları ele alınacaktır. Katılımcılar PostgreSQL’in temel yapısını, kullanım alanlarını ve neden tercih edildiğini öğrenecektir. Temel kavramlara giriş yapılır.
Veri ve VeritabanıVeri (Data):
Bilgi parçacıklarıdır; sayılar, metinler, tarih ve diğer değerler olabilir. Tek başına anlam ifade etmeyebilir ancak işlendiğinde bilgiye dönüşür.
Veritabanı (Database):
Verilerin organize ve sistematik şekilde saklandığı dijital depo ya da koleksiyondur. Veritabanları, verilerin hızlı erişim, yönetim ve güncellemesini sağlar.
PostgreSQL KurulumuBu modülde, PostgreSQL veritabanının sisteminize nasıl kurulacağı adım adım anlatılacaktır. İşletim sistemine göre farklı kurulum yöntemleri ele alınacak ve temel yapılandırma ayarları yapılacaktır. Katılımcılar, kurulum sonrası PostgreSQL’in temel bileşenlerini tanıyacak ve veritabanı sunucusunu başlatıp durdurmayı öğrenecektir. Bu modül, PostgreSQL ile çalışmaya başlamanın ilk adımıdır.
SELECT YapısıBu modülde, SQL sorgularında en temel ve en sık kullanılan komut olan SELECT yapısı incelenecektir. Katılımcılar, veritabanından veri çekmek için SELECT ifadesinin nasıl kullanıldığını, temel sözdizimini ve farklı sorgu örneklerini öğrenecektir. Ayrıca, veri filtreleme, sıralama ve belirli sütunların seçilmesi gibi temel işlemler de ele alınacaktır. Bu modül, SQL sorgulama becerilerinin temelini oluşturur ve gerçek dünya uygulamalarında veriye erişim için vazgeçilmezdir.
WHERE ve Mantıksal OperatörlerBu modülde, SQL sorgularında veri filtreleme işleminin temel aracı olan WHERE koşulu ve farklı koşulları birleştirmek için kullanılan mantıksal operatörler detaylı olarak ele alınacaktır. Katılımcılar, belirli kriterlere uyan kayıtların nasıl seçileceğini, AND, OR, NOT gibi operatörlerin kullanımını ve birden fazla şartın nasıl kombinasyon halinde uygulanacağını öğreneceklerdir. Bu modül, veritabanından hedefe yönelik veri çekme ve sorgu optimizasyonu açısından kritik öneme sahiptir.
BETWEEN ve INBu modülde, SQL sorgularında veri seçimini kolaylaştıran ve filtreleme işlemlerini daha etkili hale getiren BETWEEN ve IN operatörleri detaylı şekilde incelenecektir. Katılımcılar, belli bir aralıkta yer alan değerleri seçmek için BETWEEN operatörünü, belirli bir listeye ait değerleri seçmek için ise IN operatörünü nasıl kullanacaklarını öğreneceklerdir. Bu modül sayesinde, karmaşık sorgular daha kısa ve okunabilir hale getirilir, veritabanı sorgu performansı artırılır.
LIKE ve ILIKELIKE ve ILIKE – Modül Açıklaması
Bu modülde, SQL sorgularında metin (string) veriler üzerinde esnek ve etkili arama yapmayı sağlayan **LIKE** ve **ILIKE** operatörleri incelenecektir. Katılımcılar, LIKE ile büyük/küçük harf duyarlı aramalar yapmay...
DISTINCT ve COUNTBu modülde, SQL sorgularında veri kümesini daha anlamlı hale getirmek için kullanılan DISTINCT ve COUNT ifadeleri ele alınacaktır. Katılımcılar, DISTINCT komutuyla veri tekrarlarının nasıl engelleneceğini ve benzersiz kayıtların nasıl seçileceğini öğreneceklerdir. Ayrıca COUNT fonksiyonunun, belirli kriterlere uyan kayıtların sayısını hesaplamak için nasıl kullanıldığı üzerinde durulacaktır. Bu bilgiler, veritabanı sorgularında veri analizi ve raporlama yaparken çok önemli bir rol oynar.
SQL-PostgreSQL 02Yeni Açıklama
6 licoes
ORDER BYBu modülde, SQL sorgularında sonuçların belirli sütunlara göre nasıl sıralanacağını öğreneceksiniz. ORDER BY ifadesi, sorgu sonuçlarını artan (ASC) veya azalan (DESC) düzende düzenlemek için kullanılır. Katılımcılar, tek bir sütun veya birden fazla sütuna göre sıralama yapmayı, varsayılan sıralama düzenini ve sıralamada dikkat edilmesi gereken noktaları öğreneceklerdir. Bu modül, veritabanı sorgularının okunabilirliğini artırmak ve analiz süreçlerinde daha anlamlı veriler elde etmek için önemlidir.
LIMIT ve OFFSETBu modülde, SQL sorgularında sonuçların kaç tane satırının getirileceği ve hangi satırdan başlanarak listeleneceği konularını öğreneceksiniz. LIMIT ifadesi, sorgu sonucunda dönecek maksimum kayıt sayısını belirlerken, OFFSET ifadesi ise sonuçların hangi satırdan itibaren alınacağını kontrol eder. Bu iki ifade, özellikle büyük veri kümeleri üzerinde sayfalama (pagination) işlemlerinde sıkça kullanılır. Katılımcılar, veri çekme performansını artırmak ve kullanıcı arayüzlerinde verileri parça parça göstermek için LIMIT ve OFFSET’in nasıl kullanıldığını kavrayacaklardır.
Aggregate FonksiyonlarAggregate fonksiyonlar, veritabanı sorgularında birden fazla kaydın üzerinde toplu hesaplamalar yapmak için kullanılır. Bu fonksiyonlar, bir veri kümesi üzerinde işlem yaparak tek bir özet sonuç üretir. En yaygın kullanılan aggregate fonksiyonlar; kayıt sayısını bulan COUNT, sayısal değerlerin toplamını veren SUM, ortalamasını hesaplayan AVG, en küçük değeri bulan MIN ve en büyük değeri bulan MAX fonksiyonlarıdır. Bu fonksiyonlar, özellikle raporlama ve analiz işlemlerinde, verileri gruplayarak anlamlı bilgiler elde etmek için kullanılır. Ayrıca, GROUP BY ifadesiyle birlikte kullanılarak belirli gruplar için toplu hesaplamalar yapılabilir. Aggregate fonksiyonlar, null değerleri genellikle dikkate almaz ve performans açısından indeksli sütunlarla kullanılması önerilir.
GROUP BYGROUP BY, SQL sorgularında verileri belirli bir sütuna veya sütunlara göre gruplamak için kullanılan bir ifadedir. Genellikle aggregate (toplama) fonksiyonlarıyla birlikte kullanılır; böylece her grup için ayrı ayrı toplu hesaplamalar yapılabilir. Örneğin, bir satış tablosunda ürünlere göre satış toplamını bulmak istediğimizde GROUP BY ile ürün bazında verileri gruplayıp, SUM fonksiyonuyla toplam satış tutarını hesaplayabiliriz.
HAVINGHAVING, SQL sorgularında GROUP BY ile oluşturulan gruplar üzerinde koşul koymak için kullanılır. WHERE ifadesi tek tek satırlar üzerinde filtreleme yaparken, HAVING gruplar üzerinde filtreleme yapar. Bu sayede, örneğin belirli bir toplam, ortalama veya sayıya sahip grupları seçmek mümkün olur. Özellikle aggregate fonksiyonlarla yapılan gruplama sonuçlarını sınırlamak için HAVING kullanılır. Örneğin, belirli bir değerin üzerinde toplamı olan grupları listelemek için tercih edilir.
ALIASALIAS SQL sorgularında sütunlara veya tablolara geçici isim vermek için kullanılır. Bu isimlendirme, sorgunun okunabilirliğini artırır ve karmaşık ifadelerde kolaylık sağlar. ALIAS ile verilen isimler sorgu çalışırken kullanılır ancak veritabanında kalıcı olarak saklanmaz. Sütunlar için genellikle AS anahtar kelimesi ile, tablolar için ise doğrudan isim verilir. Özellikle birden fazla tabloyu birleştirirken veya hesaplama sonucu oluştururken alias kullanmak faydalıdır. Örneğin, SELECT first_name AS name FROM users; ifadesinde first_name sütununa name adı verilmiştir.
2. SQL-PostgreSQL -TablolarYeni Açıklama
6 licoes
Tablo Oluşturmak - SilmekVeritabanlarında veriler, tablolar içinde düzenli olarak saklanır. Bu modülde, SQL kullanarak yeni tablolar nasıl oluşturulur ve ihtiyaç kalmadığında tablolar nasıl silinir, öğreneceksiniz.
Tablo Oluşturmak (CREATE TABLE): Yeni bir tablo tanımlamak için kullanılır. Tablo sütunları ve veri tipleri belirlenir.
Tablo Silmek (DROP TABLE): Artık kullanılmayan veya gereksiz tabloları veritabanından tamamen kaldırmak için kullanılır.
Bu temel işlemler, veritabanı yapısının yönetimi ve düzeni için kritik öneme sahiptir.
Verileri Güncellemek - SilmekVerileri Güncellemek - Silmek
Veritabanlarında kayıtlar üzerinde değişiklik yapmak veya kayıtları tamamen silmek çok sık yapılan işlemlerdir. Bu işlemler için SQL’de UPDATE ve DELETE komutları kullanılır.
UPDATE: Mevcut bir kaydın belirli sütunlarındaki verileri değiştirmek için kullanılır. Koşul belirtilmezse tablodaki tüm kayıtlar güncellenir, bu yüzden dikkatli kullanılması gerekir.
DELETE: Belirli bir veya birden fazla kaydı silmek için kullanılır. Yine koşul belirtilmezse tüm kayıtlar silinebilir.
PRIMARY KEY - FOREIGN KEYPRIMARY KEY (Birincil Anahtar):
Bir tablodaki her kaydı benzersiz olarak tanımlayan sütun ya da sütunlar bütünüdür. Primary key, tablodaki her satırın eşsiz olmasını sağlar ve null (boş) değer içeremez. Bu sayede veritabanı içerisinde her kaydı diğerlerinden ayırmak mümkün olur. Genellikle bir tablo sadece bir adet primary key’e sahip olur.
FOREIGN KEY (Yabancı Anahtar):
Bir tablodaki sütunlardan biri ya da birkaçının, başka bir tablonun primary key sütununa referans verdiği anahtardır. Foreign key, tablolar arasında ilişki kurar ve referans bütünlüğünü sağlar. Böylece bir tabloda yer alan veri, ilişkili olduğu diğer tablodaki geçerli kayıtlarla tutarlı olur. Foreign key kullanımı, veri tutarsızlıklarını engeller.
Veri Tipleri IVeritabanlarında sütunlara atanacak veri türleri, o sütunda saklanacak bilgilerin yapısına göre belirlenir. Doğru veri tipi seçimi, veri doğruluğu, performans ve depolama açısından önemlidir.
Temel Veri Tipleri:
INTEGER (INT): Tam sayıları saklar.
VARCHAR(n): Değişken uzunlukta karakter dizisi. n maksimum karakter sayısını belirtir.
CHAR(n): Sabit uzunlukta karakter dizisi.
BOOLEAN: Doğru/yanlış (true/false) değerleri tutar.
DATE: Yalnızca tarih bilgisi saklar (gün/ay/yıl).
TIMESTAMP: Tarih ve saat bilgisini birlikte tutar.
DECIMAL(p, s): Ondalıklı sayılar için kullanılır; p toplam basamak sayısı, s ise ondalık basamak sayısıdır.
Veri tipleri, sütunların doğru ve etkin şekilde kullanılmasını sağlar. Örneğin, sayısal işlemler için INTEGER veya DECIMAL, metin işlemleri için VARCHAR tercih edilir.
Veri Tipleri IIVeri Tipleri II modülünde, temel veri tiplerinin ötesinde veritabanlarında sık kullanılan gelişmiş ve özel veri tipleri ele alınır. Bu modül, metin, sayısal, ikili ve yapılandırılmış veri formatları için kullanılan farklı veri tiplerinin ne işe yaradığını ve nasıl kullanıldığını öğretir. Örneğin, uzun metinler için TEXT, ondalıklı sayılar için FLOAT ve DOUBLE PRECISION, ikili veriler için BYTEA, JSON formatındaki veriler için JSON ve JSONB gibi veri tipleri detaylandırılır. Ayrıca, benzersiz kimlikler için UUID ve sabit değerler için ENUM tipi gibi özel veri tiplerine de değinilir. Modül, doğru veri tipi seçiminin performans ve veri bütünlüğü açısından önemini vurgular.
NOT NULL ve ALTERNOT NULL
Bir sütunun değerinin boş (NULL) olmasını engelleyen bir kısıtlamadır.
Bir sütun NOT NULL olarak tanımlandığında, o sütuna mutlaka bir değer girilmek zorundadır. Veritabanı, bu sütun için NULL değerlerin kaydedilmesini reddeder. Bu sayede veri bütünlüğü sağlanır.
ALTER
Veritabanındaki mevcut tablolar üzerinde değişiklik yapmak için kullanılan SQL komutudur.
ALTER komutu ile tabloya yeni sütun ekleyebilir, mevcut sütunun veri tipini değiştirebilir, sütun adı veya kısıtlamaları güncelleyebilirsiniz.
Örnek kullanımlar:
Tabloya sütun eklemek
Sütun veri tipini değiştirmek
Sütunu NOT NULL yapmak veya kaldırmak
Sütun adını değiştirmek
PostgreSQL -JOIN YAPILARIYeni Açıklama
4 licoes
INNER JOINBu modülde, SQL'de birden fazla tabloyu ilişkilendirerek veri çekmenin temel yolu olan INNER JOIN yapısını öğreneceksin. INNER JOIN, iki tablo arasında ortak sütunlar (genellikle foreign key ve primary key ilişkisi) üzerinden eşleşen kayıtları döndürür. Sadece her iki tabloda da eşleşen veriler varsa sonuç kümesine dahil edilir.
Bu modül
LEFT JOINLEFT JOIN, veritabanı tabloları arasında ilişki kurmak ve birinci (sol) tabloda bulunan tüm verileri listelemek için kullanılır. Eğer sağ tablodan eşleşen bir veri varsa o da gösterilir, ancak eşleşme yoksa sağ tablonun sütunları için NULL değeri döner.
Bu modül kapsamında öğrenci aşağıdaki kazanımları elde eder:
RIGHT JOINRIGHT JOIN, SQL'de tablolar arasında ilişki kurarken kullanılan bir birleştirme (join) türüdür. Bu yapıda sağdaki tablo (right table) referans alınır. Yani sağdaki tabloda bulunan tüm kayıtlar alınır, soldaki tabloyla eşleşen kayıtlar varsa birleştirilir, eşleşmeyenler içinse soldaki tablo sütunlarında NULL değer döner.
FULL JOINVeritabanlarında farklı tablolardan veri çekerken bazen hem bir tabloda olup diğerinde olmayan verileri hem de iki tabloda ortak olan verileri birlikte görmek isteyebiliriz. Bu gibi durumlarda FULL JOIN kullanılır.
FULL JOIN, hem LEFT JOIN hem de RIGHT JOIN işlemini birleştirir. Yani:
Sol (left) tablodaki tüm veriler alınır,
Sağ (right) tablodaki tüm veriler alınır,
Eğer iki tabloda da eşleşen kayıtlar varsa birleştirilir,
Eşleşmeyen kayıtlar varsa karşılığı NULL olarak döner.
Bu JOIN türü sayesinde her iki tablonun birleşimi elde edilir ve eksik eşleşmeler NULL ile gösterilir.