PostgreSQL Kursu

PostgreSQL ve SQL öğren: veri tipleri, kısıtlar, JOIN'ler, gruplama, window fonksiyonları, EXPLAIN ile index'ler, transaction'lar ve eşzamanlılık.

2 kategoride 14 ders

PostgreSQL Temelleri

PostgreSQL ve İlişkisel Model

İlişkisel bir veritabanının ne olduğu, PostgreSQL'in özellikle ne olduğu, Spring Boot → Spring Data JPA → Hibernate → SQL → PostgreSQL yığını, ve bu projenin gerçek TopicRepository'sinin bir çağrısının bu yığından nasıl geçtiği -- hiç SQL sözdizimi olmadan, yalnızca zihinsel model. PostgreSQL kursunun ve PostgreSQL Foundations kategorisinin 1.'si.

Başlangıç 15 dk
İncele →

PostgreSQL'e Bağlanmak: psql ve Gerçek Bir Spring Boot DataSource

Docker ile yerel bir PostgreSQL çalıştır, psql ile doğrudan bağlan, ve bu projenin kendi Spring Boot DataSource yapılandırmasının PostgreSQL seviyesinde gerçekte ne anlama geldiğini gör. PostgreSQL Foundations kategorisinin 2.'si.

Başlangıç 15 dk
İncele →

Databases, Schemas, Tables, and Basic SQL Syntax

Sunucu → veritabanı → şema → tablo hiyerarşisi, CREATE TABLE sözdizimi bu projenin kendi gerçek V1__init_schema.sql'i üzerinden okunarak, kolon tanımları/kısıtlar, SQL yorumları, ve DDL ile DML arasındaki ilk ayrım. PostgreSQL Foundations kategorisinin 3.'sü.

Başlangıç 20 dk
İncele →

PostgreSQL Data Types

INTEGER/BIGINT/BIGSERIAL, VARCHAR/TEXT, BOOLEAN, ve DATE/TIMESTAMP/TIMESTAMPTZ -- her birinin bu projenin kendi gerçek Topic/TopicTranslation/Question entity'lerindeki karşılık gelen Java alan türüne (Long/String/boolean/LocalDateTime) nasıl eşlendiği. PostgreSQL Foundations kategorisinin 4.'sü.

Başlangıç 20 dk
İncele →

Constraints and Keys

PRIMARY KEY, FOREIGN KEY ve referential integrity, ON DELETE CASCADE vs. RESTRICT (bu projenin kendi quiz_question_link tablosundaki gerçek kontrastıyla), composite UNIQUE, CHECK kısıtları, ve BIGSERIAL PRIMARY KEY'in GenerationType.IDENTITY'ye nasıl bağlandığı. PostgreSQL Foundations kategorisinin 5.'si.

Başlangıç 20 dk
İncele →

Inserting, Updating, and Deleting Data

INSERT/UPDATE/DELETE, bu projenin kendi gerçek INSERT ... SELECT ve UPDATE ... WHERE migration'larıyla, RETURNING, ON CONFLICT (upsert), ve Flyway'in migration'ların neden hiç ON CONFLICT'e ihtiyaç duymadığını nasıl garanti ettiği. PostgreSQL Foundations kategorisinin 6.'sı.

Orta 25 dk
İncele →

SELECT and Filtering

SELECT'in temel şekli, SELECT * yerine kolonları açıkça adlandırma, karşılaştırma/mantıksal operatörler, LIKE desen eşleştirme, IN/BETWEEN, ve NULL'ın neden = ile değil yalnızca IS NULL ile filtrelenebildiği -- bu projenin kendi gerçek topic/category tablosu üzerinde. PostgreSQL Foundations kategorisinin 7.'si.

Başlangıç 20 dk
İncele →

Sorting, Limiting, and Pagination

ORDER BY, LIMIT/OFFSET, ve NULLS FIRST/LAST -- Spring Data JPA kursundaki Pageable/Sort/Page<T>'in altta gerçekte hangi ham SQL'e dönüştüğü, bu projenin kendi gerçek topic tablosu üzerinde. PostgreSQL Foundations kategorisinin 8.'i.

Orta 20 dk
İncele →

JOINs

INNER/LEFT/RIGHT/FULL JOIN, bu projenin kendi gerçek topic→category→course zinciriyle ve gerçek TopicRepository.findBySlugWithCategoryAndCourse JPQL join fetch'iyle -- ve "henüz İngilizce'de yayınlanmamış topic'leri bulma" gibi gerçek bir LEFT JOIN örneğiyle. PostgreSQL Foundations kategorisinin 9.'u.

Orta 25 dk
İncele →

Aggregation and GROUP BY

COUNT/SUM/AVG/MIN/MAX, GROUP BY, ve HAVING -- Spring Data JPA'nın Pageable/Sort/projection kelime dağarcığında hiç karşılığı olmayan, tamamen yeni materyal -- bu projenin kendi gerçek "kategori başına topic" LEFT JOIN + GROUP BY sorgusuyla. PostgreSQL Foundations kategorisinin 10.'u ve SONUNCUSU.

Orta 20 dk
İncele →

İleri PostgreSQL

Subqueries, CTEs, and Window Functions

Scalar ve korelasyonlu subquery'ler, WITH (CTE) zincirleme, ve window fonksiyonları (ROW_NUMBER, RANK, PARTITION BY) -- GROUP BY'nin aksine satırları çökertmeden onlar arasında hesaplama, bu projenin kendi gerçek topic tablosuyla. Advanced PostgreSQL kategorisinin 1.'i.

İleri 30 dk
İncele →

PostgreSQL-Specific Data Types: UUID, JSON/JSONB, and Arrays

UUID (BIGSERIAL'a alternatif olarak, trade-off'larla), JSON vs. JSONB, ->/->>/@> ile JSONB sorgulama, ve array'ler (ANY/@>/unnest) -- bu projenin gerçek şemasının hiçbirini kullanmadığı dürüstçe belirtilerek, illüstratif ama bu projenin domain'ine bağlı örneklerle. Advanced PostgreSQL kategorisinin 2.'si.

İleri 30 dk
İncele →

Indexes and Query Performance with EXPLAIN

EXPLAIN/EXPLAIN ANALYZE, Seq Scan vs. Index Scan, bu projenin kendi gerçek idx_topic_category B-tree index'iyle CREATE INDEX, partial/expression index'ler, ve OFFSET'in maliyetine keyset pagination'la geri dönüş. Advanced PostgreSQL kategorisinin 3.'ü.

İleri 30 dk
İncele →

Transactions and Concurrency in PostgreSQL

psql'de gerçek BEGIN/COMMIT/ROLLBACK, MVCC'nin mekanik açıklaması (xmin/xmax), SELECT ... FOR UPDATE ile satır-seviyesi kilitleme, ve bilerek üretilip açıklanan bir deadlock -- "Transaction Management"in isolation kapsamını TEKRARLAMADAN. Advanced PostgreSQL kategorisinin 4.'ü ve SONUNCUSU -- PostgreSQL kursunun 14/14 topic'ini tamamlıyor.

İleri 30 dk
İncele →