Esempio

Schemi di relazione:

  • Studente: Matr, CF, Cogn, Nome, Data, Com
  • Corso: C#, Tit, Doc
  • Esame: Matr, C#, Data, Voto
  • Comune: Com, Prov

Studente

Poiché la matricola determina univocamente uno studente, ad ogni numero di matricola corrisponde:

  • un solo codice fiscale (Matr CF)
  • un solo cognome (Matr Cogn)
  • un solo nome (Matr Nome)
  • una sola data di nascita (Matr Data)
  • un solo comune di nascita (Matr Com)

Quindi un’istanza di Studente per essere legale deve soddisfare la dipendenza funzionale Matr Matr, CF, Nome, Cogn, Data, Com.

Abbiamo trovato che Matr è la chiave.

Un’istanza legale di Studente, per essere legale deve anche soddisfare la dipendenza funzionale CF Matr, CF, Nome, Cogn, Data, Com.

Sia Matr che CF sono chiavi.

Tutte le dipendenze devono avere come determinante una chiave o una superchiave.

Esame

Consideriamo Esame(Matr, C#, Data, Voto).

Assumiamo che formalmente uno studente può sostenere l’esame una volta sola (voto verbalizzato solo alla fine).

Per ogni esame (identificato dallo studente e dal corso, quindi da Matr e C#) esiste:

  • una sola data
  • un solo voto

Quindi ogni istanza legale di Esame deve soddisfare la dipendenza funzionale

Matr, C# Matr, C#, Data, Voto

Quindi Matr, C# è una chiave per Esame (si vede che è anche l’unica).

Corso

La chiave di corso è C#

Comune

La chiave di comune è Com