Advanced PostgreSQL: Indexing, Partitioning, Replication · Lezione

Indici univoci e chiavi primarie

Comprenda come PostgreSQL supporti automaticamente chiavi primarie e vincoli univoci con gli indici e come usare gli indici univoci per garantire l'integrità dei dati in modo efficiente.

Lezione 4 di 413 passaggi

Indici univoci e chiavi primarie è una lezione Advanced PostgreSQL: Indexing, Partitioning, Replication gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Advanced PostgreSQL: Indexing, Partitioning, Replication, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Advanced PostgreSQL: Indexing, Partitioning, Replication include 4 lezioni in totale.

Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.

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.

Gratis per iniziare

Impara Advanced PostgreSQL: Indexing, Partitioning, Replication con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
11
Lezioni
44

Domande Frequenti

La lezione «Indici univoci e chiavi primarie» è gratuita?

Sì — il testo completo di «Indici univoci e chiavi primarie» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Advanced PostgreSQL: Indexing, Partitioning, Replication, passa a CoddyKit PRO. Il corso Advanced PostgreSQL: Indexing, Partitioning, Replication include 4 lezioni in totale.

Cosa imparerò in «Indici univoci e chiavi primarie»?

Comprenda come PostgreSQL supporti automaticamente chiavi primarie e vincoli univoci con gli indici e come usare gli indici univoci per garantire l'integrità dei dati in modo efficiente. Eserciti Advanced PostgreSQL: Indexing, Partitioning, Replication con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Advanced PostgreSQL: Indexing, Partitioning, Replication?

Non è richiesta alcuna esperienza precedente. Advanced PostgreSQL: Indexing, Partitioning, Replication su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Indici univoci e chiavi primarie»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Advanced PostgreSQL: Indexing, Partitioning, Replication?

Sì. Ogni lezione Advanced PostgreSQL: Indexing, Partitioning, Replication include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Perché gli indici sono importanti
  2. Nozioni di base sugli indici B-tree
  3. Creazione ed eliminazione degli indici
  4. Indici univoci e chiavi primarie
← Torna a Advanced PostgreSQL: Indexing, Partitioning, Replication