Benzersiz ve Birincil Anahtar İndeksleri
PostgreSQL'in birincil anahtarları ve benzersiz kısıtlamaları otomatik olarak indekslerle nasıl desteklediğini ve veri bütünlüğünü verimli biçimde uygulamak için benzersiz indeksleri nasıl kullanacağınızı öğrenin.
Benzersiz ve Birincil Anahtar İndeksleri, CoddyKit'te ücretsiz bir Advanced PostgreSQL: Indexing, Partitioning, Replication dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Advanced PostgreSQL: Indexing, Partitioning, Replication öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Advanced PostgreSQL: Indexing, Partitioning, Replication kursu toplamda 4 dersten oluşur.
Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.
Constraints Need Indexes
To enforce uniqueness, PostgreSQL must check existing rows fast — so it auto-builds a unique index behind every unique constraint and primary key.
Primary Key Index
Declaring a primary key creates a unique B-tree index on those columns and marks them NOT NULL. The code shows it in action.
CREATE TABLE users (
id SERIAL PRIMARY KEY,
email TEXT
);The Hidden Index
That primary key silently builds an index called users_pkey. You never wrote CREATE INDEX, yet lookups by id are already fast.
Unique Constraints
A UNIQUE constraint also creates a supporting index and rejects duplicate values — the ALTER TABLE below adds one.
ALTER TABLE users ADD CONSTRAINT users_email_key UNIQUE (email);Standalone Unique Index
You can build a unique index directly, without a named constraint — it still enforces uniqueness, as the code shows.
CREATE UNIQUE INDEX idx_users_email ON users (email);Multi-Column Uniqueness
Index multiple columns together for multi-column uniqueness — like one membership per user per group. The code makes the pair unique.
CREATE UNIQUE INDEX idx_membership ON memberships (user_id, group_id);NULLs and Uniqueness
PostgreSQL treats NULLs as distinct by default, so a unique column allows many NULLs. Add NULLS NOT DISTINCT to forbid more than one.
CREATE UNIQUE INDEX idx_code ON items (code) NULLS NOT DISTINCT;Partial Unique Index
A partial unique index enforces uniqueness only on rows matching a WHERE clause — for example, one active session per user.
CREATE UNIQUE INDEX idx_active ON sessions (user_id) WHERE active;Dual Benefit
A unique index gives you two things at once: data integrity and fast lookups. The planner uses it like any other B-tree index.
Constraint vs Index
The constraint is the logical rule; the index enforces it. You can't drop the index without the constraint, and foreign keys can reference these columns.
Cost Awareness
Unique indexes add write overhead since every insert checks for duplicates. Index only the columns that genuinely need to be unique.
Quick Check
Primary keys, NULLs, partial indexes — let's see what stuck about unique indexes.
Recap
Recap: every primary key and unique constraint is backed by a unique B-tree index for integrity plus speed. You can also go standalone, multi-column, or partial — but each adds write cost.
Sıkça Sorulan Sorular
“Benzersiz ve Birincil Anahtar İndeksleri” dersi ücretsiz mi?
Evet — “Benzersiz ve Birincil Anahtar İndeksleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Advanced PostgreSQL: Indexing, Partitioning, Replication kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Advanced PostgreSQL: Indexing, Partitioning, Replication kursu toplamda 4 dersten oluşur.
“Benzersiz ve Birincil Anahtar İndeksleri” dersinde ne öğreneceğim?
PostgreSQL'in birincil anahtarları ve benzersiz kısıtlamaları otomatik olarak indekslerle nasıl desteklediğini ve veri bütünlüğünü verimli biçimde uygulamak için benzersiz indeksleri nasıl kullanacağ… Advanced PostgreSQL: Indexing, Partitioning, Replication ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Advanced PostgreSQL: Indexing, Partitioning, Replication öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Advanced PostgreSQL: Indexing, Partitioning, Replication, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Benzersiz ve Birincil Anahtar İndeksleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Advanced PostgreSQL: Indexing, Partitioning, Replication dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Advanced PostgreSQL: Indexing, Partitioning, Replication dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Dizinler Neden Önemlidir
- B-Tree Dizinlerinin Temelleri
- Dizin Oluşturma ve Kaldırma
- Benzersiz ve Birincil Anahtar İndeksleri