Apri il menu principale

In informatica un vincolo di integrità dei dati è una proprietà che deve essere soddisfatta dalle istanze di una base di dati. Ogni vincolo può essere visto come un predicato che può assumere il valore vero o falso: l'istanza soddisfa il vincolo, se il predicato assume il valore vero, viceversa se assume valore falso. In generale a uno schema di base di dati si associa un insieme di vincoli e si considerano corrette (lecite o ammissibili) solo le istanze che soddisfano tutti i vincoli predefiniti.

Esistono due grandi tipologie di vincoli: quelli intrarelazionali che interessano una sola tabella e quelli interrelazionali che definiscono legami tra due o più tabelle.

Indice

DescrizioneModifica

L'integrità referenziale è un vincolo di integrità di tipo interrelazionale ovvero una proprietà dei dati che, se soddisfatta, richiede che ogni parametro di un campo (riga) di una relazione (tabella) esista come valore di un altro attributo in un'altra (o nella stessa) relazione.

Vincoli intrarelazionaliModifica

Fanno parte dei vincoli intrarelazionali tutti quei vincoli il cui soddisfacimento è definito per singole relazioni, ovvero tutte le istanze di una relazione devono soddisfare tutti i vincoli che sono definiti sulla relazione stessa.

Chiave primariaModifica

Una chiave primaria ('primary key') serve a identificare univocamente le righe della tabella ove essa è definita. Può essere specificato una sola volta per tabella, dichiarando uno o più attributi o campi dato come chiave primaria. Due righe distinte non possono avere lo stesso valore sui campi scelti come 'primary key'. Ovviamente non può assumere valore nullo (falso).

Chiave univocaModifica

Una chiave univoca (unique key) implementa una caratteristica simile alla chiave primaria, con la particolarità che gli attributi coinvolti possono assumere il valore nullo. Si può definire il vincolo su uno o più attributi della tabella.

Vincoli di tuplaModifica

Un vincolo di tupla o record è un vincolo che può essere valutato su ciascuna tupla indipendentemente dalle altre. Un vincolo definito con riferimento a singoli valori viene detto vincolo su valori o vincolo di dominio in quanto impone una restrizione sul dominio dell'attributo.

Un esempio è il vincolo not NULL, usato per dichiarare che un dato attributo non può assumere il valore nullo. Solitamente questo attributo viene corredato da un valore di default, che viene assegnato automaticamente all'atto della creazione di una nuova tupla.

Vincoli interrelazionali (o extrarelazionali)Modifica

Il vincolo interrelazionale più utilizzato è il vincolo di integrità referenziale: gli attributi di una data tabella (slave) possono assumere soltanto dei valori specificati in un'altra tabella (master). I vari linguaggi per basi dati solitamente implementano appositi costrutti per questo vincolo (ad esempio la foreign key o chiave esterna in SQL).

Voci correlateModifica

  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica