Basi di dati elementi

Vincoli di chiave, nel modello relazionale

Cominciamo con un esempio:

Nella relazione sopra, possiamo notare che i valori delle varie tuple sull’ attributo Matricola sono tutti diversi l’uno dall’ altro. Infatti il valore della matricola identifica univocamente gli studenti. Analogamente possiamo notare che non ci sono coppie di tuple con gli stessi valori su ciascuno dei tre attributi Cognome, Nome, Nascita, infatti anche i dati anagrafici identificano univocamente le persone (in questo caso è vero). Intuitivamente una chiave è un insieme di attributi che identifica univocamente le tuple di una relazione. Per formalizzare la definizione , procediamo in due passi:

Nell’ esempio sopra Matricola è una chiave in quanto:

Cognome, Nome, Nascita è un’altra chiave:

Si noti che l’insieme di tutti gli attributi è sempre una superchiave per ogni relazione. Il fatto che su ciascun schema di relazione possa essere definita almeno una chiave, garantisce la accessibilità a tutti i valori di una base di dati, e la loro univoca identificazione. Le chiavi sono lo strumento principale attraverso il quale vengono correlati i dati in relazioni (tabelle) diverse. In presenza di valori nulli però, i valori degli attributi che formano la chiave non permettono di identificare le ennuple come desiderato e né permettono di risalire facilmente ad altre relazioni.

La presenza di valori nulli nelle chiavi deve quindi essere limitata. La soluzione pratica è che per ogni relazione scegliamo una chiave (la chiave primaria) su cui non ammettiamo valori nulli.

Per convenzione gli attributi che compongono la chiave primaria sono sottolineati.























































Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.