vuoi
o PayPal
tutte le volte che vuoi
Formattazione del testo
ESAMIMatricola Voto Lode212/111111 24 lodeIn questo caso l'attributo voto ha come dominio i valori che sono tra 18 e 30 e la lode può esservi oppure no. In questo caso vincoli di dominio non vengono violati, perché considerati singolarmente, sono corretti. Viceversa non viene rispettato il vincolo di tupla, in quanto non è pensabile che venga assegnata la lode se il voto non è uguale a 30.
Vincoli tra relazioniTipicamente può essere richiesto che (e quindi può essere stabilito un vincolo secondo cui) un certo numero di targa non compaia nella relazione Multa se non figura prima nella relazione Infrazioni. Esiste un altro genere di vincolo detto vincolo di integrità referenziale, che poggia sul concetto di chiave.
CHIAVIUna delle principali regole, che il metodo relazionale impone, è l'unicità della tupla all'interno della relazione. Infatti il metodo relazionale si basa sulla definizione di prodotto cartesiano.
che esclude la possibilità di ripetizioni. Prendiamo in considerazione una generica relazioner
, dotata di k
attributi. Per comodità, allora, definiamo X
come l'insieme degli attributi su r
, tale che X = {A1, A2,..., Ak}
poiché una relazione senza attributi non ha senso, possiamo supporre che X
non sia vuoto. All'interno di una relazione, allora, non possono esservi tuple uguali, cioè, aventi i valori degli attributi tutti uguali, formalizzando: ∀ t1, t2 ∈ r(X), t1[X] ≠ t2[X]
(con i ≠ j
) dove per X
consideriamo l'insieme di tutti gli attributi sulla relazione. Supponiamo di prendere un sottoinsieme di X
, K ⊆ X
cioè solo una parte degli attributi di r
, in particolare:
- se
K = X
per quanto detto sopra ogni tupla è identificabile univocamente. - se
K ⊂ X
possono verificarsi due condizioni:- se
∀ K
è superchiavet1[K] ≠ t2[K]
(coni ≠ j
) vale a dire che il sottoinsiemeK
degli attributi
- se
cognome} edessendo possibile l'identificazione univoca di ogni singola tupla, K è detta superchiave.
È bene notare che la superchiave può non essere unica: considerato K = {matricola, cognome}, K è ancora superchiave.
Consideriamo ancora K, ripetendo, di fatto il ragionamento precedente e supponiamo che K sia superchiave.
Se non esiste un sottoinsieme di attributi incluso in K, tale da non costituire una superchiave, allora K è detto superchiave minimale.
∃ ⊆ ⇒ K' K : K' è superchiave K è superchiave minimale