definizione di dipendenza funzionale

una dipendenza funzionale su R è una coppia ordinata di sottoinsiemi non vuoti X ed Y di R si legge “X determina (funzionalmente) Y”

  • X si dice determinante
  • Y si dice dipendente

dati uno shcema R e una dipendenza funzionale X->Y su R, un’istanza soddisfa la dipendenza funzionale X->Y se:

(implicazione logica)

  • essenzialmente, le dipendenze funzionali esprimono dei vincoli sui dati (es. se il codice fiscale di due persone è uguale, lo deve essere anche la data di nascita)

esempio

  • in una relazione che rappresenta esami, non c’è dipendenza funzionale Voto -> Lode perché si può prendere 30 senza prendere la lode, e neanche Lode->Voto, perché non prendere la lode non determina il voto, che può essere tra il 18 e il 30

un’istanza si dice legale se rispetta tutte le dipendenze in F


center dato uno schema di relazione R e un insieme F di dipendenze funzionali su R, ci sono delle dipendenze funzionali che non sono in F, ma sono soddisfatte da ogni istanza legale di R.

per esempio:

sarà sempre vero per ogni istanza legale - quindi, sarà soddisfatta anche Matricola -> DataNascita

chiusura di un insieme di dipendenze fuzionali

definizione

dato uno schema di relazione R e un insieme F di dipendenze funzionali su R, la chiusura di F è l’insieme di dipendenze funzionali che sono soddisfatte da ogni istanza legale di R.

si denota con:

e si ha che:

chiave

definizione

dati uno schema di relazione R e un insieme F di dipendenze funzionali, un sottoinsieme K di uno schema di relazione R è una chiave di R se:

  1. (in qualche modo, in questo insieme di dipendenze è presente la dipendenza K -> R - questa condizione la rende superchiave -perché sia chiave serve: )
  2. non esiste un sottoinsieme proprio K' di K tale che:

per esempio, per uno schema Studente = Matricola, Cognome, Nome, Data:

  • il numero di matricola viene assegnato allo studente per identificarlo
  • poiché non ci possono essere due studenti con lo stesso numero di matricola, non ci possono essere due tuple con la stessa Matricola.
  • quindi Matricola -> Matricola, Cognome, Nome, Data deve essere soddisfatta da ogni istanza legale - matricola è chiave per studente.

chiave primaria

dato uno schema di relazione R e un insieme F di dipendenze funzionali, possono esistere più chiavi di R

  • in SQL, una chiave sarà scelta come chiave primaria, e questa non potrà assumere valore nullo

dipendenze funzionali banali

Sono dipendenze che non vale la pena specificare. Sono date da:

perciò, ogni istanza di r soddisfa necessariamente la dipendenza funzionale (es. Nome, Cognome Nome)

Pertanto, se è detta dipendenza banale.

Dati uno schema di relazione R e un insieme di dipendenze funzionali F, si ha:

domande orale

possibili domande orale

  • cos’è una dipendenza funzionale? quando è soddisfatta?
  • cos’è una chiave?
  • cos’è un’istanza legale?
  • cos’è la chiusura di un insieme di dipendenze F?
  • cos’è una dipendenza banale?