Data Definition Language: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Riga 66:
==== Vincoli ====
I vincoli di integrità sono delle proprietà che devono essere soddisfatte dalle istanze che rappreentano informazioni corrette per l'applicazione. Ogni vincolo può essere visto come un predicato che associa ad ogni istanza il valore vero o falso. Se il predicato assume il valore vero diciamo che l'istanza soddifa il vincolo. In generale ad un schema di base di dati associamo un insieme di vincoli e consideramio corrette (o lecite, o ammissibili) le istanze che soddisfano tutti i vincoli.
I vincoli sono di vari tipi.
====='''Vincoli Intrarelazionali'''=====
* Interrelazionali: Sono vincoli che definiscono i legami tra due o più tabelle.Il vincolo interrelazionale più utilizzato è sicuramente quello di integrità referenziale, cioè attributi che possono assumere soltanto dei valori specificati in un'altra tabella. [[SQL]] permette di utilizzare questa regola tramite un apposito costrutto, foreign key (chiave esterna): si crea un collegamento tra gli attributi della tabella che state creando con un insieme di attributi di una tabella già esistente.Chiameremo slave la tabella da creare, master l'altra. L'unica imposizione che deve essere rispettata è che nella tabella master gli attribuiti a cui si riferisce siano dichiarati come unique; generalmente essi sono delle chiavi primarie quindi l'unicità è assicurata.Se dovessimo utilizzare il legame tra un solo attributo della tabella slave con un solo attributo della tabella master si utilizza il costrutto '''references'''.Ogni qual volta si utilizza la foreign key bisogna sempre specificare a quale attributo ci stiamo riferendo, facendo seguire alla chaive esterna il comando references.▼
====='''Vincoli di Tupla'''=====
Un vincolo di tupla è un vincolo che può essere valutato su ciascuna tupla indipendentemente dalle altre: i vincoli relativi ai primi due casi rientrano in questa categoria.
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.
====='''Vincoli Interrelazionali'''=====
▲
SQL inoltre mette a disposizione delle tecniche quando si violano i vincoli di integrità interrelazionali.I casi sono cancellazione o aggiornamento: <br>
|