Logo NEXUS

NEXUS didattica

← Torna indietro
Informatica / Lezione Teorica

Chiavi Primarie ed Esterne

Meccanismi di indicizzazione logica, unicità dei record, integrità referenziale e regole di cancellazione/aggiornamento.

1. Il Ruolo Critico delle Chiavi nei Database

All'interno di un sistema di gestione di basi di dati relazionali (DBMS), le chiavi rappresentano il pilastro fondamentale per garantire che i dati siano organizzati senza ambiguita e che i collegamenti tra tabelle diverse rimangano validi nel tempo.

Concetti Chiave:

1. Chiave Primaria (Primary Key - PK): Attributo o combinazione di attributi che identifica in modo univoco ciascuna tupla di una relazione. Proprietà imprescindibili: unicità e obbligatorietà (NOT NULL).
2. Chiave Esterna (Foreign Key - FK): Attributo di una tabella che fa riferimento alla chiave primaria di un'altra tabella (o della stessa), stabilendo una relazione logica.

2. Integrità Referenziale

L'integrità referenziale è un vincolo imposto dal DBMS per assicurare che non esistano riferimenti orfani tra le tabelle. In pratica: un valore inserito come chiave esterna in una tabella dipendente deve obbligatoriamente esistere come chiave primaria nella tabella di origine (referenziata).

Quando si modificano o si eliminano record nella tabella principale, il DBMS gestisce il vincolo attraverso specifiche politiche:

3. Confronto Operativo tra PK e FK

Caratteristica Chiave Primaria (PK) Chiave Esterna (FK)
Tabella di appartenenza Definita direttamente nella tabella dei dati principali. Definita nella tabella dipendente o associativa.
Valori Nulli Non ammessi in alcun modo (NOT NULL rigoroso). Può ammettere valori nulli (se l'associazione è opzionale).
Duplicati Assolutamente vietati (unicità garantita da indice univoco). Permessi (più record dipendenti possono riferirsi alla stessa PK).

4. Simulatore Interattivo: Violazione e Gestione Vincoli

Simula l'inserimento di dati o la violazione dei vincoli di integrità referenziale tra tabelle collegate in un database scolastico.

constraint-checker@nexus-sys:~# Integrity Engine Simulator
> [READY] Seleziona un test sui vincoli di chiave primaria ed esterna per simulare la risposta del DBMS.